Forum: Platinen Bestimmung von Impedanzwiderstand vom ML507 DDR2 Lines


von Yafes61 (Gast)


Angehängte Dateien:

Lesenswert?

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

von Yafes61 (Gast)


Angehängte Dateien:

Lesenswert?

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

von georg (Gast)


Angehängte Dateien:

Lesenswert?

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

von Yafes61 (Gast)


Angehängte Dateien:

Lesenswert?

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??

von georg (Gast)


Lesenswert?

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

von Yafes61 (Gast)


Lesenswert?

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?

von georg (Gast)


Lesenswert?

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

von Yafes61 (Gast)


Lesenswert?

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

von Yafes61 (Gast)


Angehängte Dateien:

Lesenswert?

Ups, Anhang vergessen :-)

von georg (Gast)


Angehängte Dateien:

Lesenswert?

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

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.