vivado ip 核 fifo的使用细节

我们在使用vivado的fifo IP时,会对其进行配置,配置成自己需求的IP参数。在配置选项中,有这样一个选项:Standard fifo 和Frist Word fall Through。这两个选项的区别是什么呢,可以通过仿真看出区别。

这里使用一个fifo iP 例化后,对其进行读写。使用相同的读写时钟,写使能有效时写入数据,当fifo非空时就读出数据。wr_en是fifo的写信号,fifo_empty代表着fifo是否为空,fifo_rdat是fifo读端口的数据。

在Frist Word fall Through模式下,当fifo写使能wr_en 有效时,两个写时钟周期后,数据写入fifo,fifo非空,与此同时写入的数据已经跑到了读端口上,也就是fifo_rdat随着fifo_empty拉低而同时变化。

图1 Frist Word fall Through模式下

切换到Standard fifo模式下来看,fifo写使能wr_en拉高后的一个写时钟周期后,fifo_empty就拉低了,而此时fifo读端口的数据并没有变化,而是等到读使能有效后才变化(这里的读使能为~fifo_empty)

图2 Standard fifo模式下

总结:对比两种模式,哪一种延时更小呢,恐怕要根据模块具体实现的功能来定。如果是要实现对读出数据的进一步处理,如串口发送出去(fifo里有数据就发送),那么就可以在 Frist Word fall Through模式下使用wr_en触发使能发送模块,这样可以减少一定的延时。


猜你喜欢

转载自blog.csdn.net/weixin_41895751/article/details/121349431
今日推荐