Gast
#6364980
Hallo zusammen, ich habe das DE0-Nano-Board von Terasic. Darauf sitzt ein Cyclon 4 FPGA und ein ISSI IS42S16160G-7TLI SDRAM, siehe Datenblatt anbei. Mein Ziel ist es nun, von FPGA Daten in das SDRAM zu schreiben und später wieder auszulesen. Dazu habe ich einen SDRAM-Controller in VHDL (basierend auf dieser Verilog-Version: ) geschrieben sowie ein Modul (memory_manager.vhd), das auf einer Ebene höher die Schreib- und Lesevorgänge steuert. Alles was dazu gehört (Testbench, macro-File für ModelSim und sogar das Modell des SDRAMs) habe ich angehängt. In der Simulation funktioniert es auch - ich kann Daten in das SDRAM schreiben und später wieder auslesen. Auf dem DE0-Nano habe ich jedoch Probleme: Wenn ich wie in der Testbench aufsteigende Werte in das SDRAM schreibe und danach wieder auslese, dann sind die Werte verschoben (wenn ich die Werte 0..299 i schreibe, dann bekomme ich 1..299 (und als letzten Wert etwas ganz anderes) zurück). Ich vermute daher, dass das Timing einfach noch nicht ganz stimmt. Was habe ich schon versucht: Ich habe per PLL den Takt clk auf 125MHz eingestellt und clk_sdram ebenfalls auf 125MHz, aber mit 270° Phasenverschiebung zu clk. Über Tipps würde ich mich sehr freuen. Bitte lasst wissen, wenn ihr noch weitere Infos benötigt. Viele Grüße, Paul