Bildergalerie
Bild 1: Schaltungsdesign mit komplexem I/O-Multiplexing: Nutzung der I/O-Pins eines SoC für unterschiedliche Funktionen.
Bild 2: So ist es richtig: Der Grundriss lässt eine optimale Platzierung der Bauelemente erkennen.
Bild 3: So ist es falsch: In diesem Grundriss ist die mangelhafte Anordnung der Bauelemente nicht zu übersehen.

SoCs sind höchst komplexe Bauelemente, die zahlreiche Schnittstellen, Takte, Signale, Protokolle und Stromversorgungsanschlüsse in einer winzigen physischen Struktur bündeln. Um derart viele Funktionskombinationen in einem kleinen Gehäuse unterzubringen, bedienen sich die Chipdesigner in der Regel einer ausgefeilten Methode, um einen Pin mit mehreren Funktionen zu belegen. Im Fall des Prozessors Sitara AM3358 [1] von Texas Instruments (TI) lässt sich ein und derselbe Pin für Funktionen wie UART, I2C, GPIO, RGMII-Ethernet oder PWM für Motorsteuerungen nutzen. Diese Praxis, ein und dieselbe physische Struktur (die I/O-Zelle) zu verschiedenen Zeiten für unterschiedliche Schnittstellen zu nutzen, stellt eine Möglichkeit zur Entwicklung kostengünstiger Systemlösungen dar. Auf der Leiterplattenebene allerdings kann ein solches Multiplexing der I/O-Pins eine Reihe von Herausforderungen bergen.

Nutzt man ein komplexes I/O-Multiplexing, kann eine spezifische Problematik aus der Tatsache resultieren, dass ein bestimmtes Leiterplattenlayout nicht unbedingt für alle I/O-Pin-Definitionen optimal geeignet ist. Viele Designaspekte lassen sich überprüfen, sobald die ersten produzierten Leiterplatten eintreffen. Ob eine Leiterplatte effizient entworfen werden kann, hat viel damit zu tun, welche Dinge sich in einer frühen Entwurfsphase verifizieren lassen. Diese Arbeitsgänge können helfen, riskante Aspekte in eine frühere Phase zu verlagern, damit mehr Zeit zum Beheben von Fehlern im Design oder der Implementierung bleibt. Allerdings muss der Leiterplatten-Designprozess teils sorgfältig durchdacht werden, damit die Voraussetzungen für jeden Arbeitsschritt erfüllt sind.

Am richtigen Platz

Die Platzierung der Bauelemente hat enorme Auswirkungen auf die Produzierbarkeit der finalen Leiterplatte. Schließlich ergeben sich aus der optimalen Anordnung Konsequenzen beispielsweise für die Abstände zwischen den Bauelementen, die Effizienz des Bestückungsvorgangs, die Zuführung und Abstände der Kabel sowie Unterschiede im Lötprofil. Auch wenn Zusammenhänge erkennbar sind, handelt es sich um andere Probleme als die bereits erwähnten Schwierigkeiten mit dem I/O-Multiplexing. Aspekte wie das Platzieren von konventionellen und bleifreien Bauelementen unmittelbar nebeneinander machen es schwieriger, das richtige Lötprofil für eine Leiterplatte festzulegen (auch wenn dieses Problem dank der Fortschritte im Bereich der Löttechnik inzwischen entschärft wurde). Bleifreie Bauelemente erfordern in der Regel eine höhere Löttemperatur von 250 °C, während konventionelle Bauelemente möglicherweise mit 220 °C auskommen [2]. Ordnet man solche Bauelemente also direkt nebeneinander an, können sich infolge des Wärmeflusses Probleme einstellen. Dies gilt insbesondere für extrem kleine BGA-Bausteine wie etwa einzelne Gatter, die nur an wenigen Anschlüssen befestigt werden und eine geringere Wärmekapazität besitzen.

Wenn für ein bestimmtes Bauelement besonders strikte Routing-Vorgaben gelten, können sich in einem bestimmten Umkreis Einschränkungen für die Platzierung anderer Bauelemente ergeben. Hochgeschwindigkeits-Schnittstellen wie etwa DDR3 setzen beispielsweise konstante Referenzebenen voraus und müssen effektiv von anderen Schnittstellen isoliert werden. Deshalb können in einer bestimmten Entfernung von DDR3-Speicherbausteinen nur eingeschränkt andere Bauelemente platziert werden. In SoC-Designs werden häufig heterogene Peripheriebausteine eingesetzt, die auf derselben Leiterplatte funktionieren müssen. Das Anfertigen einer prioritätsbasierten Platzierungsanalyse kann helfen, eine einwandfrei funktionierende finale Leiterplatte hervorzubringen. Bei SoC-basierten Designs geht es allgemein hauptsächlich darum, aus dem Ball-Array des SoC herauszukommen. Dies gilt nicht nur für Signale, sondern auch für die Stromversorgungs- und Masseverbindungen. Haben niedrige Kosten hohe Priorität, ergeben sich Einschränkungen dafür, wie die Signale aus der Vielzahl der Kontaktpunkte an der Unterseite des SoC herausgeführt werden können.

Zudem gilt es beispielsweise bei einigen Bauelementen die Gehäusedetails zu beachten, die nicht unbedingt offensichtlich sind. Während es für viele integrierte Schaltungen und diskrete Bauelemente Standardgehäuse gibt, sind bestimmte Gehäuse aufgrund besonderer Attribute empfindlich gegenüber Löt- und anderen Montagefehlern. Unter anderem kann es sich bei diesen Attributen um nicht standardkonforme Pad-Geometrien oder -Belegungen handeln. In der hypothetischen Grafik in Bild 4 etwa kann man wegen des geringen Abstands zwischen den beiden Pin-Paaren auf den ersten Blick den Eindruck gewinnen, dass die Pins 1 und 2 sowie die Pins 3 und 4 kurzgeschlossen sind. Ein Blick in das Datenblatt verrät jedoch, dass in Wirklichkeit die jeweils anderen Pingruppen miteinander verbunden sind. Ein wichtiger Aspekt im Zusammenhang mit der Produzierbarkeit hängt mit der Auswahl der Bauelemente zusammen. Als Leiterplattendesigner konzentriert man sich in der Regel auf die Details des Boards. Einfache Details zu den Bauelementen, wie etwa die Verfügbarkeitsdauer der gewählten Bauteile, können jedoch massive Auswirkungen auf den Bauzeitplan des Boards haben. Im schlimmsten Fall kann sich sogar herausstellen, dass ein bestimmtes Bauelement nicht mehr erhältlich ist und dass es weder ein alternatives Bauelement noch Zweitlieferquellen gibt. Üblicherweise ist dann ein Redesign der Leiterplatte unumgänglich, um das Ersatzbauteil zu berücksichtigen.

Eine Frage der Größe

Normalerweise gilt für eine Leiterplatte der Grundsatz „je kleiner desto besser“, was die mechanischen Abmessungen des Boards betrifft. Je kleiner aber die Leiterplatte ist, umso weniger Platz bleibt für das Verlegen der Leiterbahnen und das Platzieren der Bauelemente. Bei der Suche nach Abhilfen für Platzierungs- und Routingprobleme sind einfache Änderungen wie die Verwendung einer Leiterplatte mit mehr Lagen möglicherweise nicht die richtige Antwort, obwohl sie zunächst attraktiv erscheinen. Nehmen wir als Beispiel eine 120 mm x 95 mm große Leiterplatte, in deren Mitte sich ein SoC-Prozessor befindet, mit einem 17 mm x 17 mm großen BGA-625-Gehäuse mit einem Pitch von 0,65 mm.

Darüber hinaus befinden sich weitere Bausteine auf dem Board, einige davon unter Umständen ebenfalls mit BGA-Gehäusen. Die entscheidende Herausforderung beim Leiterplattenlayout besteht darin, die Leitungen aus dem Ball-Array des SoC herauszuführen. Abhängig davon, wie viele Signale des SoC im Design tatsächlich benötigt werden, kann es überaus schwierig sein, jeden SoC-Pin mit dem entsprechenden Ziel auf der Leiterplatte zu verbinden. Dabei sind die Signalleitungen nur ein Aspekt der Routing-Aufgabe. Ebenso wichtig ist das Power-Distribution-Network (PDN). Bei den modernen SoC-Prozessoren ist die Stromversorgung äußerst wichtig, um schwierig zu diagnostizierende Laufzeitfehler zu vermeiden. Wären Kosten und Zeitaufwand kein Thema, würde man in der Regel einfach die Lagenzahl der Leiterplatte erhöhen und komplexere, kleinere Viatypen verwenden, wie in Bild 5 gezeigt.

Auf diesem Weg lässt sich der durch die Miniaturisierung hervorgerufene Rückgang der für das Routing verfügbaren Fläche und des Volumens (schließlich erfolgt das Routing dreidimensional) kompensieren. Hierzu werden die mechanischen Abmessungen der vertikalen Übergangszonen (Vias) für Signale und Stromversorgung verringert, während die Routing-Fläche in Z-Richtung vergrößert wird. Nachteilig hieran ist, dass jedes zusätzliche Lagenpaar die Leiterplattenkosten und den Zeitaufwand in die Höhe treibt. Sobald die Vias aber keine einheitlichen Durchmesser und Pad-Größen mehr haben und nicht mehr durch den gesamten Lagenaufbau führen, erhöht sich die Zahl der Fertigungsschritte, da vor dem Aufbringen der äußeren Lagen gebohrt werden muss. Muss wegen kleiner Via-Durchmesser auf nicht-mechanisches Bohren zurückgegriffen werden, nehmen auch die Kosten für die Leiterplattenfertigung zu. In der Industrie hat es in dieser Hinsicht in den letzten Jahren viele Verbesserungen gegeben, aber zwölflagige Boards mit Microvias und blinden/vergrabenen Vias sind immer noch teurer als vier- oder sechslagige Leiterplatten mit durchgängigen Vias.

Auf das Signaldesign achten

Es ist wichtig, die für die Leiterplatte geltenden Restriktionen für die Platzierung und das Signaldesign zu spezifizieren und zu verfolgen. Schon allein das Spezifizieren dieser Restriktionen kann Widersprüche zwischen Vorgaben aufdecken, die sich in einer frühen Phase einfach beheben lassen. Zumindest helfen diese Restriktionen beim Lenken des Layouts aus einer proaktiveren Warte, wenn die jeweilige Organisation in Gruppen gegliedert ist. Dies hilft zweifellos, kritische Signale hervorzuheben und deutlich zu machen, wie diese während der Platzierung und des Layouts zu priorisieren sind, damit sich die Signalintegrität der Leiterbahnen verbessert. Bestimmte Signalintegritäts-Anforderungen einiger Schnittstellen bringen es mit sich, dass es auf der Fläche einer Leiterplatte bestimmte vorrangige Routing-Positionen gibt, die aufgrund der Eigenschaften der jeweiligen Lage für kurze Distanzen zwischen bestimmten Bauteilen sorgen, sich hervorragend für Referenzebenen eignen und kürzere Wellenfront-Laufzeiten ergeben. Wenn man darauf achtet, dass kritische Verbindungen diese vorrangigen Routing-Positionen belegen, sinkt das Risiko, dass die resultierende Leiterplatte wegen Crosstalk-Problemen, Stromversorgungs-Rauschen und Bauelemente-Toleranzen versagt.

Auch wenn ein Design den Beweis erbracht hat, dass es spezifikationsgemäß arbeitet, ist damit noch nicht garantiert, dass jedes produzierte Exemplar ebenfalls dieser Spezifikation entspricht. Aufgrund der zahlreichen Variablen, die in die Herstellung einer modernen SoC-basierten Leiterplatte eingehen, können Aspekte wie etwa die Toleranzen der Bauelemente, Löt- und Montagefehler, Fehler bei der Leiterplattenherstellung, Layoutprobleme sowie auch menschliche Fehler dazu führen, dass es bei den Leiterplatten aus der Produktion zu Problemen kommt. Ein korrekter Leiterplatten-Entwicklungsprozess, der auf eine hohe Ausbeute bei der Produktion der finalen Boards zielt, sollte deshalb Diagnoseprüfungen in irgendeiner Form einschließen.

Entwicklung von Diagnoseprüfungen

Mit SoC-Prozessoren bestückte Leiterplatten enthalten mehrere heterogene Schnittstellen mit jeweils ganz spezifischen funktionalen Anforderungen. Aus diesem Grund sollten die Diagnoseprüfungen einen Test oder eine Reihe von Tests für jedes dieser Interfaces enthalten. Es ist sehr vorteilhaft, wenn man die Anforderungen der Leiterplatte kennt und klar definiert, denn dies vereinfacht das Verstehen, Definieren und Schreiben von Tests, mit denen sich bei der Produktion überprüfen lässt, ob ein Board die Anforderungen erfüllt oder nicht. Die Testüberdeckung kann auf der Basis der bekannten Anforderungen und der erkannten Risiken für ein bestimmtes Board abgestimmt werden. Wenn das Design seine Funktionsfähigkeit bewiesen hat, ist wegen des geringeren inhärenten Risikos des Designs eine vollständige Überdeckung der Hardwaretests bei der Produktion nicht notwendig.

Bei den Diagnosen geht es darum, potenzielle Hardwareprobleme aufzudecken. Auch auf diesem Gebiet ist die frühzeitige Verfügbarkeit von Prototyp-Boards überaus wichtig. Die Prototypen lassen sich für die frühzeitige Entwicklung von Designtests verwenden, von denen wiederum das Hardwaredesign profitiert. Die frühen Leiterplatten-Prototypen ermöglichen es ferner, Diagnoseprüfungen als Hilfestellung beim Troubleshooting zu nutzen, wenn das Softwareteam die voll funktionsfähigen und geprüften Leiterplatten erhält. Schließlich kann das Team auf diese Tests zurückgreifen, wenn es bei der Entwicklung auf Probleme stößt. Den letzten Schritt bei der Entwicklung der Diagnosetests bildet das Optimieren der Tests zu ausführbarem Code, der auf jedem Produktionsboard lauffähig ist.

Design for Manufacturability

Einige Teile des Leiterplatten-Entwicklungsprozesses haben besonders großen Einfluss auf die Produzierbarkeit der Leiterplatte. Kennt man diese Aspekte und entwickelt einen Prozess mit dem Ziel, ihre möglichen Auswirkungen einzudämmen, kann dies in erheblichem Maß dazu beitragen, die Produzierbarkeit einer Leiterplatte schon während der Designphase zu verbessern.

electronica 2014: Halle A4 Stand 420