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