Forum: FPGA, VHDL & Co. FIFO Anfängerfrage


von Gast (Gast)


Lesenswert?

Hi

hab da mal ne Anfängerfrage zum FIFO Coregen von Xilinx.
Wenn ich da ein FIFO Erzeuge mit 32bit "Eingangs-Wortbreite " und 16 bit 
"Ausgangs-Wortbreite", werden die 32bit Worte beim auslesen dann wie 2 
einzelne 16bit Worte behandelt oder werden die ersten 16 bit des Wortes 
dann einfach verworfen? verstehe da die Erklärung von Xilinx im 
ensprechenden Core Handbuch nicht so richtig ...

Wollts nur abklären bevor ich da irgendwie dummen Anfängermist baue.
Danke wenn mir das jemand erklären kann.

von Christian R. (supachris)


Lesenswert?

Du bekommst dann zwei 16 Bit Worte am Ausgang zur Verfügung gestellt. 
Nennt sich Bus-matching FIFO. Verworfen wird nix.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wenn für den Fifo ein BRAM verwedet wird (was naheliegt), dann wird das 
32-Bit Wort auf 2 aufeinanderfolgende 16-Bit Worte abgebildet.
1
This feature is available for FIFOs implemented with block RAM 
2
that are configured to have independent write and read clocks.
Dazu solltest du dir also mal das Thema BRAM noch ansehen.

von Stefan K. (stefan82)


Lesenswert?

Probier es doch einfach im Coregen aus...
Voraussetzung BRAM mit Independend Clocks
(sonst bietet er die Optionen nicht an, glaub ich)
1
Write Width |32| Range(1,2,3,...,256) 
2
Write DEPTH |1024| actual write depths: 1024
3
Read Width  |16| Range(1,2,3,...,256)
dann wird Coregen dir ausrechnen:
1
Read DEPTH |2048| actual read depth: 2048
...

es wird also nichts verworfen sondern die Speichertiefe der Leseseite 
verdoppelt.

Gruß,

Stefan

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.