Bootstrap

AXI-stream Data FIFO

使用软件:vivado2020.1、仿真用vivado自带的仿真

摘要: 不谈AXI stream、lite、interconnect等等东西,仅仅讨论一下这个IP核的用法,从这个IP核入手,实际掌握tvalid、tready的用法,对日后整体了解并掌握AXI,应该会有帮助。

目录

1.IP核

 2.master(写)和slave(读)

 总结


1.IP核

        vivado ——> IP Catalog ——> AXI4-Stream Data FIFO

         一开始只需要关注一些简单的东西就行了,比如:FIFO depth、TDATA width(bytes)。位宽决定了传一个数据的最大宽度,深度决定了能传多少个这样的数据。如果什么都不改,1 width(bytes)就是8bit,数据最大表示的数是255(十进制),一共能传512 * 8bits。

        直接创建IP核之后,可以点开它的IP Example design去熟悉了解怎么用。

 2.master(写)和slave(读)

        写一个例子,比如一共要读写16384个数,那么一次要写256个数(64次),TDATA width(bytes)给2,FIFO depth看着给,给小了,那么在写和读的时候会不一样,这里直接给了16384。

        写的时候注意master、fifo、slave之间的连线就可以

         无论在读的时候还是在写的时候,tvalidtready只能input一个,output一个。tvalidtready的变化可以自己根据协议去写,这里我直接根据的IP Example design去写的,不知道对应的是AXI协议中的哪一种。

        下图是master里面的tvalidtdata

        下图是slave里面的treadydata

 总结

        工程的代码已经上传。

AXI_Stream_Data_FIFO.7z-硬件开发文档类资源-CSDN下载

        最终实现图

;