Hallo, ich habe eine kurze Frage zu DDR2 Speicher (ich meine nur die reinen ICs, nicht Speichermodule fürn PC/Laptop). Und zwar sind da ja immer maximale Taktfrequenzen angegeben, für gewöhnlich 200, 266, ... MHz. Wenn ich mir nun einen 200MHz nehme, darf ich den dann auch einfach mit 60Mhz takten? Und wie siehts mit den Refreshzyklen aus, die muss man ja soweit ich das bislang gesehen habe immer manuell auslösen. Muss ich das dann entsprechend umändern, dass sie noch in den gleichen Intervallen gemacht werden oder darf ich die dann auch entsprechend seltener machen?
Also DDR Speicher besteht aus Kondensatoren, d.h. sie müssen alle xtel Sekunden refresht werden. Dabei ist es egal ob sie mit 60 oder 200Mhz getaktet sind (denke ich zumindest). Untertakten ist eigentlich immer möglich. Allerdings glaub ich, dass es irgendwann eine Grenze gibt. Probiers doch einfach mal aus.
@ Fabian S. (jacky2k) >Wenn ich mir nun einen 200MHz nehme, darf ich den dann auch einfach mit >60Mhz takten? Kann funktionieren, wahrscheinlich aber eher nicht. Die Dinger haben meist PLLs oder ähnliche Sachen drin, um bei den hohen Taktraten Phasenlagen von Takten auszuregeln, diese PLLs arbeiten aber nur in einem eher kleinen Frequenzbereich. > Und wie siehts mit den Refreshzyklen aus, die muss man ja >soweit ich das bislang gesehen habe immer manuell auslösen. Es gibt auch das Kommando AUTOREFRESH, wobei ich mich aber mit den Details nicht auskenne. > Muss ich das >dann entsprechend umändern, dass sie noch in den gleichen Intervallen >gemacht werden oder darf ich die dann auch entsprechend seltener machen? Praktisch geht das auch langsamer, garantieren wird dir das aber keiner. Zum Basteln ggf. OK, sonst nicht. Aber man nimmt keinen DDR-RAM, um ihn dann deutlich zu untertakten. Da nimmt man gleich langsameren SDRAM oder SRAM. Siehe Speicher. MFG Falk
Mit kleinerer Frequenz takten sollte gehen, die Rams werden aber dann nicht mehr innerhalb der Spezifikation betrieben. Beim B-Scan werden DDR Rams mit deutlich kleinerer Frquenz getaktet und das läuft ganz gut.
Naja ich brächte für ein Projekt etwas Speicher, so 32-128MB wo ich ca. 20-40MB/sec rein schieben können muss. Hat jemand einen besseren Vorschlag? DDR wäre halt cool gewesen, weil der FPGA dafür nen fertiges Interface besitzt.
@ Fabian S. (jacky2k) >Naja ich brächte für ein Projekt etwas Speicher, so 32-128MB wo ich ca. >20-40MB/sec rein schieben können muss. SDRAM. >Hat jemand einen besseren Vorschlag? DDR wäre halt cool gewesen, weil >der FPGA dafür nen fertiges Interface besitzt. SDRAM ist praktisch das Gleiche, nur einfacher und langsamer. Die reagieren auch weniger allergisch auf Underclocking. MFG Falk P S. Dass DDR-RAM beim Bondary Scan getestet wird wäre mir neu. Hab noch nie einen IC mit JTAG Interface gesehen. Ich behaupte mal, die werden sinnvoll im FCT (Funktionstest) geprüft, da kann man das alles deutlich einfacher und unter realen Bedingungen.
Wenn das DDR Ram am FPGA Ram Controller angeschlossen ist sind alle Signale per B-Scan stimulierbar. Man kann alle Ramzellen schreiben/lesen.
Falk Brunner schrieb: > P S. Dass DDR-RAM beim Bondary Scan getestet wird wäre mir neu. Hab noch > nie einen IC mit JTAG Interface gesehen. Ich behaupte mal, die > werden sinnvoll im FCT (Funktionstest) geprüft, da kann man das alles > deutlich einfacher und unter realen Bedingungen. Das geht schon, so per quasi-Bit-Banging. Man kann über die Boundary-Scan Zellen des angeschlossenen Controllers Patternabfolgen anlegen, die das RAM beschreiben oder auslesen. Ist nicht schnell, reicht aber z.B. für einen Verbindungstest. BTDT.
@ Rudolph (Gast) >anlegen, die das RAM beschreiben oder auslesen. Ist nicht schnell, >reicht aber z.B. für einen Verbindungstest. BTDT. Glaub ich aber nicht für DDR-RAM, der läuft AFAIK nicht mit ein paar Hz oder kHz. SRAM der alten Sorte ist was anderes. Ebenso FLASH. MFG Falk
Falk Brunner schrieb: > Glaub ich aber nicht für DDR-RAM, der läuft AFAIK nicht mit ein paar Hz > oder kHz. SRAM der alten Sorte ist was anderes. Ebenso FLASH. Naja ich hatte da schon so an 60MHz gedacht. Aber eben halt keine 200MHz. Zumal ich mir das Routing für 200MHz nicht zutraue :D
Fabian S. schrieb: > Naja ich hatte da schon so an 60MHz gedacht. Aber eben halt keine > 200MHz. Zumal ich mir das Routing für 200MHz nicht zutraue :D Die absolute Frequenz hat damit nur zweitrangig etwas zu tun. Untertakten wird dir also nur bedingt etwas helfen. Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat, sollte man lieber bei einem Evaluationsboard bleiben. Wobei man bedenken sollte, dass serielle Busse wesentlich besser handhabbar sind als ein paralleler Bus. Je nach Anwendung wäre also Flash-Speicher (z.B. mehrere serielle Flashes) durchaus eine Alternative.
Stefan L. schrieb: > Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat, > sollte man lieber bei einem Evaluationsboard bleiben. Joa das würde ich jetzt nicht sagen. Habe zumindest ein paar Grundkenntnisse. Und in den Rest wollte ich mich dann einlesen. Aber ich weiß nicht mal ob die Professional Eagle Version bei sowas Unterstütung bietet, also Length-Matching etc.
Wie gesagt, es ist ziemlich egal, ob du den RAM mit 60 MHz oder 200 MHz taktest. Und letzteres traust du dir ja selbst nicht zu (deinem letzten Post zu urteilen auch zurecht).
Ich kann mich dunkel daran entsinnen, im MIG von Xilinx eine Mindestfrequenz von 75MHz gesehen zu haben (für SDRAM AFAIK), was wohl, wie Falk schon sagte, an den eingebauten PLLs liegen dürfte. > Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat, > sollte man lieber bei einem Evaluationsboard bleiben. Naja, wenn man sich die EvalBoards mal näher anschaut, dann stellt man häufig fest, das die Layouts (auch der grossen Firmen) eine einzige Katastrophe sind. Z.B.: Xilinx: ich habe hier ein SPARTAN 3E EvalBoard herumfliegen, auf dem es vor Stubbs nur so wimmelt, selbst bei der SDRAM-Anbindung. XILINX warnt in seinen eignen DBs und AppNotes genau vor sowas. Aber dafür sind die Boards bezahlbar und funktionieren (meist aber nicht in der EMV, hier ist es aber i.d.R. egal). Gruss Uwe
Hmm irgendwie scheint ihr mit euren Meinungen auf keinen gründen Zweig zu kommen :D Ich habe mir nun grade mal bei Farnell SDRAM rausgekramt: http://www.farnell.com/datasheets/52716.pdf Auf Seite 7 steht fürs Maximum der "CLK cycle time" 1000ns. Ist das der Wert nach dem ich suche? Also dürfte ich den nuntheoretisch mit 1MHz takten?
Fabian S. schrieb: > Hmm irgendwie scheint ihr mit euren Meinungen auf keinen gründen Zweig > zu kommen :D Du weisst offensichtlich auch nicht recht, was du willst: DDR2 |= SDRAM ;-)
Ohh das kam etwas blöd rüber, mit DDR2 habe ich nun abegeschlossen, da das nicht zu funktionieren scheint. DDR ist der gleiche Mist, desshalb schau ich nun bei SDRAM.
Was Uwe wohl meinte, ist, daß sowohl DDR-, als auch DDR2- (und sogar DDR3-) allesamt Varianten von SDRAM sind. Halt mit doppelter Datenrate und zunehmend anspruchsvollerem Timing.
@ Fabian S. (jacky2k)
>Das sind doch aber schon noch unterschiedliche ICs?
Logisch!
Rufus t. Firefly schrieb: > ... daß sowohl DDR-, als auch DDR2- (und sogar DDR3-) allesamt Varianten von SDRAM sind. Ja, genau ;-) Das "|" sollte eigentlich "NOT" bedeuten ...
Ohh man reden wir alle an einander vorbei :D Kann mir denn jemand sagen ob das was ich den dem SDRAM Datenblatt gefunden hatte das ist was ich gesucht habe?
@ Fabian S. (jacky2k) >Kann mir denn jemand sagen ob das was ich den dem SDRAM Datenblatt >gefunden hatte das ist was ich gesucht habe? Ja, dein SDRAM kann mit minimal 1 MHz getaktet werden. Das entbindet dich aber nicht von der Notwendigkeit eines sauberen Layouts, denn die IOs schalten bei 1 MHz genauso schnell (ca. 2ns Anstiegszeit) wie bei 100MHz, siehe Wellenwiderstand. MFG Falk
Hmmm joa hast Recht :-/ Sollte man da schon mit Abschlusswiderständen arbeiten oder reichts die Leitungen so kurz wie möglich und gleich lang zu machen?
@Fabian S. (jacky2k) >Sollte man da schon mit Abschlusswiderständen arbeiten oder reichts die >Leitungen so kurz wie möglich und gleich lang zu machen? Den Takt mit Serienterminierung, der Rest möglichst kurz ohne Terminierung, das reicht für 100 MHz SDRAM. MFG Falk
Den Rest nicht terminiert, weil er bidirektional ist? Oder weil der Pegel eh stabil ist, wenn die Taktflanke kommt?
@ Simon K. (simon) Benutzerseite >Den Rest nicht terminiert, weil er bidirektional ist? Nein. > Oder weil der Pegel eh stabil ist, wenn die Taktflanke kommt? Jain. Weil die Leitungen meist kurz genug sind, um wenig Reflexionsprobleme zu machen (3-5cm). MFG Falk
Na gut, hört sich ja alles erstmal nicht soooo schlech an. Werden nun vermutlich einen SDRAM nehmen mit 32MByte und 8Bit Dateninterface (uns ist aufgefallen, dass wir sonst nicht genügend Pins haben :D) Nochmal zu dem Autorefresh: Soweit ich das aus dem Datenblatt von dem Chip den wir nun nehmen wollen entnehmen kann heißt das zwar Auto Refresh, ist aber alles andere als automatisch. Seite 37: http://download.micron.com/pdf/datasheets/dram/sdram/256MSDRAM.pdf Darin heißt es: > This command is nonpersistent, so it must be issued each time > a refresh is required. Meine Frage nun: was passiert wenn ich den Refresh nicht rechtzeitig mache? Gehen dann "nur" Daten flöten oder kann da schlimmeres passieren?
Wenn der Refresh nicht rechtzeitig kommt gehen Daten verloren. Mehr passiert da eigentlich nicht, höchstens ein bischen mehr Stromverbrauch für Bits an der Grenze. Wenn es realtiv kühl ist, hat man ggf. auch deutlich mehr Zeit für den Refresh. Ein Zugriff auf die Daten sorgt auch schon für einen Refresh in dem entsprechenden Datenbereich.
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.