异步fifo_FIFO使用经验

《本文摘自华为《FIFO经验谈》》

1 引言

先进先出缓存电路FIFO在大规模逻辑设计当中,得到普遍地使用。几乎每个芯片都会涉及到它。也就是说每个大规模逻辑设计者都必须掌握该种电路的设计方法。但在实际应用中。FIFO的类型又不尽相同。有的电路需要的是同步FIFO (即: 读写时钟为同一个时钟),有的需要异步FIFO 即 读写时钟的频率或相位不一样,有的电路对FIFO的速度要求不高,有的则需要高速FIFO 比如工作频率在100MHz以上,同时具体电路对FIFO的空满标志的产生也有一定的要求。有按一个深度进行读写的,也有连续读写一块的(Burst read/write ),有读写位宽一致的(256深80bit <==> 256深 80bit 也有读写位宽是倍数关系的 (256深 80bit<==>1024深 20bit)) 。异步FIFO的读写地址转变为格雷码再进行比较,产生空满标志,从而保证电路的可靠性。XILINX的Coregen软件可以生成一些通用的同步和异步 FIFO,如果它不能满足你的特定要求,只好你自己动手了!不管是什么类型的FIFO,其关键点是产生读、写地址和空、满标志。 好的FIFO设计的基本要求是:写满而不溢出,读空又不多读。

2 同步FIFO的设计

同步FIFO的读写时钟为相同的一个,所以读写地址是同步的。通过判断FIFO中已经存在多少个没有被读走的数据Cnt_fifo ,来判断读空了,还是写满了。Cnt_fifo的产生:当FIFO进行读但不写时,自减1,当FIFO进行写但不读时,自增加1,如果FIFO又读又写或不
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值