Forum: FPGA, VHDL & Co. SDRAM auf Altera Board auslesen


von Stefan R. (stefripp)


Angehängte Dateien:

Lesenswert?

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.

von D. I. (Gast)


Lesenswert?

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?

von Stefan R. (stefripp)


Lesenswert?

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
Noch kein Account? Hier anmelden.