xilinx zynq fifo设计

2016-10-28 09:27 阅读 553 次 评论 0 条

做FIFO就是将RAM存储器配置为先进先出的固定地址接口形式,此日志选择分布式RAM作存储器,如下图

clip_image002

注意:RESETN信号为低电平有效的复位信号,正常工作状态均为高电平。

FIFO的接口总线选择APB总线,这个在AXI HP接口PLDMA设计中已经使用过

clip_image004

APB_M_penable信号的宽度为1个apb_clk周期,而目前的fifo的wr_en信号与APB_M_penable同宽度。增加了读取状态位与一次读fifo的时序

clip_image006

clip_image008

FIFO之间有一次读状态操作

clip_image010

FIFO读写之间没有读状态操作,如下图所示

clip_image012

在调试过程中发现FIFO读取数据异常,即读取BRAM的值有问题,表现为第一个值读取不为写入的第一个值,为了确认问题将BRAM初始化为固定的值,然后通过PL读取,确认问题。由于FIFO的地址没有自加,初始化为空,所以最多只能读到第1个地址的值。

证明了实际为读出操作时,第一个地址与第二地址不能读出,表现为前2个地址读出的数据为0.

然后在分布式RAM配置时,将读取port B接口的“Primitives Output Register”去掉,这样读出时,就不会有寄存器缓存一次。这样读出与写入FIFO的数据就也算一致了。

clip_image014

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:xilinx zynq fifo设计 | 起点博客
分类:应用笔记 标签:, ,

发表评论


表情