mikrocontroller.net

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


Autor: Stefan R. (stefripp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan R. (stefripp)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.