(原创)同步FIFO的设计与技巧

本设计是同步FIFO,但我的ram使用了双端口的异步ram,

为什么要使用双端口呢?是不是太浪费资源了?

其实不然,之所以用双端口的ram,主要原因是同时进行读写数据时,两个端口互不影响,能同时进行,解决了并发的问题。

我们设计的不是同步FIFO吗?为什么要用异步ram呢?是不是成了异步FIFO?

当然不是,当然是同步FIFO,因为我们的syn_fifo模块中只有一个clk,其实子模块可以理所当然的用同步ram,但是,我们

这里之所以用异步ram,是因为当数据传入asyn_dp_ram模块时可以立刻被保存,不用再等上升沿的触发,如果用同步ram,

耗费了资源和功耗,还使数据保存延迟了一小段时间(从数据进入到等到clk上升沿到来这段时间)。

 

Code

 

完整代码

syn_fifo.rar

posted @ 2008-12-20 00:13  changlongbaobao  阅读(1726)  评论(11编辑  收藏  举报