mikrocontroller.net

Forum: FPGA, VHDL & Co. DDR SDRAM als FIFO nutzen


Autor: Nick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin,

Ich habe ein Evaluation board mit einem Virtex 4 FX 12. Wer den Baustein 
kennt, weiß das er mit RAMB´s nicht gerade gesegnet ist. Ich muss 
allerdings zeitweise größere Datenmengen zwischenspeichern. Auf dem 
board ist zusätzlich noch ein DDR SDRAM von INFINEON mit 512Mb. Diesen 
Speicher würde ich gerne zum Zwischenspeichern in Form eines FIFO´s 
nutzen. Hat jemand Erfahrungen oder eine Idee wie ich das 
bewerkstelligen kann?

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als erstes DDR-SDRAM-Controller programmieren oder EDK-eigenen 
implementieren. Dann einfach eine State-Machine in Form von

if write_request and SDRAM_not_full then write_one_burst

if read_request and SDRAM_not_empty then read_one_burst

In C (fallst Du microblaze) nimmst, dann ist alles wohl noch einfacher.


Gruß,

Kest

Autor: Nick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm,

aber wie läuft das mit der Adressierung?
Die muss dann ja beim Reinschreiben von dem DDR-SDRAM-Controller 
übernommen werden.

Und beim Auslesen muss ich die selber Adressen wieder abrufen?!

oder kann man den DDR-SDRAM überreden seine DAten wie ein FIFO selber 
weiter zu schieben. Oder muß das wieder im Controller passieren. Wenn ja 
denke ich doch mal, dass das FULL und EMPTY auch im Controller erzeugt 
werden muss oder. Habe da momentan keine Vorstellung!!

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Adressierung musst du uebernehmen. Das sind zwei Counter, einer zum 
Schreiben, einer zum Lesen. full und empty kannst du dann einfach durch 
Vergleich der beiden Counter erzeugen.

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Thema ist doch etwas komplexer. Wie Jan M. (mueschel) schrieb, gibt 
es zwei Zähler. Beim Schreiben wird schreibzähler und beim lesen -- 
lesezähler inkrementiert. Die Überläufe müssen erkannt werden und so 
weiter und so fort. Such' mal nach FIFO in VHDL, also nicht als 
Black-Box sondern als source. Lies mal durch, versuch' zu verstehen, wie 
das funktioniert, implementiere DDR-Controller, schmeiß alles zusammen, 
ordentlich rühren, fertig.

Grüße,

Kest

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.