DDR SDRAM als FIFO nutzen

Gast #592967
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?
Gast #593008
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
Gast #593021
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!!
Gast #593043
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren