cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
awoz92gmu
Observer
Observer
980 Views
Registered: ‎11-26-2018

XPM FIFO MACRO, how is FIFO being realized when FIFO_MEMORY_TYPE = "block" ?

Jump to solution

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. 

0 Kudos
Reply
1 Solution

Accepted Solutions
pthakare
Moderator
Moderator
874 Views
Registered: ‎08-08-2017

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.

 

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
2 Replies
sandrao
Community Manager
Community Manager
881 Views
Registered: ‎08-08-2007

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

Thanks,
Sandy

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
pthakare
Moderator
Moderator
875 Views
Registered: ‎08-08-2017

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.

 

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply