DDR3-Memory-Routing und Einstellen von CPU-Lüfter
Für Platinendesigner wird es immer wichtiger, bei der Arbeit mit Mikrocontrollern PCB-Hochgeschwindigkeitsdesigns zu erstellen. Mit der Effizienz von CPU wie der Freescale iMX6 Multicore ARM Gerätefamilie, aber sehr geringen „Kosten pro MIP“ ist es erstrebenswert, Geräte wie dieses zu verwenden, um eine ergiebige Software und Benutzererfahrungen in Ihrem Produkt verfügbar zu machen.
Doch bei der Verwendung dieser extrem kleinen zusätzlichen Speicher-Controller wachsen die Herausforderungen der dichten Hochgeschwindigkeitsspeicherschnittstellen mit DDR3-Memory Layout Richtlinien. In diesem Blog teilt Altium-Benutzer Robert Feranec von der Fedevel Academy ein paar extrem nützliche Tipps mit uns zum Thema Routing von DDR3-Memory-Schnittstellen, die auf seinem Open Source Hardware-Design des iMX6 Rex beruhen, ein kompaktes und effizientes Entwicklungsset für Einplatinencomputer.
Der DDR3-Memory ist so allgegenwärtig, dass es so gut wie ausgeschlossen ist, dass professionellen PCB Designern nicht irgendwann eine Platine unterkommt, die sie unter seiner Verwendung routen müssen. Dieser Artikel vermittelt ein paar Tipps zur genauen Belüftung und Leitung von DDR3-Speicherschnittstellen, selbst bei extrem hoher Dichte und dicht gepackten Platinendesigns.
DDR3-Memory Designregeln und Signalgruppen
Den Anfang machen wir mit den empfohlenen Hochgeschwindigkeitsdesignregeln für das Routen von DDR3 in Gruppen. Beim DDR3-Memory-Layout wird die Schnittstelle in eine Befehlsgruppe, eine Kontrollgruppe, eine Adressgruppe sowie Datenbanken 0/1/2/3/4/5/6/7, Uhren und weiteres unterteilt. Es ist zu empfehlen, dass alle Signale, die zur gleichen Gruppe gehören, auf „die gleiche Weise“ geroutet werden, also mit gleicher Netzstruktur und Schichtübergängen.
Abbildung 1: Alle Signale der DATA 6 Gruppe verwenden das gleiche DDR3-Routing, mit gleicher Netzstruktur und Schichtübergängen.
Als Beispiel sollte man die DDR Routing Reihenfolge in Abbildung 1 hinzuziehen. Alle Signale der DATA 6 Gruppe verlaufen von Schicht 1 bis Schicht 10 und weiter zu Schicht 11 und Schicht 12. Jedes Signal innerhalb der Gruppe verursacht die gleichen Schichtübergänge und übernimmt im Großen und Ganzen die gleiche Routing Entfernung und Netzstruktur.
Einer der Vorteile des Routings der Signale auf diese Weise ist, dass beim Length Tuning (auch Delay Tuning oder Phase Tuning genannt) die Länge der Z-Achse in der Durchkontaktierung ignoriert werden kann. Das liegt daran, dass alle gleich gerouteten Signale über die exakt gleichen Übergänge und Längen verfügen.
Erstellung von DDR3-Memory-Gruppen
Altium Designer® unterstützt die Erstellung nötiger Signalgruppen auf einfache Weise. Dieser Schritt erfolgt im Schaltplan des Projekts. Zunächst wird eine Abdeckung um alle Netzsätze gelegt, aus denen die Gruppen erstellt werden. Anschließend wird eine Netzklasse-Leiterplatte am Rand der Abdeckung befestigt, um der Gruppe eine Netzklasse hinzuzufügen. Ein Beispiel dafür ist in Abbildung 2 zu sehen.
Abbildung 2: Abdeckungen und PCB-Anordnungen werden zur Erstellung von Netzklassegruppen für die DDR3-Routing-Richtlinien verwendet.
Zuordnen von Farben an die Speichergruppen
Nach dem Import der neuen Netzklassen in unsere Leiterplatte (per Engineering Change Order (ECO) unter Design » Update PCB Document...) ist es hilfreich, jeder Gruppe verschiedene Farben zuzuordnen, um das mentale Nachvollziehen des Routings einfacher zu gestalten. Gehen Sie zum PCB Bedienungsfeld, rechter Mausklick auf die Gruppe (Netzklasse), der Sie eine Farbe zuordnen möchten, und dann wählen Sie Netzfarbe ändern aus dem Pop-up Menü aus, wie in Abbildung 3 dargestellt.
Abbildung 3: Das Zuordnen verschiedener Farben für jede Gruppe kann das mentale Nachvollziehen des DDR3-Routings einfacher gestalten.
Wenn Sie ein Farbe ausgewählt haben, klicken Sie mit der rechten Maustaste wieder auf die Netzklasse oder das Netz und wählen Display Override » Selected ON. So wird sichergestellt, dass die von Ihnen ausgewählte Netzfarbe die Farbschichten überdeckt, die aktuell für die Objekte dieses Netzes verwendet werden.
Wenn Sie Net Color Override nicht aktiviert haben, übernehmen die Netze nicht die von Ihnen ausgewählte Farbe. In diesem Fall betätigen Sie die Umschalttaste für View » Net Color Override oder verwenden die Taste F5, um diese Einstellung allumfassend zu aktivieren (für alle Netze). Jetzt sind Sie dazu bereit, die Schnittstelle des CPU zu lüften.
Planen Sie im Voraus, wenn Sie mit dem CPU DDR3-Lüfter arbeiten?
Die Auswahl der richtigen Durchkontaktierung für eine bestimmte Speichergruppe und die Entscheidung, wie PCB Schichten verwendet werden sollen, kann das Layout deutlich einfacher gestalten. Die Zuordnung verschiedener Farben für jede Speichergruppe hilft bei der Visualisierung der Schnittstelle.
Abbildung 4: Die Auswahl der Einstellungen beim DDR3-Routing kann Platz für weitere Leiterbahnen einsparen.
Eine Mikrodurchkontaktierung nimmt im Vergleich zu einer Durchgangskontaktierung weniger Platz in Anspruch. Dadurch können wir mehr Leiterbahnen im selben Bereich belüften. Sie sparen außerdem Platz auf den anderen Schichten ein. Dieser eingesparte Platz kann für Leiterbahnen verwendet werden.
Warum sollte man Mikrodurchkontaktierungen für Adress-, Befehls- und Kontrollsignale verwenden?
Die Adress-, Befehls- und Kontrollgruppen haben die höchste Anzahl an Signalen von allen Speichergruppen. Wenn wir Durchgangskontaktierungen wählen würden, müssten wir viel Platz auf allen Schichten einplanen. Mit Mikrodurchkontaktierungen benötigen wir nur Platz auf Schicht 3 und da sie im Durchmesser kleiner ist, haben wir auch mehr Platz zum Belüften der Signale auf Schicht 3 zur Verfügung.
Abbildung 5: Zwei oder drei Leiterbahnen passen zwischen Mikrodurchkontaktierungen im gleichen Bereich, der für eine Leiterbahn zwischen Durchgangskontaktierungen beim DDR3-Routing benötigt wird.
Warum sollte man Durchgangskontaktierungen für die „naheliegendsten Gruppen“ der Adress-, Befehls- und Kontrollgruppen verwenden?
Manche Signale der Adress-, Befehls- und Kontrollgruppen benötigen den Platz unter den „naheliegendsten Gruppen“.
Abbildung 6: Einige der Adress-, Befehls- und Kontrollleiterbahnen müssen unter den Pads der „naheliegendsten Gruppen“ geroutet werden.
Wenn die Adress-, Befehls- und Kontrollsignalgruppen durch Durchgangskontaktierungen auf Schicht 3 geroutet werden, ist freier Platz unter dieser Gruppe auf Schicht 10 verfügbar. Dieser Bereich kann zur Belüftung der „naheliegendsten Gruppen“ verwendet werden.
Abbildung 7: Der freie Platz unter der gerouteten Gruppen kann zur Belüftung der „naheliegendsten Gruppen“ verwendet werden.
Warum verwenden „außenliegende Gruppen“ Mikrodurchkontaktierungen?
In der vorherigen Abbildung wird klar, dass auf Schicht 10 kein Platz übrig ist, um die „außenliegenden Gruppen“ zu belüften. Das Platzieren der „außenliegenden Gruppen“ auf Schicht 3 und die Verwendung von Mikrodurchkontaktierungen ist also ein Ergebnis der Belüftungsplanung.
Hinweis: Die gleiche „Technik zur Belüftungsplanung“ kann auch auf den anderen Schnittstellen angewendet werden (z.B. PCI, ISA, ... ). Dadurch können selbst dicht bepackte und sehr dichte Designs geroutet werden.
Fazit
Mit ein wenig Sorgfalt und Vorausplanung kann das Routen und Length Tuning von DDR3-Memory-Lüftern ein stressfreies Unterfangen werden, selbst bei sehr kompakten und dicht bepackten Designrichtlinien. Der iMX6 Rex ist ein perfektes Beispiel für diese Sorgfalt und Planung und wurde zum Teil als Hilfsmittel designt, das zeigen soll, wie man es richtig macht. Indem man den Plan und einzelne Schritte von Robert befolgt, kann jedes DDR3-Design deutlich schneller und mit einer höheren Wahrscheinlichkeit eines unmittelbaren Erfolgs fertiggestellt werden.
Und mit dem neuen Altium 365 steht außerdem eine Cloud-Plattform zur Verfügung, mit der Sie eine noch bessere Kommunikation innerhalb Ihres Teams sowie zu Lieferanten gewährleisten können, und zwar von überall aus.
Ein vollständiges Altium Projekt zu den Screenshots kann auf http://www.imx6rex.com/ heruntergeladen werden.
Erleben Sie Altium in Aktion...