Forum: Mikrocontroller und Digitale Elektronik DDR3 Anbindung Layout Impedanzen strikt einhalten


von DDR3_Interessiert (Gast)


Lesenswert?

Hallo Forengemeinde,

ich traue mich momentan an DDR3-Anbindungen ran und versuche momentan 
das passende Layout-Design zu finden.

In meinen Datenblättern finde ich, dass differentielle Signale mit 100 
Ohm und einzelne Signale mit 50 Ohm geroutet werden sollen.

Meine Frage an die Erfahrenen:
Kann man das strikt einhalten, wenn alle Komponenten, CPU u. RAM im 
BGA-Gehäuse vorhanden sind !?

Innerhalb von BGA Bereichen sollte man sich schon an die 
Fertigungsmöglichkeiten halten. Ich bevorzuge aus preistechnischen 
Gründen mit 100µm Strukturen und mit durchgehenden Vias/DKs zu arbeiten. 
Das bedeutet aber, dass ich innerhalb des BGA nicht die 50Ohm einhalten 
kann.

Und wie genau haltet ihr euch an das "Length Matching" ?

Nehmt ihr beim "Routen" Kompromisse in Kauf?

Oder sollte man sich als allererstens sich einen Lagenaufbau ausdenken, 
damit ich mit meinen selbst gesetzten Vorraussetzungen am Besten 
durchkomme ?

Danke euch im Voraus. Ich freue mich auf eure Antworten.

Gruß
DDR3_Interessiert

von Lolli (Gast)


Lesenswert?

Würde mich auch mal interessieren. Vor allem wie wichtig der Layeraufbau 
der Leiterplatte auszusehen hat. Habe s hon mehrere Layouts gesehen. Den 
einen reichen 4 Lagen. Den Anderen müssen es mind. 10 Lagen sein.... Ich 
habedas Gefühl, dass jeder eine andere Philosophie verfolgt.

von Flo (Gast)


Lesenswert?

DDR3 hab ich schon gemacht.
1GHz 1GB Ram auf 2 RAM Bausteine verteilt.

Lagenaufbau:
Top routing
GND
Mid1 Routing
PWR
PWR
Mid2 Routing
GND
Bot Routing

Den Lagenaufbau so gewählt, das 4mil 50Ohm entsprechen auf jeder Lage 
(Stripline und Microstrip).

Längenmatching hab ich strikt eingehalten (+-1mil), vereinfacht später 
die Inbetriebnahme.
Was beim DDR3 sehr hilft ist Signalswapping.
Dui kannst innerhalb einer 8bit Gruppe Pins tauschen. Komplette Gruppen 
kann man auch tauschen, muss halt die dazugehörigen Steuerleitungen 
mitnehmen.
Normalerweise schreiben dir die Prozessorhersteller vor, was sein darf 
und was nicht.

von DDR (Gast)


Lesenswert?

Hallo,

bin auch am Layout-Erstellen. Habe in den Datenblättern meiner CPU 
gelesen, dass anstatt von Längenanpassung auch "Routing by Byte Group" 
genutzt werden kann.

Weiss hier jemand was damit gemeint ist ?

von Achim S. (Gast)


Lesenswert?

DDR schrieb:
> Weiss hier jemand was damit gemeint ist ?

schätzungsweise dass bei den Datenleitungen nicht alle (32 oder 64) 
Datenleitungen gleich lang sein müssen, sondern jeweils nur die 8 
Datenleitungen, die zu einem Byte gehören (sowie das zugehörige 
DQS-Signal).

von DDR (Gast)


Lesenswert?

Achim S. schrieb:
> DDR schrieb:
>> Weiss hier jemand was damit gemeint ist ?
>
> schätzungsweise dass bei den Datenleitungen nicht alle (32 oder 64)
> Datenleitungen gleich lang sein müssen, sondern jeweils nur die 8
> Datenleitungen, die zu einem Byte gehören (sowie das zugehörige
> DQS-Signal).

Das wäre logisch ....


Wie sieht es denn bei der Reihenfolge beim Signalverlegen aus ? Zum 
Beispiel:

Müssen der Reihe nach Data0-Data7 Adresse0 - Adresse15 nebeneinander 
liegen oder kann man die beliebig routen ?

Wenn man wenig Platz hat kann man ganz schön ins Schwitzen kommen.... 
;-)

von Achim S. (Gast)


Lesenswert?

DDR schrieb:
> Müssen der Reihe nach Data0-Data7 Adresse0 - Adresse15 nebeneinander
> liegen oder kann man die beliebig routen ?

durcheinander ist eher schlecht, denn dann musst du sie beim DRAM 
entwirren, oder? Wie viele DRAM-ICs willst du denn an deine CPU anbinden 
(d.h. an wie viele Lasten geht dein Adressbus)?

Wie weiter oben schon beschrieben wurde darfst du DQs innerhalb einer 
Bytegruppe tauschen (nur nicht zwischen Bytegruppen). Adressen darfst du 
nicht tauschen.

Zu deiner Ursprungsfrage:

DDR3_Interessiert schrieb:
> Kann man das strikt einhalten, wenn alle Komponenten, CPU u. RAM im
> BGA-Gehäuse vorhanden sind !?

dass die Impedanz im Bereich der BGA-ICs nicht ganz stimmt, kommt schon 
häufiger mal vor. Nicht schön, aber bei manchen Gehäusen praktisch nicht 
zu vermeiden. Die Leitungslänge mit etwas falsche Impedanz sollte halt 
nicht zu groß werden.

von DDR (Gast)


Lesenswert?

Achim S. schrieb:
> durcheinander ist eher schlecht, denn dann musst du sie beim DRAM
> entwirren, oder? Wie viele DRAM-ICs willst du denn an deine CPU anbinden
> (d.h. an wie viele Lasten geht dein Adressbus)?

Ich habe nur einen DDR. Jedoch ist der Platz sehr eng. Ich stelle die 
Frage mit der Reihenfolge, weil ich der Meinung bin, dass bei nicht 
Einhalten der Reihenfolge eventuell die Wahrscheinlichkeit für 
Übersprechen höher sein wird.

Oder mache ich mir hier zuviele Gedanken ?

von Holger B. (vilu)


Lesenswert?

Es gibt von den Herstellern nicht nur Datenblätter sondern auch 
Application Notes zu dem Thema, besonders Micron hat da einiges 
lesenswertes, wo eine vielzahl der gestellten Fragen beantwortet werden.
Ist wahrscheinlich hilfreicher, die mal am Stück durchzuarbeiten anstatt 
sich die Infos aus einzelnen Postings zusammenzusammeln.

von Achim S. (Gast)


Lesenswert?

DDR schrieb:
> dass bei nicht
> Einhalten der Reihenfolge eventuell die Wahrscheinlichkeit für
> Übersprechen höher sein wird.

Es spricht zwar nicht unbedingt mehr über. Aber der Zeitpunkt des 
Übersprechens ist ggf. ungünstiger. Alle DQ schalten annähernd 
gleichzeitig, haben zu diesem Zeitpunkt starkes Übersprechen, aber ihr 
Zustand ist erst 1/4-Takt später von Interesse (wenn das Übersprechen 
abgeklungen ist). Die Adressen schalten zu einem anderen Zeitpunkt und 
sprechen stören die DQ ggf. genau in dem Moment, wo sie ausgewertet 
werden.

DDR schrieb:
> Ich habe nur einen DDR.

Ok: wenn es nur um ein IC geht, du also keinen Bus sondern eine 
Punkt-zu-Punkt Verbindung (mit hoffentlich auch noch kurzen 
Leitungslängen) hast, dann ist die ursprüngliche Frage nach der genauen 
Einhaltung der Impedanzen deutlich unkritischer, als wenn es um einen 
voll ausgereizten Speicherbus ginge. Das soll nicht heißen, das du im 
Layout schlampen sollst, aber deine Anordnung ist bezüglich 
Signalintegrität "toleranter" als eine DIMM-Anbindung.

Was dir vielleicht auch beim Layouten helfen kann: nicht alle Signale 
sind gleich empfindlich. Die maximale Schaltfrequenz bei Adressen und 
Commands ist nur halb so hoch wie bei den Daten. Wenn der Prozessor den 
Bus mit "2T-Timing" betreibt, dann sogar nur ein Viertel so hoch (und 
bei nur einem IC am Speicherbus bringt "2T" kaum Nachteile gegenüber 
"1T".) Die wirklich kritischen Signale sind also DQ und DQS (und die 
sollten genau zueinander passen) sowie CLK und CS (und die sollten genau 
zueinander passen). Denen würde ich beim Layouten Prio einräumen 
gegenüber den anderen Signalen.

Holger B. schrieb:
> Es gibt von den Herstellern nicht nur Datenblätter sondern auch
> Application Notes zu dem Thema

Stimmt, und das zum Teil nicht nur von Speicherherstellern wie Micron. 
Auch diverse Controllerhersteller liefern Application Notes oder 
Beispiel-Designs mit. Dort kann man sich anschauen, wie sich der 
Hersteller das Layout gedacht hat (und wie es bei ihm wohl funktioniert 
hat).

von DDR (Gast)


Lesenswert?

Die Infos hier helfen einiges.

Habe auch die Design Guides der Herstellter vor mir liegen, jedoch ist 
es als Einsteiger sehr interessant von Erfahrungen Anderer zu hören. 
Dazu dient ja dieses Forum und darüber bin ich froh.

Bei meiner Komponenten-Konstallation schätze ich, dass ich eine max. 
Leitungslänge von ca. 3 - 5 cm, je nachdem wie fleissig ich bin, 
erhalte.

von DDR (Gast)


Lesenswert?

Arbeitet jemand von euch auch mit IBIS Modellen ? Zum Analysieren der 
Signal Integrität ?

Oder verlasst ihr euch auf die berechneten Impedanzen für euren
PCB Stackup?

Wie wichtig schätzt ihr diese zusätzliche Hilfe ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.