之前有一篇文章我已经推荐过了数字芯片跨时钟域设计的经典论文 (【推荐】数字芯片跨时钟域设计经典论文 ),希望看过的读者都有一定的收获。不过有点遗憾的是那片论文中虽然提到了异步FIFO,却没有讲具体的原理和设计细节。
本篇文章我要推荐的便是异步FIFO设计的经典论文,同样来自培训专家cliff cummings。文章开头的一段话我觉得很有意思,在这里引用一下:
我们有许多方式去设计异步FIFO,其中有正确的有不正确的。大多数不正确的设计在90%的时间仍然可以工作的挺好。大多数几乎正确的设计可以在99%的时间工作正常,但是不幸的是,这种设计如果应用在产品中,一旦出现问题也是最难分析的,需要花费很大的代价。
从这段话中我们可以看出异步FIFO设计的重要性。本次推荐的论文则详细论述了一种异步FIFO设计的方法,内容包括原理,设计思路还有示例代码,还提出了两个非常深刻的问题。
和上一次推荐的一样,我相信,这篇论文也是每一个FPGA/ASIC设计开发者必读的一篇。
论文题目及作者
论文内容(部分)
- 异步FIFO指针信号
- 格雷码计数器(方式一)
- 格雷码计数器(方式二)
- 如何产生满空信号
- 什么是假满空
- 时钟频率相差很大会带来问题吗
论文下载
和上次一样,本论文已经添加到 微信公众号 FPGA开发之路 , 菜单 学习资料,感兴趣的童鞋可以下载。
下一篇文章我会基于这篇论文总结一下异步FIFO的设计。
欢迎留言讨论交流。