Hallo liebes Forum ich stehe vor der Aufgabe, ein DDR2-Design machen zu müssen und bin am Planen, was ich tue. Ich soll checken, ob ich das mit den hiesigen Mitteln selber machen kann oder es rausgegeben werden muss. Nach umfangreichem Studium der Manuals hinsichtlich DDR2-RAM-Anschlusstechnik, der notwendigen Massnahmen im Bezug auf Spannungen, Referenzen und Terminierungen stellen sich mir einige Fragen: 1) Mit welchem Baustein kann ich den DDR2 treiben? Wenn ich es richtig verstanden habe, brauche ich für einen 400MHz-Takt nur 200MHz an den Anschlüssen. Welchen FPGA kann ich dafür nehmen? Ich habe nur Erfahrung mit Spartan3. Reicht ein Spartan6 dafür aus? Kann der die Leitungen schnell genug bewegen, um 400MHz DDR zu packen? 2) Kann ich das Design mit Eagle machen? Ich habe einiges über Terminierung, Busabschluss und Wellenwiderstand gelesen und sehe mich aus der Hüfte nicht in der Lage, die Leiterbahnen richtig zu layouten, dass einmal die Impedanz stimmt (50 Ohm / 100 Ohm) und anderesmal die Leitungslängen passen. Eagle unterstützt keine Leiterbahnberechnung, Vermessung oder automatisiertes Zeichnen, wie ich meine. Wie bekomme ich die auf einander abgestimmten Längen hin? Selber berechnen? Würdet ihr sagen, dass man das Design mit Eagle machen kann? 3) Ist es u.U. sinnvoller, auf ein DDR3 Design zu gehen? Die Chips sind zwar teurer, bieten aber die höhere Bandbreite und Speicherdichte und sind wohl auch zukunftsicherer. Frage: Welche zusätzlichen Anforderungen bestünden an das Design? Ich habe mir einige Datenblätter runtergeladen und wenn ich es richtig verstehe, laufen die mit bis zu 1066 MHz. Ist das jetzt der verdoppelte oder vervierfachte Takt? Zum Grundverständnis nochmals: Wie bekommt man da die doppelte Speicherrate hin? Die Chips liegen sozusagen parallel, aber um 180 Grad (90 Grad verschoben), sodass man mit der doppelten / vierfachen Rate fahren kann, während aber jeder Chip für sich nur die normale Datenrate sieht? Das wären dann 200MHz? Wie schnell müssen sich dann die Datenleitungen ändern können? Mit dem normalen Takt oder dem 2fachen / 4fachen? Die doppelte Busbreite hat es ja wohl nicht, oder täusche ich mich? Bei DDR2 hätte ich jetzt gesagt, dass die Adressen mit z.B. 200MHz wechseln, während die Datenleitungen mit 400MHz wechseln und der Takt wiederum mit 200 MHz läuft, bei zwei Flanken also wie 400MHz. Wie ist das bei DDR3? Wo tritt die Vervierfachung auf? Laufen dann die Adressen auch mit 200 und die Daten mit 800?
:
Verschoben durch Moderator
Berndt Eggebrecht schrieb: > 1) Mit welchem Baustein kann ich den DDR2 treiben? > > Wenn ich es richtig verstanden habe, brauche ich für einen 400MHz-Takt > nur 200MHz an den Anschlüssen. Welchen FPGA kann ich dafür nehmen? > Ich habe nur Erfahrung mit Spartan3. Reicht ein Spartan6 dafür aus? Kann > der die Leitungen schnell genug bewegen, um 400MHz DDR zu packen? Ein Spartan 6 ist da ideal, denn der hat einen integrierten Memory Controller Block (oder mehrere je nach Typ), da kannst du den DDRx RAM direkt anschließen. Der Spartan 6 schafft maximal DDR3 RAM mit 800Mb/s.
Christian R. schrieb: > Ein Spartan 6 ist da ideal, denn der hat einen integrierten Memory > Controller Block (oder mehrere je nach Typ), da kannst du den DDRx RAM > direkt anschließen. Der Spartan 6 schafft maximal DDR3 RAM mit 800Mb/s. Vorsicht, um dir die Mühe zu ersparen, nur Spartan6 im BGA gehäuse haben den Memory Controller. Die im TQFP Gehäuse nicht! Steht ganz klein iwo in nem Datenblatt. Berndt Eggebrecht schrieb: > 2) Kann ich das Design mit Eagle machen? Kannst du, tut mir aber weh, allein drüber nachzudenken. Berndt Eggebrecht schrieb: > Die Chips liegen sozusagen parallel, aber um 180 Grad (90 Grad > verschoben), sodass man mit der doppelten / vierfachen Rate fahren kann, > während aber jeder Chip für sich nur die normale Datenrate sieht? ?? Quatsch. Der Chip hat 2 Takte, die 180° Phasenverschoben sind. Beide Takte arbeiten mit der Frequenz f. Es werden aber bei jeder steigenden Flanke beider Takte Daten übertragen. Die Daten gehen also mit 2f durch.
Berndt Eggebrecht schrieb: > richtig zu layouten, dass einmal die Impedanz stimmt (50 Ohm / 100 Ohm) > und anderesmal die Leitungslängen passen. Das erstere ist kein Problem, egal welches System: bei gegebenem Lagenaufbau kannst du für jede Lage berechnen, welche Breite die Leiterbahn für x Ohm haben muss, und damit routest du eben. Für die Berechnung gibts Software in Netz. Was anderes machen auch teure Layoutsysteme nicht, die klopfen dir nur automatisch auf die Finger, wenn du dich nicht dran hältst. Das mit der Länge ist schon ernster, aber ich kenne eigentlich kein System, bei dem man nicht die Länge einer selektierten Leiterbahn irgendwo auslesen kann. Eagle kenne ich nicht, aber wenn das da nicht geht, ist das schon ein ernsthafter Mangel. Irgendwie müssen die Preisunterschiede aber ja gerechtfertigt sein. Übel ist es, wenn man für Mäander oder Differential Pairs keine Softwareunterstützung hat. Differential Pairs kann man manuell eigentlich überhaupt nicht exakt verlegen. Grundsätzlich gilt natürlich: man kann jedes Layout notfalls auch mit Tusche und Kurvenlineal zeichnen und mit allen Hilfsmitteln, die seit dem letzten Weltkrieg dafür entwickelt wurden wie Klebestreifen, Abreibesymbole... Gruss Reinhard
Für die 4/5er-Eagles gibts ein Skript, dass die Längen ausgibt, damit kommt man eigentlich schon ganz gut zurecht. Das Problem ist ja nicht die Länge selbst (kann man beim "Aufstocken" ja gut abschätzen), sondern dass man den nötigen Platinenplatz für das Mäandern findet ;) BTW: War da nicht was beim 6er, dass das in Realtime geht?
Tokyo Drift schrieb: > Der Chip hat 2 Takte, die 180° Phasenverschoben sind. Beide Takte > arbeiten mit der Frequenz f. Es werden aber bei jeder steigenden Flanke > beider Takte Daten übertragen. Die Daten gehen also mit 2f durch. Und beim DDR3?
@ Berndt Eggebrecht (Gast) >1) Mit welchem Baustein kann ich den DDR2 treiben? >Wenn ich es richtig verstanden habe, brauche ich für einen 400MHz-Takt >nur 200MHz an den Anschlüssen. Unglückliche Formulierung. Der Takt hat 200 MHz, die Daten 400 Mbit/s. > Welchen FPGA kann ich dafür nehmen? Ich habe nur Erfahrung mit Spartan3. Das wird sehr eng, wenn gleich machbar. >Reicht ein Spartan6 dafür aus? Ja. > Kann der die Leitungen schnell genug bewegen, um 400MHz DDR zu packen? ;-) Ja. >2) Kann ich das Design mit Eagle machen? Ja, wenn gleich etwas mehr Mitdenken und Handarbeit als bei den High End Systemen nötig ist. >Ich habe einiges über Terminierung, Busabschluss und Wellenwiderstand >gelesen und sehe mich aus der Hüfte nicht in der Lage, die Leiterbahnen >richtig zu layouten, dass einmal die Impedanz stimmt (50 Ohm / 100 Ohm) Das ist einfach, muss nur die richtige Breite der Leiterbahn bei gegbener Lagendicke sein. Die Geometrie rechnet dir jeder Onlinerechner schnell aus, siehe Wellenwiderstand. >und anderesmal die Leitungslängen passen. Dafür gibt es ein ULP in Eagle. Nicht die komfortabelsete Lösung aber OK. >einander abgestimmten Längen hin? Selber berechnen? Siehe oben. >Würdet ihr sagen, dass man das Design mit Eagle machen kann? Ja. >3) Ist es u.U. sinnvoller, auf ein DDR3 Design zu gehen? Die Chips sind >zwar teurer, bieten aber die höhere Bandbreite und Speicherdichte und >sind wohl auch zukunftsicherer. Frage: >Welche zusätzlichen Anforderungen bestünden an das Design? Höhere Frequenzen, ggf. höhere Packungsdichte. > Ich habe mir >einige Datenblätter runtergeladen und wenn ich es richtig verstehe, >laufen die mit bis zu 1066 MHz. Ist das jetzt der verdoppelte oder >vervierfachte Takt? Keine Ahnung. >Zum Grundverständnis nochmals: Wie bekommt man da die doppelte >Speicherrate hin? Indem man auf jeder Taktflanke (fallen und steigend) Daten überträgt. >Die Chips liegen sozusagen parallel, aber um 180 Grad (90 Grad >verschoben), sodass man mit der doppelten / vierfachen Rate fahren kann, Vierfach sicher nicht. Das schafft man dur durch breitere Datenbusse. >Wie schnell müssen sich dann die Datenleitungen ändern können? Mit dem >normalen Takt oder dem 2fachen / 4fachen? 2fach. > Die doppelte Busbreite hat es ja wohl nicht, oder täusche ich mich? ??? >Bei DDR2 hätte ich jetzt gesagt, dass die Adressen mit z.B. 200MHz >wechseln, während die Datenleitungen mit 400MHz wechseln und der Takt >wiederum mit 200 MHz läuft, bei zwei Flanken also wie 400MHz. Datern laufen nicht mit MHz siondern Mbit/s. Die Adressen auf dem Adressbus laufen nur mit 200 Mbit/s (Single data rate, SDR), die Daten aber mit 400 Mbit/s (Dual data rate, DDR). >Wie ist das bei DDR3? Wo tritt die Vervierfachung auf? Keine Ahnung. >Laufen dann die Adressen auch mit 200 und die Daten mit 800? Glaub ich nicht. MFG Falk
Hallo Berndt Eggebrecht, ich stand genauso wie Du vor dieser Aufgabe. Ich sollte damals auch eine Platine mit einem FPGA und DDR2/3 Speicher entwickeln und hatte mich dazu in diese Materie eingearbeitet. Bei meiner alten Firma stand dazu auch nur Eagle zur Verfügung. Ich bin damals zu der Erkenntnis gekommen, dass ich dies nicht mit den vorhandenen Mitteln, der Zeit und der Erfahrung umsetzen konnte. Also hatte ich mir eine andere Lösung gesucht. Diese bestand darin eine fertige Platine mit genügend DDR-Speicher zu suchen. Ich kann Dir hierzu die Platinen von http://www.trenz-electronic.de/de/startseite.html an Herz legen. Ich hatte dann einfach eine Trägerplatine, welche die Spannung und die externe Kommunikation herstellt entwickelt. War damals ein wenig enttäuscht, hätte gerne einmal so etwas entwickelt um Erfahrungen zu sammeln. Aber dies war der beste Kompromiss um das Projekt erfolgreich abzuschließen. Vielleicht hilft Dir diese Info :-) Viel Glück.
Berndt Eggebrecht schrieb: > Eagle unterstützt keine Leiterbahnberechnung, Vermessung oder > automatisiertes Zeichnen, wie ich meine. Wie bekomme ich die auf > einander abgestimmten Längen hin? Selber berechnen? Das Skript "length.ulp" wurde ja bereits angesprochen, bestimmen der Länge von Leiterbahnen geht also relativ problemlos. Ich (Eagle 5-Nutzer, vielleicht hat Eagle 6 da etwas Erleichterung gebracht) sehe da aber eher das Problem, die Leiterbahn exakt auf die gewünschte Länge zu bekommen. Das geht nur mit Try & Error mit jeweiliger Kontrolle der Länge per length.ulp bzw. mit vorherigem Ausrechnen der für die gewollte Länge benötigten Geometrie. Geht sicher, aber in jedem Fall eine fummelige Sache.
Thomas K. schrieb: > Ich (Eagle 5-Nutzer, vielleicht hat Eagle 6 da etwas Erleichterung > gebracht) sehe da aber eher das Problem, die Leiterbahn exakt auf die > gewünschte Länge zu bekommen. Das geht nur mit Try & Error mit > jeweiliger Kontrolle der Länge per length.ulp bzw. mit vorherigem > Ausrechnen der für die gewollte Länge benötigten Geometrie. Geht sicher, > aber in jedem Fall eine fummelige Sache. Ab der Version 6 gibt es in EAGLE den Befehl "Meander", der einem viel Arbeit ersparen kann. Es ist natürlich immer noch kein Vergleich mit den Tools, die beispielsweise Altium oder Allegro bieten, aber für gelegentliche Multilayer mit impedanz- und längenkontrollierten Layouts reicht es aus. Ansonsten einfach einmal in der Demo-Version testen.
Falk Brunner schrieb: >>Wie ist das bei DDR3? Wo tritt die Vervierfachung auf? > > Keine Ahnung. Auch bei DDR3 Speicher gibt es keine Vervierfachung. Weiterhin nur die Verdoppelung. Vervierfachung wäre dann QDR. Habe allerdings noch nie QDR Speicher gesehen. Der macht quasi DDR im Dual-Port Mode, laut Wikipedia. Falk Brunner schrieb: > Das ist einfach, muss nur die richtige Breite der Leiterbahn bei > gegbener Lagendicke sein. Die Geometrie rechnet dir jeder Onlinerechner > schnell aus, siehe Wellenwiderstand. Allerdings spuckt auch jeder Rechner ein anderes Ergebnis aus. Die nutzen alle nur Näherungsformeln, die sich teilweise deutlich unterscheiden. Am vertrauenswürdigsten erscheint mir da noch der Open Source 2D Field Solver http://sourceforge.net/projects/mdtlc/ .
Tokyo Drift schrieb: > Allerdings spuckt auch jeder Rechner ein anderes Ergebnis aus. Ja, aber allzugrosse Genauigkeit darf man sowieso nicht erwarten, Abweichungen unter 5% sind sehr aufwendig zu fertigen. Ausserdem muss das der Layouter auch nicht genauer wissen, denn wenn es tatsächlich auf die Impedanz ankommt, führt kein Weg an der Fertigung mit kontrollierter Impedanz vorbei, und dann rechnet das der Hersteller unter seinen Bedingungen (Materialeigenschaften, verfügbare Prepregs und Cores, Fertigungsparameter) nach und korrigiert die Leiterbahnbreite entsprechend. Dazu müssen die kritischen Leiterbahnen im Layout erkennbar sein, etwa durch einen eigenen Breitencode - man kann z.B. für normale Leitungen 200 µ eingeben, für ebenso breite Leitungen mit 50 Ohm aber 201 µ. Ebenso gehört dazu beim Hersteller das Vermessen einer Kontrollleiterbahn auf korrekte Impedanz und ein Ausdruck darüber für jede Leiterplatte. Wenn man das Geld dafür nicht ausgeben will, bekommt man ziemlich zufällige Ergebnisse. Meistens wird das im Bereich +- 5..10% liegen, damit kann man in vielen Fällen leben, aber mit Pech könnte es auch mal mehr werden. Im Fall der kontrollierten Impedanz haftet der Hersteller dafür, was er zugesichert hat. Gruss Reinhard
> sehe da aber eher das Problem, die Leiterbahn exakt auf die > gewünschte Länge zu bekommen. Sooo exakt muss das auch wieder nicht sein. 1-2mm hin oder her machen da nichts aus. Man muss das ganze mal in Relation zum Datenauge sehen. 1ns sind auf der Platine so umara 15cm. Bei DDR3-1333 ist selbst ein matschiges Datenauge noch ~300ps offen. Reduzieren wir das mal auf +-100ps, gibt das immer noch eine Längendifferenz von +-15mm, da muss man schon heftige Umwege fahren...
Dabei gehst du aber von der ungestörten Platine aus. Wenn jetzt z.B. noch ein Gehäuse drum rum kommt kann es sein, daß es bei zu lockerem Umgang mit dem Längenabgleich ein Problem gibt. Üblicherweise sind diese dann besonders tückisch, da sie oftmals nur bei bestimmten Bitmustern / Bitmusterfolgen auftreten. Das zu finden ist ziemlicher Sackgang. Da investiere ich lieber beim Layout noch 2h mehr und gleiche die Länge auf +/- 3mm ab und hab hinterher genug Reserve um sicherzugehen, daß auch unter widrigsten Umständen die Signalqualität ausreicht.
Georg A. schrieb: > Bei DDR3-1333 ist selbst ein > matschiges Datenauge noch ~300ps ßoffen. Wie kommst du zu dieser Abschätzung?
Wieso, hab ich mich verschätzt? 1333 -> 750ps Data Cycle-Time. Nachdem die Erkennung der Pegel eine recht kleine forbidden area hat (AFAIR so +-100-150mV), kann das Signal schon ziemlich versaut sein und bei 300ps gültigem Auge zu >50% aus Slew, Ringing und Noise bestehen. Setup+Hold war bei 1333 AFAIR so um die 100ps, dh. bei optimalem Training könnte das Auge noch kleiner sein... Wenn was das Auge richtig versaut, sind es Probleme der Terminierung/Impedanz bzw. Übersprechen. Die 10ps, die pro 1.5mm Längenmismatch entstehen, gehen da eher unter.
Das mit dem Length Mismatch habe ich nun auch so ziemlich durch. Nach meiner Abschätzung sind es maximal 200ps je inch. Mit Eagle bekomme ich von der Länge sicher alles auf einen Zehntel Inch hin, wobei ich mir noch vergegenwärtigen muss, wie man Krümmungen berechnen muss. Mich wunderte nur, dass Du da 300ps out of the box parat hattest. So ganz habe ich es noch nicht verstanden, gestehe ich. Georg A. schrieb: > Setup+Hold war bei 1333 AFAIR so um die 100ps, wie und wo komme ich zu diesen Werten? Wenn ich den Jitter betrachte, den mismatch irgendwelcher Kapazitäten oder ähnliches - ist es das dann gewesen? (Angenommen, das Signal ist im wesentlichen sauber)? Soweit ich mich eingelesen habe, ist es technisch (k)ein Unterschied, ob ich DDR2 oder DDR3 nehme. Ich steuere z.B. mit 200MHz die Adressen und gebe in beiden Fällen 400MHz Daten aus. (ok, es sind 400 MBit, aber für mich zählt die Frequenz und damit die Reserve). Jedes physikalische RAM im DDR läuft intern mit 200MHz, sie sind nur um 180 Grad verschoben. Beim DDR3 müssten es dann 90Grad sein und entsprechend 4x200 MHz mit denen ich Daten abgegeben werden. Das bedeutet aber doch, dass man nur 1250ps hätte. Irgendwie blicke ich immer noch nicht durch oder ich habe nicht die richtigen Dokumente. > Bei DDR3-1333 Laut Wikipedia hätte Dein Beispiel "DDR3-1333" = "PC3-10600" eine Taktrate von 166 MHz und einen IO-Takt von 666 MHz. Bei 666MHz stehen die Daten maximal 1,5ns an. Warum nimmst Du mit 750ps nur den halben Wert?
Reinhard Kern schrieb: > führt kein Weg an der Fertigung mit kontrollierter > Impedanz vorbei, und dann rechnet das der Hersteller unter seinen > Bedingungen (Materialeigenschaften, verfügbare Prepregs und Cores, > Fertigungsparameter) Wird dann da die Leiterbahndicke modifiziert? Breiter werden geht ja wohl kaum, weil sich sonst die Abstände ändern.
Schau doch mal in ein DDR3-Datenblatt, die von Micron sind zwar lang (so 200 Seiten), aber recht schön lesbar... Da steht auch Setup/Hold etc. drin. > Bei 666MHz stehen die Daten maximal 1,5ns an. Warum nimmst Du mit 750ps > nur den halben Wert? Weil die -1333 die Anzahl der Megatransfers pro Sekunde sind. Der Takt von CK/CK# ist dann 666MHz.
Schon klar, es sind 2x666, aber oben war die Sprache von 750ps. Die wären für echte 1333 Taktzahl relevant, oder? Beim 666Takt z.B. wäre es ja konkret so, dass 1500 ps abzüglich Umschalten, Jitter, statischem Versatz und dynamischem Laufzeitversatz zur Verfügung stünden. Rührt daher der Schätzwert von 50% typischem Auge? Ich habe inzwischen ein Datenblatt von Micro gelesen, dass mich wieder etwas stutzig macht: Es wird ausgeführt, dass bei 233MHz Taktfrequenz im RAM insgesamt ein matching der Leiterbahnen von 15ps-Genauigkeit von Nöten ist, weil der Treiber von >1000ps benötigt und etliche Varianzen von Kapazitäten und Impedanzfehlern reinkommen. Ich muss nochmal suchen, wo das war. Was mich daran irritert, war die Bezugnahme auf jesweils den einfachen Takt und nicht den effektiven DDR3-Takt.
750ps pro Datenzyklus, sind ja zwei bei 666MHz=1.5ns. Grösser als die 750ps kann das Datenauge gar nicht werden ;)
Berndt Eggebrecht schrieb: > Wird dann da die Leiterbahndicke modifiziert? Breiter werden geht ja > wohl kaum, weil sich sonst die Abstände ändern. Natürlich die Breite - soviel Platz muss sein. Wenn du selbst sorgfältig gearbeitet hast, geht es ja nur um geringe Änderungen. Du must halt in deinen Rules genügend Reserve einkalkulieren, vertust du dich dabei, schickt dir der Hersteller dein Layout zurück mit der Bemerkung, dass er es so nicht fertigen kann. Ich nutze bei HS-Schaltungen die technischen Grenzen der Fertigung nie voll aus. Abgesehen davon hängt der genaue Wert ja auch vom Lagenaufbau ab, der Hersteller kann den ja so ändern, dass die Leiterbahnen schmäler werden. Er muss ja sowieso deine Vorgaben anpassen an seine Produktion, es sind eben nur bestimmte Core- und Prepreg-Dicken überhaupt verfügbar. Daraus muss er ein Konzept filtrieren, das die richtige Impedanz erzeugt und mit deinen Vorgaben nicht allzusehr auf Kriegsfuss steht, was durchaus in echte Denkarbeit ausarten kann. Du hast recht, wenn du dich so verrechnet hast, dass keine Anpassung möglich ist, dann kannst du dir das Layout als Grafik an die Wand hängen. Gruss Reinhard
Georg A. schrieb: > 750ps pro Datenzyklus, sind ja zwei bei 666MHz=1.5ns. Grösser als die > 750ps kann das Datenauge gar nicht werden ;) Ja, ok, nun habe ich den DDR-Aspekt wieder unterschlagen. Reinhard Kern schrieb: > Lagenaufbau -ok, mit der Fertigung blicke ich jetzt langsam durch. Bleiben die Restfragen zum DDR3. Wer kennt sich da aus? - Aus den Datenblättern werde ich nicht schlau. Als Beispiel nehme ich 166 MHz Clk Adr Daten DDR1 166 166 2x166 = 333 DDR2 333 166 4x166 = 666 DDR3 666 166 8x166 = 1333 -> Auge 750ps Bei einem 233 8x233 = 1867 -> Auge 553ps Stimmt das so?
Korrektur: Sieht vernünftig aus. Die Fortsetzung wäre dann: DDR3 667 167 8x167 = 1333 -> Auge <750ps DDR3 800 200 8x200 = 1600 -> Auge <625ps DDR3 933 233 8x233 = 1867 -> Auge <535ps DDR3 1067 267 8x267 = 2133 -> Auge <470ps Das sind aber die maximalen Augenbreiten!
So, ich habe das Datenblatt wiedergefunden. In der APP "183TN4611.pdf" von Micron findet sich u.a. folgende Darstellung: ----------------------------------------------------------------- Component Setup Hold Units Comment ----------------------------------------------------------------- Total skew 1,875 1,875 ps 266 MHz period = 3.75ns per half Transmitter skew -790 -790 ps Vendor data sheet Receiver skew -500 -500 ps Vendor data sheet ISI -105 -105 ps Simulation Crosstalk -165 -165 ps Simulation VREF noise -200 -200 ps Calculation from spec Termination-R toler -20 -20 ps Simulation Path length mismatch -30 -30 ps Calculation from spec CIN mismatch -50 -50 ps Simulation Remainder 15 15 ps Margin ----------------------------------------------------------------- 266 MHz sind Periode 3,75 und die Hälfte, mit Rücksicht auf DDR sind 1,875ns -> so weit ok! Aber warum bezieht man sich auf die 266MHz? Das sind doch die Adressen. Die Daten laufen doch viel schneller, nämlich mit dem 4fachen! Beim Beispiel der 200Mhz wären es 1600 MHz Datentakt DDR, also 800! Wieso bezieht man sich dennoch auf die 200. Das kommt doch dann niemals hin.(????) Noch eine Frage: Was ist denn hier ISI? Was ich auch nicht verstehe, warum ist die absolute skew wichtig? - ich dachte, nur die Variation, sei von Bedeutung.
DDR, nicht DDR2/3... Die gehen also von einem 133MHz DDR aus. Deswegen sind das alles so grosse Werte ;) ISI = Inter Symbol Interference, die Störungen durch die Daten einen Takt vorher.
Wenn ich das Ganze für ein anderes Timing aufziehe, komme ich nicht hin. Z.B. sind oben in der Tabelle gehörige 0,5ns skew beschrieben. Das passt aber mit den Timings für das Auge nicht. DOkumente habe ich inzwischen inspiziert und es ist auch klar, dass es ein DDR3- Design werden wird.
(ich weiß nicht, ob es schon genannt wurde) Um das Augendiagramm bei den genannten Frequenzen aufzunehmen, benötigst Du zudem ein hochwertiges Oszilloskop. Und damit ist jetzt kein Gerät im unteren vierstelligen Bereich gemeint...
Geeigente Messmittel stehen mit aus einer Nachbarabteilung zur Verfügung. Zudem bin ich dort in Sachen DDR3 fündig geworden: Beitrag "Re: Erfahrungen mit Sundance - FPGA - boards" Das Design ist unterwegs und in Produktion. Hoffen wir mal das Beste. Werde mich nun mit der Ansteuerung auseinandersetzen.
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.