Hallo, ich habe michjetzt hier angemeldet, da ich einfach keine Lösung zu folgendem Problem finde: Ich habe ein Altera Board DE2-70 und möchte auf den SDRAM zugreifen (ISSI IS42S16160B). Im Internet habe ich einen Treiber gefunden, die Bugs behoben und ihn auf meinen RAM modifiziert. Mit ModellSim arbeitet er jetzt genau so, wie es das Datenblatt vorschreibt (oder genauer gesagt so, wie ich es aus dem Datenblatt rauslese ;-) ). Das Problem: Ich bekomme die Daten nicht aus dem SDRAM ausgelesen. Als Anlage hänge ich mal die Diagramme aus SignalTap an. Auf dem zweiten Bild sieht man den ausgelesenen Inhalt, der nichts mit dem zu tun hat, das ich einlese. Leider habe ich keinen echten Logikanalyser, um mir die Signale "ich echt" anzusehen. Die Befehle werden mit 3ns vor dem SDRAM Clock erzeugt. Der Ausgang wird mit SDRAM Clock ausgelesen.
Was für einen Core verwendest du? Ich habe bisher mit dem ALTMEMPHY Core gearbeitet, da geht das eigentlich alles recht straight forward. Core mit den Daten aus dem Datenblatt erzeugen (evtl gibts sogar schon ein fertiges Preset) und dann über das local Interface einfach ansteuern, das hat mich vielleicht 3-4h gekostet bis das alles lief. Für dein Problem: Hast du die Byte-Enables richtig gesetzt beim schreiben?
Ich habe keinen speziellen IP-Core benutzt, sondern einfach einen Treiber aus dem Internet adaptiert. Ob der einen Namen hat, weiss ich nicht. Der ALTMEMPHY Core funktioniert erst ab Cyclon III und höher. Mein Board hat aber noch einen Cyclone II. Es gibt zwar einen IP-Core zum Speicherzugriff, da bleibt aber der eigentliche Quellcode verschlüsselt. Deshalb habe ich ihn nicht genutzt, denn ich will ja etwas dabei lernen. Das Problem habe ich übrigens doch noch lösen können: Durch die beiden DQM Signale werden die Tri-State Ausgänge des SDRAM gesteuert. Ich habe gedacht, dass genügt um den bidirektionalen Bus zu kontrollieren und hatte mich deshalb auf der FPGA Seite nicht weiter darum gekümmert. Erst nachdem ich den Bus auch hier mit VHDL genau gesteuert hatte, gelingt nun der Zugriff.
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.