Hallo,
was versteht man genau unter Setup- und Hold-Margin?
Bei einem Setup- und Hold-Margin von jeweils 2ns - folgt daraus, dass
sich die einzelnen Leitungen (Datenbus, CLK etc.) bei 14ns/cm
(Geschwindigkeit auf FR4), 28cm maximal unterscheiden dürfen in der
Länge? Und alles befindet sich im grünen Bereich?
http://timingdesigner.com/Docs/art_control_qdr_designs.pdf
Bernd
@ Bernd Schuster (mms)
>was versteht man genau unter Setup- und Hold-Margin?
Das sind die Zeitüberschüsse, die im realen Design vorhanden sind.
Sozusagen die Timingreserven.
>Bei einem Setup- und Hold-Margin von jeweils 2ns - folgt daraus, dass>sich die einzelnen Leitungen (Datenbus, CLK etc.) bei 14ns/cm>(Geschwindigkeit auf FR4), 28cm maximal unterscheiden dürfen in der>Länge?
Kann man so allgemein nicht sagen.
MfG
Falk
>Kann man so allgemein nicht sagen.
weil man Jitter und Clock Skew noch berücksichtigen muss? Oder welche
anderen Effekte verhindern so eine klare Aussage?
Bernd
also die Hold-Margin Time hab ich so z.B. ausgerechnet
Hold Margin = Tco(min) + TOF - Th - Tskew = 1.5ns
-> ich hab also 1.5ns als Timingreserve. Diese Zeit gilt für alle
Signale, da überall die gleichen Setup- und Hold-Zeiten vorhanden sind.
Der Bustakt läuft mit 100MHz; Trise ist 2.5ns --> müssten ja gute 28cm
ohne Terminierung möglich sein zu übertragen.
Welche Effekte muss ich noch berücksichtigen? Bzw. aus welchen Angaben
kann ich sagen oder daraufschließen, wie groß die zeitlichen Differenzen
zwischen den einzelnen Signalen sein dürfen? Nach welchen Regeln oder
Formeln muss ich jetzt weiter gehen, um diese Information zu erhalten?
Bernd
@ Bernd Schuster (mms)
>>Kann man so allgemein nicht sagen.>weil man Jitter und Clock Skew noch berücksichtigen muss? Oder welche>anderen Effekte verhindern so eine klare Aussage?
Nein, weil man das Timing im Ganzen betrachten muss, incl. Länge der
Taktleitung.
>Der Bustakt läuft mit 100MHz; Trise ist 2.5ns --> müssten ja gute 28cm>ohne Terminierung möglich sein zu übertragen.
???
Ich komme eher auf 8,3cm. Siehe Wellenwiderstand>Welche Effekte muss ich noch berücksichtigen? Bzw. aus welchen Angaben>kann ich sagen oder daraufschließen, wie groß die zeitlichen Differenzen>zwischen den einzelnen Signalen sein dürfen? Nach welchen Regeln oder>Formeln muss ich jetzt weiter gehen, um diese Information zu erhalten?
Bei normalen SDRAM ist das dor recht einfach. Alle Signale müssen die
Setup-und Holdzeiten einhalten, sowohl beim Schreiben als auch beim
Lesen. Thats is.
MfG
Falk
Falk Brunner wrote:
> @ Bernd Schuster (mms)>>>>Kann man so allgemein nicht sagen.>>>weil man Jitter und Clock Skew noch berücksichtigen muss? Oder welche>>anderen Effekte verhindern so eine klare Aussage?>> Nein, weil man das Timing im Ganzen betrachten muss, incl. Länge der> Taktleitung.
da hab ich noch meinen denkfehler - ich hab zwar die timingtabellen vor
mir liegen mit den entsprechenden werten - z.B. Hold- und Setup-Zeiten
(die bei allen Signalen gleich sind) - meine Länge für die CLK-Leitung
ist 32.4mm. Aber wie müssen sich jetzt die anderen Signale dazu
verhalten?
>>>>Der Bustakt läuft mit 100MHz; Trise ist 2.5ns --> müssten ja gute 28cm>>ohne Terminierung möglich sein zu übertragen.>> ???> Ich komme eher auf 8,3cm. Siehe Wellenwiderstand
Uebertragungsgeschwindkgiet ist doch 14ns/cm bei FR4, d.h. doch man legt
in 1ns 14cm zurück und in 2ns sind es 28cm.
Schon wieder ein Denkfehler?
>>>Welche Effekte muss ich noch berücksichtigen? Bzw. aus welchen Angaben>>kann ich sagen oder daraufschließen, wie groß die zeitlichen Differenzen>>zwischen den einzelnen Signalen sein dürfen? Nach welchen Regeln oder>>Formeln muss ich jetzt weiter gehen, um diese Information zu erhalten?>> Bei normalen SDRAM ist das dor recht einfach. Alle Signale müssen die> Setup-und Holdzeiten einhalten, sowohl beim Schreiben als auch beim> Lesen. Thats is.
theoretisch hab ich das verstanden nur im Bezug auf die Entwicklung
eines Layouts leider noch nicht... vor allem bei den unterschieden in
den leitungslängen bin ich mir total unsicher bzw. weis ich nicht nach
welchen regeln formeln ich mir das ausrechnen kann wie gross der max.
und minimale leitungsunterschied zwischen den einzelnen Signalen zu CLK
sein duerfen.
Muss die CLK-Leitung stets die kuerzeste Leitung sein?
Bernd
@ Bernd Schuster (mms)
>da hab ich noch meinen denkfehler - ich hab zwar die timingtabellen vor>mir liegen mit den entsprechenden werten - z.B. Hold- und Setup-Zeiten>(die bei allen Signalen gleich sind) - meine Länge für die CLK-Leitung>ist 32.4mm. Aber wie müssen sich jetzt die anderen Signale dazu>verhalten?
Die Länge der Taktleitung verschiebt das Timingfenster nach hinten, da
der Takt später am SDRAM ankommt. Aber die 32mm entsprechen ~160ps, das
kann man hier getrost in den Skat drücken.
>>Der Bustakt läuft mit 100MHz; Trise ist 2.5ns --> müssten ja gute 28cm>>ohne Terminierung möglich sein zu übertragen.>> ???> Ich komme eher auf 8,3cm. Siehe Wellenwiderstand>Uebertragungsgeschwindkgiet ist doch 14ns/cm bei FR4, d.h. doch man legt
In den Innlagen, aussen können es durchaus auch mal 21cm/ns sein.
>in 1ns 14cm zurück und in 2ns sind es 28cm.
Sicher, aber die Frage nach Terminierung ja/nein beantwortet das nicht.
Den Artikel nochmal lesen.
Wellenwiderstand
Schon wieder ein Denkfehler?
>theoretisch hab ich das verstanden nur im Bezug auf die Entwicklung>eines Layouts leider noch nicht... vor allem bei den unterschieden in>den leitungslängen bin ich mir total unsicher bzw. weis ich nicht nach>welchen regeln formeln ich mir das ausrechnen kann wie gross der max.>und minimale leitungsunterschied zwischen den einzelnen Signalen zu CLK>sein duerfen.
Bis 10cm ist alles OK, 20cm geht meist auch noch. Mach doch erstmal ein
Layout,versuche die Leitungen kurz zu halten und dann schau mer mal.
>Muss die CLK-Leitung stets die kuerzeste Leitung sein?
Nicht unbedingt.
MfG
Falk
>Bis 10cm ist alles OK, 20cm geht meist auch noch. Mach doch erstmal ein>Layout,versuche die Leitungen kurz zu halten und dann schau mer mal
längste-Datenbus-Anbindung ist 80mm,
längste Adress-Leitung ist 60mm,
kürzeste Adressandinbung ist 30mm
CS ist 24mm
RAS ist 27mm
CAS ist 35mm
kürzeste Datenbus-Anbindung ist 50mm
Clock ist 50mm
CKE ist 55mm
DQM ist 60mm
würde das passen mit der Setup und Hold Margin?
Bernd
ok - nur für das verständnis... anhand welcher Wert kannst du sagen,
dass das mit dem Timing auf jeden fall passen sollte?
Nimmt man sich ein Signal mit einer mittleren Länge vor und schaut, um
wieviel das längste und kürzeste davon entfernt ist -> rechnet die
daraus resultierende Verzögerung aus und diese muss kleiner als der
Setup-Margin (für längste Länge) und kleiner als der Hold-Margin (für
kürzeste Länge)?
Und die Clock wird somit genauso behandelt wie ein ganz normales Signal
- außer mit etwas mehr abstand zu den anderen Signalleitungen beim
Layout?
Bernd
@ Bernd Schuster (mms)
>ok - nur für das verständnis... anhand welcher Wert kannst du sagen,>dass das mit dem Timing auf jeden fall passen sollte?
Pi mal Daumen ;-)
Die Erklärung ist recht lang, hab ich im Moment keine Lust und Zeit. Tut
mir leid.
Kurzfassung
Es gibt Timings, die dein uC ausspuckt. Die müssen mit dem Timing des
SDRAM übereinstimmen. Durch die Länge der Taktleitung sowie Länge der
Datenleitungen kommt es zu einer Phasenverschiebung, wobei Setupzeiten
kürzer und Holdzeiten länger werden (oder umgekehrt, je nach
Längenverhältnis).
>Nimmt man sich ein Signal mit einer mittleren Länge vor und schaut, um>wieviel das längste und kürzeste davon entfernt ist -> rechnet die
Vergiss das. Alle Timings beziehen sich direkt auf CLK.
>Und die Clock wird somit genauso behandelt wie ein ganz normales Signal
Nein!
MFG
Falk
>Die Erklärung ist recht lang, hab ich im Moment keine Lust und Zeit. Tut>mir leid.
kennst du eine Quelle oder Buch, die du mir empfehlen könntest?
In den Application Notes verschiedener Hersteller steht dazu nämlich
leider auch keine Erklärung drinnen.
Bernd
die Verzögerung auf einer Leiterbahn erhältst du mit Hilfe der Formel
Verzögerung = Länge Leiterbahn * Z0 (Wellenwiderstand Leitung)
da bekommt man dann einen Wert für CLK und alle anderen Signale heraus.
Und ich meine, man muss dann die Zeit von der CLK von der Setup-Time
#Margin abziehen und zur Hold-Time Margin hinzuaddieren...
die anderen Zeiten müssen dann kleiner sein als die übrig gebliebene
Setup-Time udn Hold-Time - glaub ich...
Tina
@ Tina Berger (tina)
>die Verzögerung auf einer Leiterbahn erhältst du mit Hilfe der Formel>Verzögerung = Länge Leiterbahn * Z0 (Wellenwiderstand Leitung)
Ach ja?
Sekunden = Meter * Ohm?
MfG
Falk
naja vielleicht läuft mir irgendwann mal die lösung über den weg...
interesant wäre es schon zu wissen, um nicht immer unwissentlich routen
zu müssen.
Bernd
@ Bernd Schuster (mms)
>naja vielleicht läuft mir irgendwann mal die lösung über den weg...>interesant wäre es schon zu wissen, um nicht immer unwissentlich routen>zu müssen.
Poste mal den Link zum Datenblatt des uC und des SDRAMs, mal sehen was
ich machen kann.
MFG
Falk
>Poste mal den Link zum Datenblatt des uC und des SDRAMs, mal sehen was>ich machen kann.
der µC ist der AT91RM9200 (tr = 2.5ns, tclock-to-output = 3.5ns - stehen
nicht im Datenblatt)
http://www.atmel.com/dyn/resources/prod_documents/doc1768.pdf
(das Timing für den SDRAM befindet sich auf der Seite 641ff.)
SDRAM
http://www.samsung.com/global/system/business/semiconductor/product/2007/7/7/595936ds_k4s51xx32d_rev10.pdf
(hier stehen die Timings ab Seite 11ff)
>mal sehen was ich machen kann.
eine allgemeine Herleitung bzw. Erklärung mit Formeln wäre mir
persönlich am liebsten, weil dann seh ich den Rechenweg und kann die
Routine auch bei anderen Sachen wie Flashspeicher / oder anderen
µControllern, 1zu1 verwenden.
wäre super, wenn ich es dann komplett verstehen würde.
Bernd
hast du übers weekend zeit, mir eine (leider ausführliche) erläuterung
zu diesem thema zu machen? formeln mit stichpunkten würde mir reichen
-> dann kann ich nach diesen stichpunkten selbst googeln und so mir den
zusammenhang klar machen.
Bernd