cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jboehler
Observer
Observer
721 Views
Registered: ‎06-06-2019

Customize AXI4-Stream Data Fifo

I'm trying to customize an AXI4-Stream Data fifo in my block design, however, I'm struggling in finding the settings which are mentioned in this user guide (page 46):

https://www.xilinx.com/support/documentation/ip_documentation/axis_infrastructure_ip_suite/v1_1/pg085-axi4stream-infrastructure.pdf

I'd like to activate the flags which indicate that the fifo exceeded the almost full/almost empty thresholds. However, when I try to customize the IP, my screenshot looks like the picture below. The sections for "flags" is just not there.

Any ideas why? I looked for other AXI4-Stream IPs in the IP catalog but couldn't identify something suitable.

image.png
0 Kudos
3 Replies
john
Contributor
Contributor
704 Views
Registered: ‎05-17-2018

Your version is too old (v1.1), the programmable empty/full ports were added in v2.0 (shipped since vivado 2018.3)

0 Kudos
jboehler
Observer
Observer
698 Views
Registered: ‎06-06-2019

Thanks for the quick reply, that makes sense. So is there any chance to get some information about the state of fullness of that fifo? There is some ports on the fifo: axis_data_count, axis_rd_data_count and axis_wr_data_count. I guess these indicate the amount of datawords which are stored in it? I assume axis_rd_data_count tells me how many words i can ready until the fifo is empty while axis_wr_data_count is the number of words already written into it (so storage capacity minus this value is what I can put in until it's full)?

For axis_data_count I didn't find any explanation (neither in the datasheet nor somewhere else). What is its purpose?

0 Kudos
john
Contributor
Contributor
680 Views
Registered: ‎05-17-2018

yes, the two counters are obviously going to match in your case, but they can differ in other configurations (for example in an asymmetric fifo with tdata of different size on the master and slave interface or in presence of latency caused by clock domain crossing synchronization..).

I would set the "fifo full" condition as axis_wr_data_count == fifo_size.

Not sure about the third counter (axis_data_count), since it's not present in the newer version, but I guess it's gonna match the others 2.

0 Kudos