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


von Nick (Gast)


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?

von Kest (Gast)


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

von Nick (Gast)


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!!

von Jan M. (mueschel)


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.

von Kest (Gast)


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

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.