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.
Du bekommst dann zwei 16 Bit Worte am Ausgang zur Verfügung gestellt. Nennt sich Bus-matching FIFO. Verworfen wird nix.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.