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
@ Bernd Schuster (mms)
>würde das passen mit der Setup und Hold Margin?
Passt schon.
MfG
Falk
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.