Pi.MX8 Projekt - Layout des Boards Teil 2

Lukas Henkel
|  Erstellt: März 21, 2024  |  Aktualisiert am: Juli 24, 2024
Pi MX8 Kapitel IV

Kapitel

1
Introduction and Overview
| Created: January 18, 2024
2
Component placement and layout planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming soon

Im letzten Update haben wir uns damit beschäftigt, einen geeigneten Lagenaufbau für das Modul zu definieren sowie das Fanout-Routing für alle auf der Platine platzierten Komponenten hinzuzufügen. Basierend auf all diesen Vorbereitungen sind wir nun fast bereit, die ersten Leiterbahnen zu verlegen. Bevor wir jedoch irgendwelche Komponenten auf der Platine verbinden, müssen wir die Impedanzprofile definieren und die passenden Designregeln für die korrekte Leiterbahnbreite einrichten.

Test of button

Impedanzprofile einrichten

Das Einrichten der Impedanzprofile ist im Layerstack-Manager unkompliziert. Wir müssen sowohl Single-Ended- als auch Differential-Impedanzprofile definieren. Die Informationen, welche Impedanzwerte benötigt werden, können den Schnittstellenstandards und den Hardware-Design-Leitfäden für den NXP i.MX8-Prozessor entnommen werden. Die folgenden Impedanzwerte, sowohl Single-Ended als auch Differential, werden im Design verwendet:

Table of Impedances

Auf dem zuvor definierten Lagenaufbau haben wir vier Signallagen zur Verfügung, die wir für das impedanzkontrollierte Routing verwenden können, nämlich die oberste Lage, L2, L7 und die unterste Lage. Die oberste und die unterste Lage haben jeweils nur eine Referenz-Erdungsebene, während L2 und L7 zwischen zwei Referenzebenen eingebettet sind. Nachdem wir die Impedanzwerte und die Referenzebenen eingegeben haben, wird die Geometrie der Leiterbahnen automatisch berechnet:

Layerstack manager Impedance profile differential 100 Ohm

Layerstack-Manager Impedanzprofil Differential 100 Ohm

Beim Definieren der Leiterbahnengeometrie, insbesondere der Leiterbahnbreite und des Abstands für differentielle Paare, ist es wichtig, den benötigten Verdrahtungsraum im Auge zu behalten. Wenn möglich, möchten wir die Gesamtbreite des differentiellen Paares gering halten, um den benötigten Verdrahtungsraum zu begrenzen. Abhängig von der Dichte der Platine sollte dies auch bei der Definition des Lagenaufbaus berücksichtigt werden.

Einrichten der Designregeln

Es gibt nur noch einen Schritt, bevor wir die ersten Leiterbahnen verlegen können, und das ist, Altium Designer die erforderlichen Leiterbahnbreiten (und Abstände für die differentiellen Paare) je nach Schnittstelle und Verdrahtungsebene mitzuteilen. Die Impedanzwerte werden den entsprechenden Schnittstellen im Schaltplan zugewiesen. Hier können wir mit Direktiven arbeiten, um Netze Netzklassen oder Klassen für differentielle Paare zuzuweisen.

Multiple net classes assigned to a design blanket

Mehrere Netzklassen, die einem Designbereich zugewiesen sind

Im Designregel-Editor können wir nun diese Netze oder Klassen für differentielle Paare anvisieren und die entsprechenden Leiterbahnengeometrien zuweisen. Anstatt die Leiterbahnengeometrie manuell einzugeben, können wir das passende Impedanzprofil wählen, das wir im Layerstack-Manager definiert haben:

Impedance profile used in the design rule dialog – high priority rule overrides impedance profile

Impedanzprofil, das im Designregel-Dialog verwendet wird – Regel mit hoher Priorität überschreibt Impedanzprofil

Beachten Sie, dass wir eine weitere Designregel haben, die in unserem Setup die höchste Regel-Priorität besitzt. Diese Designregel gilt nur für bestimmte Designbereiche, die wir im vorherigen Update erstellt haben. Diese Designbereiche werden direkt unter den Fine-Pitch-Komponenten platziert und ermöglichen es uns, lokal eine Leiterbahnbreite und -abstand von bis zu 85 um im Breakout-Bereich zu verwenden. Die Designregeln für diese Bereiche haben die höchste Priorität, da wir die definierten Impedanzprofile überschreiben müssen. Da wir möglicherweise nicht in der Lage sind, die erforderliche Leiterbahngeometrie innerhalb dieser Bereiche zu befolgen, müssen wir sie so klein wie möglich halten und Leiterbahngeometrien verwenden, die nur dort von den Impedanzprofilen abweichen, wo es absolut notwendig ist. Wenn wir diese Abschnitte sehr klein halten, wird der Gesamteinfluss auf die Signalintegrität des Kanals akzeptabel sein. Allerdings müssen wir dies in unseren Post-Layout-Simulationen überprüfen.

Design rooms in red shown underneath fine-pitch BGAs

Designbereiche in Rot unter Fine-Pitch-BGAs gezeigt

LPDDR4-Routing

Jetzt, da alle Designregeln definiert wurden, können wir mit dem Routing der ersten Schnittstelle beginnen. Auf diesem Board werden wir mit dem DRAM-Interface beginnen.

Sie werden bemerken, dass wir die gesamte Routing-Strategie für dieses Board noch nicht definiert haben. Wir hätten dies tun können, bevor wir irgendwelche Routen platziert haben, und je nach persönlicher Vorliebe ist dagegen nichts einzuwenden. Bei diesem Board habe ich mich entschieden, zuerst die DRAM-Schnittstelle zu routen, um zu sehen, wie viel Platz und wie viele Routing-Layer wir für die DRAM-Schnittstelle zuweisen müssen. Wenn wir den LPDDR4 IC auf zwei oder drei Signallayern routen können, dann können wir ein oder zwei Routing-Layer für andere Schnittstellen in der Nähe zuweisen. Da die DRAM-Schnittstelle ziemlich viel Platz einnimmt, besonders auf einem kleinen Board wie diesem, wäre ein weiterer freier Signallayer sehr wünschenswert.

LPDDR4 Entkopplungskondensatoren

Lassen Sie uns einen schnellen Blick auf das Routing der Entkopplungskondensatoren auf dem LPDDR4 IC werfen. Das Verbinden der Entkopplungskondensatoren war Teil des Breakout-Routings im vorherigen Artikel. Lassen Sie uns das zuerst überprüfen, um zu sehen, ob wir zusätzliche VIAs oder Leiterbahnen auf der Ober- oder Unterseite hinzufügen müssen. Die Tatsache, dass wir gefüllte und abgedeckte VIAs verwenden, kommt uns beim Routing der Entkopplungskondensatoren wirklich zugute.

Jeder Stromanschlusspin auf dem DRAM IC hat seine eigene Durchkontaktierung (VIA), die eine Verbindung zu allen 10 Lagen der Platine herstellen kann. Wir müssen VIAs bei diesen Pins verwenden, da wir es mit Rückströmen auf allen Masseebenen im Stackup zu tun haben. Da die Entkopplungskondensatoren auf der Unterseite der Platine platziert sind, müssen wir auch die VDD- und VDDQ-Strompads auf der Unterseite der Platine verfügbar haben. Der DRAM IC hat einen Pinabstand von 0,65mm in der Y-Achse. Dieser Pinabstand ermöglicht es uns, die Entkopplungskondensatoren direkt zwischen den GND- und VDD/VDDQ-Pads zu platzieren. Diese Anordnung ermöglicht die geringstmögliche Schleifeninduktivität. Wir können nun die Entkopplungskondensatoren gleichmäßig unter den Strompins verteilen.

Die optionalen Taktabschlusswiderstände sind ebenfalls direkt unter den Takt-Pins platziert, jeweils direkt über VIAs mit den Pins verbunden.

Decoupling capacitors placed on bottom side of the LPDDR4 IC

Entkopplungskondensatoren auf der Unterseite des LPDDR4 IC

LPDDR4 Signalverlegung

Da keine zusätzlichen Leiterbahnsegmente für die Entkopplungskondensatoren benötigt werden, können wir den Platz auf der Unterseite für die Signalverdrahtung nutzen. Wir werden uns eng an das Referenzdesign des i.MX 8M Plus halten und alle DQS-Differentialpaare auf der Unterseite der Platine platzieren. Zusätzlich können wir auch die DRAM-Reset- und Clock-Enable-Signale auf der Unterseite platzieren:

DRAM routing bottom side

DRAM-Verdrahtung Unterseite

Die Färbung der Command/Address/Control-Signale unterschiedlich von den DQ-Gruppen hilft uns, eine gute Verdrahtungsstrategie zu identifizieren. Die cyanfarbenen Command/Address/Control-Signale befinden sich alle hinter den ersten beiden Reihen von Signalkontakten auf dem SoC, mit Ausnahme der beiden Uhrensignale. Wenn wir diese Signale auf den inneren Lagen verlegen wollen, müssen wir sicherstellen, dass keine VIAs von den zwei äußeren Reihen von Signalkontakten im Weg sind. Wir können Byte 0 von den Kanälen A und B sowie die Uhrensignale, die alle auf den zwei äußeren Reihen verfügbar sind, direkt auf der oberen Schicht verbinden, ohne eine Schichtänderung zu benötigen:

DRAM top side routing

DRAM-Verdrahtung Oberseite

Das Byte 1 von den Kanälen A und B befindet sich beide in Richtung der Ecke des BGA. Das ist perfekt, da es uns ermöglicht, diese Signale auf L2 zu verlegen und sie mit dem DRAM IC zu verbinden, während immer noch genug Platz zwischen diesen beiden Routing-Gruppen bleibt, um die Befehls-/Adress-/Steuerungssignale zu verbinden:

DRAM L2 routing

DRAM L2 Routing

Streng genommen ändern wir nicht die Referenzebene, sondern führen eine zweite ein, indem wir auf L2 wechseln. Sobald wir eine Spur mit einer zeitlich veränderlichen Spannung über eine Masseebene legen, wird unabhängig davon, ob eine zweite Referenzebene vorhanden ist, ein Strom fließen. Um auch für diese Ströme einen Rückweg zu bieten, verwenden wir Rückweg-VIAs in der Nähe der Lagenübergänge auf der oberen Schicht. Die Signale, die hinter den zwei äußeren Pinreihen unter dem BGA die Schichten wechseln, haben bereits Rückweg-VIAs in der Nähe, die durch die zwei Reihen von Massepins und Masse-VIAs des SoC gebildet werden:

Return path VIAs for the DRAM interface

Rückweg-VIAs für die DRAM-Schnittstelle

Hier ist noch ein Detail, das im Zusammenhang mit den Rückführungswegen beachtet werden sollte. Wir verwenden einen gestaffelten Mikro-VIA-Lagenstapel. Daher müssen die zwei aufeinanderfolgenden Mikro-VIAs mit einem bestimmten Mindestabstand zueinander platziert werden. Ein kurzes Leiterbahnsegment wird benötigt, um eine Verbindung zwischen den zwei aufeinanderfolgenden VIAs herzustellen. Dieses Leiterbahnsegment wird auf der Masseebene unterhalb der oberen und unteren Schicht platziert. Wir müssen vorsichtig sein, keine Schnitte oder Leerstellen auf der Masseebene zu erzeugen, die den Rückführungsweg der Signalleitungen unterbrechen würden:

 Return path management - voids and splits on the left side, improved routing on the right side

Rückführungswegmanagement - Leerstellen und Trennungen auf der linken Seite, verbesserte Verlegung auf der rechten Seite

Durch das Anordnen der Mikro-VIAs und Leiterbahnsegmente in Übereinstimmung mit dem BGA-Raster des DRAM-Bausteins können wir sicherstellen, dass immer eine solide Masseverbindung unterhalb der Signalleitungen vorhanden ist:

Die Leiterbahnen auf der oberen Schicht und auf L2 sind in einem gleichmäßigen Abstand von mindestens 0,275 mm zueinander angeordnet. Dieser Abstand ist notwendig, um sicherzustellen, dass wir kein übermäßiges Übersprechen zwischen diesen Signalen erzeugen. Wir müssen das auch in einer Post-Layout-Simulation überprüfen.

Das Einzige, was jetzt noch zu tun bleibt, um das Routing der DRAM-Schnittstelle abzuschließen, ist das Delay-Tuning. Wir werden dies jedoch jetzt nicht tun. Stattdessen wird das Delay-Tuning für alle Schnittstellen durchgeführt, sobald das Routing abgeschlossen ist. Bei sehr hochdichten Designs oder Schnittstellen, die eine umfangreiche Verzögerungskompensation erfordern, ist es besser, das Längentuning früher als später durchzuführen. Die Timing-Anforderungen bei LPDDR4 sind jedoch nicht allzu streng, daher bin ich zuversichtlich, dass wir keine Probleme bekommen werden, wenn wir uns später darum kümmern.

Das DRAM-Routing ist nun abgeschlossen, und wir können zur Planungsphase des Layouts übergehen und alle anderen Schnittstellen routen. Dies und mehr wird Teil des nächsten Updates zum Open-Source-Compute-Modul-Projekt sein!

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Lukas ist ein leidenschaftlicher Hardware-Designer mit mehr als 10 Jahren Erfahrung in der Elektronikindustrie. Als Mitbegründer seines eigenen Ingenieurdienstleistungsunternehmens hatte er das Privileg, an vielen spannenden Projekten zu arbeiten und Herausforderungen zu meistern, die von präzisem Analogdesign über Hochgeschwindigkeits-PCB-Layout bis hin zur Leistungselektronik reichen.

Als starker Befürworter der Open-Source-Philosophie hat Lukas es sich zum Ziel gesetzt, jedem Interessierten Einblicke in den Aufbau und die Funktionsweise moderner elektronischer Geräte zu geben. Getrieben von diesem Ziel hat er das Unternehmen Open Visions Technology (OV Tech GmbH) gegründet, das darauf abzielt, hochreparierbare, vollständig dokumentierte, hochmoderne Verbraucherhardware auf den Markt zu bringen.

Lukas ist fest davon überzeugt, dass heute jeder mit einer Idee, Antrieb und Leidenschaft außergewöhnliche Dinge schaffen kann, dank des Online-Zugangs zu Know-how und Werkzeugen. Er freut sich darauf, Teil einer enthusiastischen Gemeinschaft zu sein und ist gespannt darauf zu sehen, wie die Menschen ihre Ideen zum Leben erwecken.

Ähnliche Resourcen

Verwandte technische Dokumentation

Zur Startseite
Thank you, you are now subscribed to updates.