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
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.
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.
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 ?
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).
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....
;-)
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.
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 ?
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.
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).
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.
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 ?