异步fifo_【推荐】数字芯片异步FIFO设计经典论文

035f333674304c06ea1331c01401a43e.png

之前有一篇文章我已经推荐过了数字芯片跨时钟域设计的经典论文 (【推荐】数字芯片跨时钟域设计经典论文 ),希望看过的读者都有一定的收获。不过有点遗憾的是那片论文中虽然提到了异步FIFO,却没有讲具体的原理和设计细节。

本篇文章我要推荐的便是异步FIFO设计的经典论文,同样来自培训专家cliff cummings。文章开头的一段话我觉得很有意思,在这里引用一下:

我们有许多方式去设计异步FIFO,其中有正确的有不正确的。大多数 不正确的设计在90%的时间仍然可以工作的挺好。大多数 几乎正确的设计可以在99%的时间工作正常,但是不幸的是,这种设计如果应用在产品中,一旦出现问题也是最难分析的,需要花费很大的代价。

从这段话中我们可以看出异步FIFO设计的重要性。本次推荐的论文则详细论述了一种异步FIFO设计的方法,内容包括原理,设计思路还有示例代码,还提出了两个非常深刻的问题。

和上一次推荐的一样,我相信,这篇论文也是每一个FPGA/ASIC设计开发者必读的一篇。

论文题目及作者

e1ba26626c212f4b57b33ffa260f45ff.png

论文内容(部分)

  • 异步FIFO指针信号
  • 格雷码计数器(方式一)
  • 格雷码计数器(方式二)
  • 如何产生满空信号
  • 什么是假满空
  • 时钟频率相差很大会带来问题吗

论文下载

和上次一样,本论文已经添加到 微信公众号 FPGA开发之路 , 菜单 学习资料,感兴趣的童鞋可以下载。

下一篇文章我会基于这篇论文总结一下异步FIFO的设计。

欢迎留言讨论交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
异步FIFO_gray code异步FIFO的多种约束方式包括以下几种: 1. 读写时钟约束:异步FIFO_gray code异步FIFO需要读写时钟进行同步操作。读写时钟之间应满足一定的时序关系,以保证数据的正确传输和读写的一致性。通常情况下,写时钟应该在读时钟的上升沿之前完写入操作,以防止读取到不稳定或无效的数据。 2. 数据宽度约束:异步FIFO_gray code异步FIFO的数据输入和输出宽度应相等,即读写数据的位数应一致。如果数据宽度不匹配,可能会导致数据丢失或错误读取。 3. 读写顺序约束:异步FIFO_gray code异步FIFO的读写操作需要按照一定的顺序进行。通常情况下,写操作应在读操作之前完,以确保数据的正确读取。同时,读写操作之间需要插入适当的等待时间以保证数据的稳定性。 4. 读写使能约束:异步FIFO_gray code异步FIFO的读写使能信号需要在时钟上升沿进行操作。写使能信号应在写入数据之前启用,读使能信号应在读取数据之前启用。同时,读使能和写使能信号之间需要插入适当的延时以保证数据的正确传输和读写的一致性。 5. 异步FIFO_gray code同步约束:异步FIFO_gray code异步FIFO的读写操作需要通过同步电路进行同步。异步FIFO_gray code异步FIFO通常采用双同步FIFO架构,即读写操作分别采用不同的时钟,但通过同步电路进行数据传输和同步操作。 总之,异步FIFO_gray code异步FIFO设计和实现时需要考虑时钟约束、数据宽度约束、读写顺序约束、读写使能约束以及异步同步约束等多种约束方式,以确保数据的正确传输和读写的一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值