Forum: FPGA, VHDL & Co. Frame mit Fifo verzögern


von Hans (Gast)


Lesenswert?

Hallo,

Ich bekomme einen Frame über eine 4Bit breite Ethernetschnittstelle in 
meinen FPGA. Nun möchte ich diesen Frame verzögern. Dafür könnte ich 
doch sicherlich einen fifo verwenden. Leider weis ich nicht wie ich 
verschieden lange verzögerungszeiten realisieren kann. Die größe des 
fifos kann man ja nicht einfach so verändern wenn ich das richtig sehe. 
Wie würdet ihr das lösen?

Danke!

von Jan M. (mueschel)


Lesenswert?

Du verwechselst Fifo und Schieberegister. Bei einem Schieberegister 
fallen die Daten am Ende einfach raus, bei einem Fifo ist das gar kein 
Problem: Einfach mit dem Lesen so lange warten (nachdem der Fifo nicht 
mehr leer ist) wie die Verzoegerung sein soll.

von Roger S. (edge)


Lesenswert?

Ein RAM Block mit getrenntem Read-/Write-Port.
Distanz der read und write addresse gibt dir die Verzoegerung in clock 
cycles. Wenns MII ist, dann machs 6 Bit breit und nimm DV und ERROR 
dazu.

Die Distanz kannst du on-the-fly veraendern, jedoch brauchts noch ein 
bisschen Logik um glitches zu verhindern, wenn dir das aber egal ist, 
einfacher kanns nicht sein.

Cheers, Roger

von Hans (Gast)


Lesenswert?

Wo finde ich denn soeinen Ram Block? Gibts sowas bei OpenCores? Ich 
steig da nicht anz durch.

von Roger S. (edge)


Lesenswert?

LPM Wizard, coregen oder wie sie alle heissen. Du koenntest das RAM auch 
in HDL beschreiben und die Synthese wirds dann vielleicht in ein RAM 
umsetzen.

Cheers, Roger

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.