10-18-2019 11:30 AM
For the synchronous XPM FIFO macro I want to know if when the generic FIFO_MEMORY_TYPE is set to "block", is the FIFO that's instantiated using actual FIFO primitives (FIFO36E2 etc.) or just using BRAM and without any of the supporting FIFO primitives logic?
(see pg 111 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug974-vivado-ultrascale-libraries.pdf)
Thanks in advance.
11-11-2019 07:32 AM
Hi @awoz92gmu
It will utilize the block RAM primitives (RAMB18E2 /RAMB36E2) . Currently Built in FIFO (FIFO18E2 /FIFO36E2) infernece is not supported through XPM template and alternative is to use the FIFO Generator IP core or direct instatiation of FIFO primitives.
Being said that you dont need extra glue logic for Data counts or some of the programmable flags, It is already included in XPM source code.
11-11-2019 06:31 AM
Hi @awoz92gmu
I would suggest trying a quick testcase and looking at the primitives used in the implemented design. I would expect it will try to use the FIFO primitive.
Sandy
11-11-2019 07:32 AM
Hi @awoz92gmu
It will utilize the block RAM primitives (RAMB18E2 /RAMB36E2) . Currently Built in FIFO (FIFO18E2 /FIFO36E2) infernece is not supported through XPM template and alternative is to use the FIFO Generator IP core or direct instatiation of FIFO primitives.
Being said that you dont need extra glue logic for Data counts or some of the programmable flags, It is already included in XPM source code.