Highspeedsignale stellen aufgrund ihrer Charakteristik wie dem Frequenzspektrum eine hohe Herausforderung dar. Die Auswahl einer geeigneten Fertigungstechnologie in Bezug auf Lagenanzahl und Strukturgrößen und des damit verbundenen Layoutaufwands sind ständige Diskussionsthemen zwischen Layoutern und Kunden. In vielen Fällen kommt während der Inbetriebnahme das böse Erwachen, wenn es zu Kommunikationsproblemen zwischen den einzelnen Highspeed-Baugruppen kommt. Gründe hierfür sind:
häufig falsche Leitungsimpedanzen schlecht geführte Leitungspfade überschrittene maximale LeitungslängenAuch kommt es immer wieder zu Problemen bereits während der Fertigung der Platine. Vom ersten Tag an muss eine ständige Abstimmung mit dem Fertiger erfolgen, vor allem in Bezug auf die Materialauswahl und dem Lagenaufbau.
Anbindung von DDR3-Speicherbausteinen
In dem hier beschriebenen Beispielprojekt kamen im wesentlichen ein Xilinx Virtex-6 als FPGA, 1- und 10-Gigabit-Ethernet, PCIexpress, USB, DDR2+RAM und DDR3-RAM im SODIMM-Sockel zur Anwendung. Weiterhin befinden sich auf der Vorder- und Rückseite 1.493 Bauteile. Insgesamt wurden 14 Lagen sowie Strukturen von 80 µm verwendet, um die 5.382 Verbindungen zu realisieren. Aufgrund der Komplexität beschränkt sich dieser Artikel nur auf die Anbindung von DDR3-Speicherbausteinen.
DDR3-Speicherbausteine werden vor allem in Embedded-Systemen eingesetzt. Verschiedene Hersteller von Speicherbausteinen bzw. von Prozessoren helfen beim Routen der Leitungen durch die Vorgabe von Leitungsprioritäten, die in jedem Fall eingehalten werden sollten. Auch werden Signallaufzeiten und die damit verbundenen Leitungslängentoleranzen vorgegeben. Wir verwenden die Designregeln der Firma Xilinx. In vielen Fällen gilt eine maximale Leitungslänge von 75 mm.
Höchste Priorität hat immer die so genannte Data and Strobe Group. Diese besteht immer aus acht Datenleitungen mit zugehörigem Übernahmesignal (Strobe-Signal). Die maximale zeitliche Verschiebung zwischen den Daten- und dem Übernahmesignal darf maximal 5 ps betragen. Dies entspricht etwa einer Toleranz der Leitungslänge von 750 µm. Hierbei muss sich der Layouter im Klaren sein, dass am Speicherbaustein erst alle Daten anliegen müssen, bevor die Signalübernahme durch das Strobe-Signal erfolgen darf. Unbedingt muss auch der Abstand zu den Datenleitungen mindestens 500 µm betragen. Gleiches gilt auch für den Abstand zu den anderen Data and Strobe Groups. Weiterhin sollten alle Signale auf einen Ground-Layer referenzieren, da bei den differentiellen Signalen wie dem Strobe-Signal eine Leitungsimpedanz von 100 Ohm vorgeschrieben ist. Unterbrechungen in der Referenzlage sollten vermieden werden, da sich an dieser Stelle dann eine Impedanzveränderung ergibt. An dieser Stelle passieren die meisten Fehler. Wer die Impedanz nicht einhält, erhält Signalreflexionen, die zu einem unbrauchbaren und nicht funktionierenden Design führen. Bei den differentiellen Signalen muss weiterhin auch auf die differentielle Leitungsführung geachtet werden. Unterschiede zwischen den P- und N-Signalen des Strobe-Signals müssen so kurz wie möglich ausgeglichen und eine Toleranz von 750 µm eingehalten werden. Außerdem sollte der Längenausgleich segmentweise durchgeführt werden.
Die nächste Priorität beim Routen haben die Address and Control Group. Diese beinhaltet die Adressleitungen sowie die globalen Steuersignale. Diese Gruppe sollte auf einer anderen Leiterplattenlage als die zuvor genannte Gruppe geroutet werden. Dieses Vorgehen verhindert unnötige Signalstörungen. Die Signale dieser Gruppe können sowohl auf eine Ground- oder Powerlage referenziert werden. Auf die Leitungsimpedanzen ist auch hier wieder zu achten.
Die niedrigste Priorität hat das globale Clock-Signal. An dieses sind auch verschiedene Bedingungen bezüglich Leitungslänge geknüpft. Zu den Strobe-Signals muss eine Toleranz von 6 mm eingehalten werden. Allerdings gilt auch, dass die Toleranz zu den Adress- und Steuersignalen von 7,5 mm eingehalten werden muss.
Vias auf Innenlagen
An dieser Stelle sollte noch kurz auf die Verwendung von Vias in den Leitungen eingegangen werden. Alle Signalleitungen sollten auf den Innenlagen geroutet werden. Das hat den großen Vorteil, dass sie vor allem gegenüber äußeren Störsignalen geschützt sind. Weiterhin wird man es nicht vermeiden können, auch die Innenlagen zu verwenden. DDR3-Speicher gibt es oft in einem platzsparenden BGA-Gehäuse. Aufgrund des geringen Abstandes der Kontakte muss man zwangsweise über Vias auf die Innenlagen ausweichen. Das bringt allerdings auch Nachteile mit sich.
Jedes Via bringt einen Impedanzsprung sowie eine parasitäre Induktivität und Kapazität mit sich. Die Größe, beispielsweise der Induktivität, hängt vor allem vom Signalrückfluss ab. Idealerweise sollte in unmittelbarer Nachbarschaft noch ein weiteres Via platziert werden, welches die Ground-Lagen verbindet. Der Signalrückfluss findet immer auf der naheliegensten Ground-Lage statt. Verringert man die parasitäre Induktivität, so reduziert man gleichzeitig auch die induktive Störeinkopplung in benachbarte Signalleitungen. Weiterhin kann die Kapazität eines Vias reduziert werden, in dem der Pad-Durchmesser verkleinert wird. Stubs, besonders bei Vias, sollten vermieden werden, weil es zu Signalreflektionen kommen kann. Abhilfe schafft hier die Verwendung von Micro-Vias, die nicht komplett durch alle Lagen gehen, sondern nur beispielsweise von der Außenlage zu der verwendeten Innenlage. Ebenfalls sollten alle Pads auf den Innenlagen, die nicht verwendet werden, entfernt werden. Dadurch reduzieren sich die parasitären Größen eines Vias. Sollte die Referenzlage von der Ground-Lage zur Powerlage oder umgekehrt wechseln, so ist an dieser Stelle unbedingt ein Bypass-Kondensator vorzusehen. Auf dem Markt gibt es mittlerweile verschiedene Programme, mit deren Hilfe Vias berechnet und simuliert werden können.
Durch die Variation des Bohrlochdurchmessers, der Padgröße sowie des Abstandes zur benachbarten differentiellen Leitung lassen sich die Impedanz und die parasitären Größen verändern. Weiterhin können auch Ground-Vias mit simuliert werden, so dass sie auch Aspekte der elektromagnetischen Verträglichkeit betrachten lassen.
Die größte Herausforderung in diesem Projekt war die Entflechtung des BGAs. Es handelte sich dabei um einen Xilinx FPGA mit 1156 Balls, der DDR3-Speicherbaustein wurde über einen SODIMM-Sockel kontaktiert. Ingesamt wurden vier Signallagen für die Data and Strobe Group sowie für die Adress and Control Group verwendet. Die verschiedenen Farben der Leitungen kennzeichnen dabei die unterschiedlichen Leiterplattenlagen. Die Meander in den Leitungen wurden aufgrund der Längenanpassung eingebracht. Alle Signale befinden sich auf den Innenlagen, wobei Micro-Vias zur Anwendung kamen.
Leiterplattenlayouter, die selbst schon die Leitungen zur Anbindung von DDR3-Speicherbausteinen oder anderen Highspeed-Baugruppen durchführen mussten, wissen wie zeitintensiv die Arbeit werden kann. Häufiges Problem stellt der benötigte Platzbedarf für den Längenausgleich dar. Ein Blick in die Datenblätter hilft, die Länge der Bonddrähte zu erfahren und somit zumindest teilweise eine Ersparnis der Leitungslängen zu erhalten. Auch die benötigte Anzahl von Leiterplattenlagen sorgt für immer wiederkehrenden Diskussionsstoff.
Letzten Endes muss man immer einen Kompromiss zwischen Signalintegrität und Fertigungskosten treffen. Letztlich werden immer erst die Inbetriebnahme und die Zuverlässigkeitsuntersuchungen zeigen, ob der gewählte Kompromiss der richtige war.