Hallo,
ich besitze ein Spartan3E und wage mich gerade an die Ansteuerung eines
DDR SDRAM's(Micron512Mb).Anschließend muss ich in den RAM geschriebene
Werte in irgendeine Weise auf dem Rechner ausgeben(als Hex oder
Textdatei mit RS232 o.ä.).
Nun merke ich gerade beim Durchlesen der Datenblätter des RAM's,das die
Umsetzung in VHDL keine so einfache Sache wird.Ohne Referenzen oder
Beispielprojekte sehe ich da schwarz.
Vielleicht gibt es ja jemanden der Lust hat mir zu helfen.Wäre sehr
dankbar dafür.
Hallo,
ich habe auch das S3E Board, und habe in dem Zusammenhang einen eigenen
DDR Controller geschrieben.
Er bietet nach "innen" einen 64Bit Wishbone Bus mit 66MHz, nach aussen
entprechend 133MHz DDR bei 16 Bit Breite.
Dokumentation fehlt noch, ebenso wie ein kleiner, einfacher Test-Case
und ein paar optimierungen. Aber er funktioniert zusammen mit Leon3 in
einem kompletten SoC auf dem Board.
Siehe:
https://roulette.das-labor.org/trac/browser/vhdl/Tests-S3E/soc_leon3/wb_ddr
j.
Hier hat jemand den OC Controller für das Spartan Board angepasst:
http://www.xdr.com/dash/fpga/
Dann gibt es in der Xilinx Memory Corner noch einen Controller.
Moin
An der Ansteuerung des DDR SDRAM's auf dem Spartan3E Kit, bin ich auch
gerade dran.
Prinzipiell hatte ich vor den LA von Sump [1], auf das Spartan 3E Kit zu
portieren. Allerdings komme ich im Moment aus Zeitgründen nicht wirklich
vorran.
Bei Xilinx gibt es nach Anmeldung einen Memory Interface Generator. Ich
hab ihn mir zwar noch nicht näher angesehen, aber angeblich soll der ein
Interface zur einfachen Ansteuerung des SDRAM erzeugen können.
Holger M.
[1] 100/200 MHz Logikanalysator (Spartan 3, SRAM)
Beitrag "100/200 MHz Logikanalysator (Spartan 3, SRAM)"
Zumindest bis MIG 1.5 gibt es mit dem Spartan3e Board Probleme (der
generierte Code läuft nicht ohne Anpassungen). Version 1.6 soll
zumindest Verilog-Code erzeugen können. Für VHDL gibt es deshalb ein
Archiv das vorgenerierte und angepasste Controller enthält. Einfach mal
nach "s3e_starter_revd_mig_ddr[1].zip" googeln. Es gibt hier im Forum
auch einen Thread darüber.
Hi, hat zwar nicht direkt mit dem Thema zu tun,
aber ich hab gester nen uralten EDO-RAM am Mega16
in Betrieb genommen. SIMM30, 2 Ports des µC wurden
verwendet, 1MB RAM.
Es wird zwar in den Dokus immer von Refresh im ms
Bereich geschrieben, aber hab durch Versuche ermittelt,
das man ohne Probleme bzw. Datenverluste mehrere Sekunden
warten kann ohne das ein Bit verloren geht.
5-6 Sekunden sind auf alle Fälle drin.
Ansteuerung mäßig schwierig, Kosten lachhaft.
Hab 27 Bausteine für € 1,99 erstanden.
Es besteht ein Problem mit dem Sicherheitszertifikat der Website.
Das Sicherheitszertifikat dieser Website wurde nicht von einer
vertrauenswürdigen Zertifizierungsstelle ausgestellt.
Die Sicherheitszertifikatprobleme deuten eventuell auf den Versuch hin,
Sie auszutricksen bzw. Daten die Sie an den Server gesendet haben
abzufangen.
Es wird empfohlen, dass Sie die Webseite schließen und nicht zu dieser
Website wechseln.
Wenn Sie zu dieser durch einen Link weitergeleitet wurden, dann
überprüfen Sie die Websiteadresse in der Adressleiste, um
sicherzustellen, dass dies die erwartete Adresse ist.
Wenn Sie zu Websites wie https://example.com wechseln, versuchen Sie
"www" zu der Adresse hinzuzufügen (https://www.example.com).
Geben Sie keine persönlichen Informationen auf der Website an, wenn Sie
diesen Fehler ignorieren und den Vorgang fortsetzen.
Weitere Informationen erhalten Sie unter "Zertifikatfehler" in der
Internet Explorer-Hilfe.
Da hat der IE schon recht -- der Server benutzt https, hat aber kein
teures, offizielles Zertifikat dem Microsoft vertraut.
Mein Zertifikat kommt von CaCert.org; die beglaubigen, dass der Rechner
meiner ist -- nur vertraut der IE per default den CaCert Leuten nicht,
daher die Warnung.
Du kannst an der Stelle ganz beruhigt OK klicken und weitermachen, die
Verbindung wird sogar auch verschluesselt.
j.
* Siehe auch http://www.ccc.de/https/
Hallo,
Interessant; ich wusste nicht dass sich die S3E DCMs von den S3 DCMs
unterscheiden -- mir ist nur aufgefallen, dass das Overflow Statusbit
nie gesetzt wurde. Meine ISE Versionen haben auch nie ein Wort darueber
verloren...
Also unter Linux setzt du die Environment Variable mit "export
XIL_MAP_ALLOW_VARIABLE_CLKOUT_PHASE_SHIFT=1" bevor du ISE startest.
Bei Windows weiss ich es nicht genau -- glaube das ist in den
Programm-Eigenschaften: also rechts Klick auf das ISE Icon und dort
suchen.
Es gibt aber noch eine Alternative: Bei dem S3E Board brauchst du den
Variablen-Phase-Shift gar nicht -- ich habe die richtige
Phasenverschiebung schon eingetragen. Du kannst also in DDRDCM.vhd in
Zeile 93 CLKOUT_PHASE_SHIFT => "VARIABLE" auf "FIXED" umstellen.
j.