Die verschiedenen DDR-Speicherbus-Generationen unterscheiden sich in der Ansteuerung, was sich auf die Constraints beim Platinen-Layout deutlich auswirkt.

Die verschiedenen DDR-Speicherbus-Generationen unterscheiden sich in der Ansteuerung, was sich auf die Constraints beim Platinen-Layout deutlich auswirkt.Zuken

Dieser Artikel beschreibt wie Double-Data-Rate-Speicher arbeiten und was man beim Platinen-Layout beachten muss. Zuken erklärt dabei den Unterschied zwischen minimalen/maximalen Längen- zu entsprechenden Signallaufzeit-Constraints sowie den Unterschied zwischen einfachen Signallaufzeitunterschieden (Skew) und solchen bezogen auf die relative Längen anderer Signale. Der Entwickler erfährt, wann es sich empfiehlt gemäß Längenregeln anstelle nach Laufzeit zu routen. Außerdem geht es um die grundsätzlichen Laufzeitanforderungen für Einfach-Datenraten und Doppel-Datenraten-Bussysteme, einschließlich Setup- und Hold-Zeiten, wie und warum sich die Constraints von DDR3-Speichern von denen von DDR2 unterscheiden und wie sich das Routing von Speicherinterfaces bei DDR4 entwickeln wird. Schritt für Schritt wird an einem einfachen Layout-Beispiel dargestellt, welche Skew-Vorgaben in realen DDR-Speicherbussystemen existieren.

Double-Data-Rate-Speicher

Speicherstandards haben sich in den letzten Jahren rasant weiterentwickelt, von SDRAM über DDR zu DDR2, DDR3, DDR4 und darüber hinaus. Wenn man Busverbindungen routet, die zwischen Memory-Controller und Speicher verlaufen, so muss man entsprechend der Signallaufzeitbedingungen der Speicherbausteine die zugehörigen Regeln (Constraints) definieren und gemäß diesen Vorgaben routen. Die Informationen über die einzuhaltenden Designregeln wie Signallaufzeitunterschiede, sind von den Herstellern verfügbar. Allerdings stehen diese meist in umfangreichen und komplexen Datenblättern und Applikationsdokumenten. Aus Gründen der Vereinfachung fokussiert dieser Beitrag auf Skew-Bedingungen. Die anderen Regeln sind aber ebenfalls von großer Bedeutung.

Bevor es an die Skew-Bedingungen geht, erklärt ein erster Film eine Beispielschaltung mit ihren Constraints und der Routing-Topologie. Er erklärt außerdem, welche Effekte die reale Laufzeit beeinflussen:

Beispiele von Laufzeit-Constraints

Minimum- und Maximum-Laufzeit: Die Signallaufzeiten (Propagation Delay) müssen mit den minimalen und maximalen Laufzeitbedingungen korrespondieren: Nur wenn jedes einzelne Signal nach der minimalen und vor der maximalen Laufzeit tatsächlich am Empfänger ankommt, haben alle Signale die Bedingungen erfüllt. Die Minimum- und Maximum-Laufzeitbedingungen bestehen uneingeschränkt und losgelöst vom Kontext jeder anderen Laufzeit.

Skew-Regeln (Signallaufzeitunterschiede): Man unterscheidet den Skew zwischen zwei Signalen sowie den Skew von mehreren Signalen relativ zu einem Basissignal. Beim einfachen Skew zwischen zwei Signalen oder innerhalb eines differenziellen Signales, können die real auftretenden Werte erst dann ermittelt werden, wenn das erste Signal am Empfänger einen stabilen Pegel erreicht hat (also angekommen ist). Diese Bedingung repräsentiert den maximal möglichen Laufzeitunterschied zwischen einer Gruppe von (mindestens zwei) Signalen. Damit definiert ein entsprechender Skew-Constraint (=Begrenzung des maximalen Signallaufzeitunterschieds) die maximale Laufzeitdifferenz zwischen der Ankunftszeit des ersten Signals und der aller anderen Signale in der Gruppe.

Bei einer relativen Abhängigkeit eines oder mehrerer Signale zur Laufzeit eines anderen Signals (relativer Skew, zum Beispiel Datensignal in Relation zum Clock-Signal), können die Laufzeit-Bedingungen erst dann bestimmt werden, wenn das Basissignal den Empfänger erreicht hat. In diesem Fall ist die untere Fensterbegrenzung negativ und die obere Begrenzung positiv. Es können jedoch sowohl eine oder beide Constraints positiv, negativ oder auch Null sein, vorausgesetzt, der obere Wert ist größer als der untere. Zum Beispiel kann der Skew auf einen Wert zwischen 100 und 300 Pikosekunden begrenzt werden und sogar größer sein als die absolute Laufzeit des Basissignals. Es sind auch Regeln denkbar in der Form, dass zum Beispiel eine Signallaufzeit nicht kürzer als die Laufzeit anderer Signale sein darf (aber keine definierte Maximalgrenze). Dies definiert dann eine Skew-Bedingung abhängig von einem bestimmten Signal.

Routing mit Längenregel oder Timing-basiert

Einige Leiterplattenentwickler arbeiten beim Designen lieber in Bezug auf Längenregeln, andere im Hinblick auf Timing oder Signallaufzeit. Längenregeln einzuhalten ist in der Regel direkter und erfordert geringeren Aufwand. Um im High-Speed-Bereich mit Länge zu arbeiten, ist es unbedingt erforderlich, alle Bedingungen so exakt wie möglich einzuhalten. Je schneller die Signale werden, umso strenger werden diese Constraints (Bedingungen), und diese sind zudem oft als elektrische Kenngrößen wie „elektrische Länge“ definiert. Eine Leiterplatte arbeitet aber nur dann fehlerfrei, wenn das Timingverhalten stimmt. Somit werden die Signallaufzeiten zu einer Schlüsselbedingung.

Zur Illustration eignet sich eine alltägliche Situation: Zwei identische Autos fahren Seite an Seite auf einer geraden Autobahn mit konstanter Geschwindigkeit. Die Fahrer halten das Gaspedal in exakt der gleichen Position. Der Tempomat ist ausgeschaltet. Wenn jetzt ein Fahrer doppelt so weit fährt wie der andere (entspricht der Länge), dann benötigt er auch doppelt so lange um anzukommen (resultierende Laufzeit). In diesem Fall kann man „Länge“ sicher durch „Laufzeit“ ersetzen. Was aber, wenn ein Fahrer bergauf fahren muss und der andere fährt auf einer ebenen Straße? Oder wenn ein Fahrer auf einer Schlaglochstrecke unterwegs ist? Dann entspricht die Länge nicht mehr der Laufzeit für beide Fahrzeuge.

Das gleiche gilt für Signale auf Leiterplatten. Wenn man mit Längenregeln arbeiten möchte, dann muss man sicher sein, dass das Routing von jedem Signal in der jeweils betroffenen Gruppe hinsichtlich der elektrischen Länge gleich ist. Diese Forderung ist für High-Speed-Signale sehr strikt und schließt die verschiedenen Verdrahtungsebenen und Durchkontaktierungen mit ein. Aus diesem Grund wird in den Guidelines der IC-Hersteller gern empfohlen, dass Gruppen von Signalen auf einer einzigen Verdrahtungsebene verlegt werden.

Single Data Rate (Einfache Datenrate)

Bevor DDR-Speicher auf den Markt kam, arbeiteten Speicher-Bussysteme im SDR- (Single Data Rate) SDRAM-Modus (Synchronous Dynamic RAM), so wie auch herkömmliche synchrone digitale Logik. Synchron bedeutet hierbei, dass Daten relativ zu einem Clock (Taktsignal) geschrieben oder gelesen wurden. Laufzeit- und Längenbedingungen waren bereits für klassisches Single-Data-Rate-Speicher-Routing nötig, aber sie arbeiteten anders.

In einem Beispiel werden zwei Datenbits durch ein Taktgebersignal gesteuert. Die Information wird jedes Mal gespeichert, wenn das Taktsignal von 0 auf 1 springt. Alle Daten müssen sich dann bereits für eine bestimmte  Zeit in dem definierten Zustand (0 oder 1) befinden, bevor das Taktsignal ankommt (Setup Time). Alle Daten müssen ebenso für eine kurze Zeit in diesem Zustand bleiben, nachdem der Clock gelesen wurde (Hold Time). Auch bei dieser Architektur ist es möglich, dass für das Routing minimale und maximale Laufzeitbedingungen vorausgesetzt werden.

Double Data Rate (Doppelte Datenrate)

In einem DDR-Speichersystem werden zwei Datenbits pro Taktzyklus übertragen: einmal wenn der Taktimpuls von 0 auf 1 wechselt und zusätzlich wenn er von 1 auf 0 zurückwechselt. In diesen neuen Speichergenerationen ist das Clock-Signal differenziell ausgeführt. Ein Teil der Anpassung des Timing-Verhaltens erfolgt in DDR2- und DDR3-Speichersystemen bereits im Speicherchip. Es ist aber Aufgabe des Layouters, die Laufzeiten und die Verdrahtungslängen der Datenleitungen den Regeln entsprechend anzupassen. Dieses Anpassen erfolgt meist Bahn für Bahn oder in Gruppen, was beispielsweise bedeutet, dass es in 64-Datenbit-Systemen einen Takt-Impuls gibt für jeweils 8 Bit. Besonders enge Regeln sind zwischen jedem Clock-Signal und den einzelnen Datenbits einer Gruppe (Lanes) einzuhalten.

Eine der bedeutendsten Innovationen bei DDR3 ist die interne Zeitsteuerung (Write Levelling), die ein einfaches Daisy-Chain-Routing für Adress- und Taktsignale erlaubt anstatt der komplizierten H-Tree-Topologien, die für DDR2 vorgeschrieben sind. Das folgende Video zeigt, wie man die entsprechenden High-Speed-Constraints bei einer DDR3-Schaltung im Schaltungsentwurf sinnvoll berücksichtigt und sich mit Topologie-Templates viel Zeit spart:

In diesem Beispiel von DDR3-Skew-Bedingungen wird deutlich, dass der Schlüssel einer erfolgreichen DDR3-Implementierung darin liegt, beim Routing die DDR3-Regeln so genau wie möglich einzuhalten. Eine exakte Impedanzanpassung ist bis zu jedem Speicherbaustein in der Kette erforderlich. Je genauer der Layout-Ingenieur die Regeln sowohl beim Platzieren als auch beim Routen einhält, desto zuverlässiger wird die Speicherschnittstelle später im Betrieb arbeiten.

DDR2-Routing mit CR-8000 Design Force

Wie setzt man nun all diese Signallaufzeit-Bedingungen in die eigentliche Layout-Aufgabe um? Das folgende Video zeigt, wie das alles in Zukens CR-8000 Design Force funktioniert:

DDR4 und danach

In jeder neuen Version eines DDR-Speichersystems wurden bisher innovative Funktionen eingeführt, um den Layout-Ingenieuren zu helfen, die geforderten Bedingungen zu erfüllen. Wie andere High-Speed-Bussysteme arbeiten auch DDR-Speicherschnittstellen heutzutage noch schneller und auch energiesparender (Low-Voltage-Technologie). Die schnellsten und modernsten Technologien werden als Punkt-zu-Punkt-Verbindungen realisiert, meist als differenzielle Signale mit dynamisch anpassbarer Impedanz und einstellbaren On-Chip-Terminierungen.

Zunehmend werden bestimmte Signallaufzeitanpassungen im Speichercontroller durchgeführt, was das Anpassen der Leiterbahnlängen teilweise ersetzen kann, dies sollte aber sorgfältig geprüft werden. Als abschließender Schritt empfehlen die Hersteller der DDRx-Speicherchips meist eine finale Verifikation des Timing-Verhaltens des Speichersystems mithilfe von Signalintegritäts-Simulationen.

(Aus dem Englischen übersetzt und bearbeitet von Ralf Brüning, Product Manager High Speed Design Solutions im Zuken EMC Technology Center in Paderborn.)