Hallo,
plane gerade ein Projekt mit einem Virtex 5 + DDR2 SDRAM und bräuchte da
ein paar Informationen.
Dafür schaue ich mir gerade das Layout des Entwicklungsboards ML507 von
Xilinx an. Das PCB Design betrachte ich mit Allegro. Werde aber mit
Eagle routen müssen.
Aktuell versuche ich den Impedanzwiderstand von den DDR2 Lines von
diesem Board nachzuvollziehen. Dazu siehe Lagenaufbau im Anhang.
Im Layer 10 & 11 sind die ganzen DDR2 Datenleitungen. Wenn ich nun
AppCad verwende um den Impedanzwiderstand zu bestimmen (siehe Anhang)
komme ich nicht auf die 50 Ohm. Habe jetzt zum ausrechnen die Stripline
Berechnung verwendet mit
1/2 OZ Cu => 17,5µm => 0,688976378mil
4,5mil Leiterbahnbreite
FR4 Dielektrikum
Er = 9mil, da .004" + .005" = 9mil
Wie sinnvoll ist überhaupt der Lagenaufbau dieses Boards? Normalerweise
hätte ich zwischen Layer 10 & 11 noch eine GND-Plane gemacht.
Und weiterhin müsste ich doch beim routen auf die Länge der
Datenleitungen vom DDR2 achten. Exakt gleichlang routen? oder gibt es da
Toleranzen?
Vielen Dank im voraus.
lg
Yafes
ich glaube ich habe meinen Denkfehler gefunden.
Für das Dielektrikum muss ich
Er = 13mil nehmen, also drei Zwischenschichten betrachten.
=> .004" + .005" + .004" = 13mil (siehe auch in Anlage)
Liege ich richtig?
Weiterhin ist die Frage ob ich zwischen Layer 10 & 11 eine GND-Plane
zwischen mache?
Und die Frage mit den Datenlängen, siehe oben.
Was mir aber noch nicht ganz klar ist, theoretisch überkreuzen sich die
Datenleitungen des DDR2 im Layer 10 & 11 vom Xilinx Board. Ist das
zulässig?
Danke im voraus.
Yafes
Yafes61 schrieb:> Liege ich richtig?
Nein, das sind asymmetrische Striplines und die behandelt AppCad
garnicht.
Nimmst du L10, so sind die Abstände 4 mil nach oben und 9 mil nach
unten, siehe dazu beiliegende Berechnung. Die Auslegung mit 2
Signallagen zwischen GND funktioniert natürlich nur, wenn Leitungen auf
L10 und L11 nicht parallel verlaufen, X-Y Routing ist angesagt, dann
geht das so halbwegs.
Da vereinfacht sich natürlich, wenn noch ein GND eingefügt wird, ist
halt eine Lage mehr. Aber wenn man eh schon von 14 Lagen ausgeht kommt
es auf 2 (!) mehr auch nicht mehr an.
Georg
georg schrieb:> Die Auslegung mit 2> Signallagen zwischen GND funktioniert natürlich nur, wenn Leitungen auf> L10 und L11 nicht parallel verlaufen, X-Y Routing ist angesagt, dann> geht das so halbwegs.
Was meinst du mit parallel verlaufen, quasi ein differentielles Signal
wo auf 2 Layern das ganze parallel geroutet wird, sodass es dann als
Dual Stripline Impedance kalkuliert wird?
Im Anhang habe ich nochmal das ganze dann als asymmetrische Stripline
kalkuliert. Liege ich nun richtig??
Yafes61 schrieb:> Was meinst du mit parallel verlaufen, quasi ein differentielles Signal> wo auf 2 Layern das ganze parallel geroutet wird
Von differentiell habe ich garnicht geredet, das ist wieder ein anderes
Thema, die abgebildete Rechnung erfasst das ja auch. Es geht darum, dass
sich untereinanderliegende (L10,L11) Leitungsstücke natürlich
beeinflussen, egal zu welchem Netz sie gehören. Kreuzen sie sich
senkrecht zueinander, gibt es zwar auch eine Beeinflussung, aber nur
eine geringe.
Yafes61 schrieb:> Liege ich nun richtig??
Sieht so aus. Wenn tatsächlich definierte Impedanz gefordert ist, musst
du ja sowieso die Leiterplatten mit kontrollierter Impedanz bestellen,
dann prüft der Hersteller deine Daten nach, schon im eigenen Interesse,
er muss sie ja garantieren.
Georg
Danke Georg, hast mir weitergeholfen.
Das mit dem nicht parallelen verlaufen auf den Layer 10 & 11 ist
teilweise nicht zu vermeiden, da es unter anderem abhängig vom FPGA
Gehäuse ist.
Eine Frage hätte ich da aber noch zu den Leitungslängen.
In wie weit ist die Leitungslänge relevant bei den Daten-, Adress- und
Steuerleitungen. Am besten wäre wahrscheinlich exakt gleichlang. Wenn
ich mir aber die Leitungen vom Xilinx Board angucke sind diese auch
nicht exakt gleich. Was ist hier die Empfehlung?
Yafes61 schrieb:> angucke sind diese auch> nicht exakt gleich. Was ist hier die Empfehlung?
Exakt gibt es einfach nicht, ein paar nm Unterschied bleiben immer. Ein
brauchbarer Ansatzpunkt ist die Anstiegszeit deiner Signale, umgerechnet
in Leiterbahnenlänge (auf Leiterplatten so etwa 1/3 bis halbe
Lichtgeschwindigkeit). Bei 20 cm/ns und 0,1 ns Anstiegszeit verteilt
sich somit der Anstieg auf 20 mm, also kann man schliessen, dass 2..5 mm
noch nicht zu Fehlfunktionen führen. ALLERDINGS: einzelne Toleranzen
sind nicht dazu da, sie vollständig auszunutzen, weil sich im Endeffekt
alle denkbaren Toleranzen aufaddieren. Es ist schlechte Designpraxis,
für eine einzelne Massnahme wie die Längendifferenz gleich die gesamte
verfügbare Toleranz aufzubrauchen, und im Fall der LP gilt das ganz
besonders, weil ein guter Längenausgleich praktisch nichts kostet. Der
Jitter an Differenzausgängen eines FPGA ist viel schwerer zu reduzieren.
Im obigen Beispiel würde ich also die Länge auf 1mm oder weniger
angleichen. Forderungen nach Hundertstel mm sind natürlich nicht
sinnvoll, daraus darf man aber nicht den Schluss ziehen, die ganze
HF-Technik wäre Firlefanz und nur für ängstliche Weicheier, wie das hier
immer wieder propagiert wird. Dann bin ich meinetwegen ein Angsthase,
aber mit funktionierenden Schaltungen.
Georg
Vielen Dank für den interessanten Post Georg.
Denke soweit habe ich das verstanden worauf es beim DDR2 nun ankommt.
Worüber ich mir noch Gedanken mache ist grad wie ich die Differentiellen
Signale verlege. Z.B. wurde im Xilinx Board Design im Layer 10 die diff.
CLK-Paare parallel zueinander geroutet.
Width 4,5 mil
Spacing 6 mil
wieder asymmetrisch wie bei den Datenleitungen.
Eine Berechnung mit der Software von Saturn ist im Anhang, doch komme
nicht auf die 100 Ohm.
Wie sollte man die differentiellen Signale am besten unterbringen?
Danke im voraus
Yafes61 schrieb:> Wie sollte man die differentiellen Signale am besten unterbringen?
Du kannst ja mit dem Saturn Toolkit prüfen, was sich wie auswirkt. Z.B.
a Leiterbahnbreite kleiner -> Impedanz grösser
b Spacing grösser -> Impedanz grösser
c Lagenabstand H grösser -> Impedanz grösser.
Es ginge mit einer Leiterbahn von 3 mil oder sehr grossem Spacing, ist
aber beides nicht sehr praktikabel. Das Problem dürfte sein, dass bei 14
Lagen der Lagenabstand zwangsläufig sehr klein ist. Mit 10 mil oben und
unten klappt es ohne weiteres. So einen Lagenaufbau sollte man
hinkriegen.
ABER: alles unter Vorbehalt, Ergebnisse
ML507 100 Ohm laut Layer Stack
Saturn 87 Ohm siehe Bild
ZCad 89 Ohm siehe Bild
Es ist wohl nötig, das mit dem Hersteller abzusprechen, der muss ja die
Impedanz garantieren.
Georg