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

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

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

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

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

论文题目及作者

论文内容(部分)

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

论文下载

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

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

欢迎留言讨论交流。

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

  1. 数字芯片是怎样设计出来的?

    芯片在我们的生活和工作中无处不在.例如,交通智能卡就嵌入了一颗带有微处理器.储存单元.芯片操作系统的芯片:而手机的主板则集成了数百颗芯片,有的负责无线电收发.有的负责功率放大.还有的负责存储照片和文件 ...

  2. 异步fifo_异步FIFO设计

    由于知乎编辑器对markdown支持性问题,本文为直接上传markdown文档,格式混乱且图像不全,格式完整版请移步个人博客 异步FIFO设计​qiankun214.github.io 1.设计目标 ...

  3. 基于 FPGA 的高级数字电路设计(7)单口 RAM、同步 FIFO、异步 FIFO 设计

    一.单口 RAM 设计 module BRAM_PORTA( input clka, input ena, input wea, input [3:0] addra, input [15:0] din ...

  4. FPGA基础知识极简教程(4)从FIFO设计讲起之异步FIFO篇

    博文目录 写在前面 正文 同步FIFO回顾 $clog2()系统函数使用 综合属性控制资源使用 异步FIFO设计 FIFO用途回顾 异步FIFO原理回顾 异步FIFO设计 异步FIFO仿真 参考资料 ...

  5. 02【Verilog实战】异步FIFO设计(附源码RTL/TB)

    脚 本:makefile 工 具:vcs 和 verdi 文 章:1. 同步FIFO的设计和功能验证(附源码)     2. Verilog的亚稳态现象和跨时钟域处理方法 写在前面 这个专栏的内容记录 ...

  6. 基于FPGA的异步FIFO设计

    今天要介绍的异步FIFO,可以有不同的读写时钟,即不同的时钟域.由于异步FIFO没有外部地址端口,因此内部采用读写指针并顺序读写,即先写进FIFO的数据先读取(简称先进先出).这里的读写指针是异步的, ...

  7. 异步FIFO设计:各个模块的作用及Verilog代码详解

    实现原理参考:异步FIFO---Verilog实现_alangaixiaoxiao的博客-CSDN博客_异步fifo 代码参考:IC基础(一):异步FIFO_MaoChuangAn的博客-CSDN博客 ...

  8. 异步FIFO设计原理及Verliog源代码

    1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据 ...

  9. 异步fifo设计及验证verilog代码

    论文参考:The Design and Verification of a Synchronous First-In First-Out 博客参考:[原创]异步FIFO设计原理详解 (含RTL代码和T ...

最新文章

  1. Field Service Center Customization
  2. library at girton
  3. VTK:Medical之MedicalDemo2
  4. Net Framework类库中提供的线程同步设施包括:
  5. ShardingSphere(二) 水平分表配置搭建,实现分表写入读取
  6. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)
  7. 小米这样做,我是拒绝的
  8. html5shiv版本,用html5shiv.js解决ie低版本浏览器支持html5标签
  9. pixi更新加载图片
  10. 什么是overlay?如何定制overlay?
  11. 2022-2028全球转定子均质机行业调研及趋势分析报告
  12. 扎拉赞恩 服务器 微信群,《魔兽世界怀旧服》杜隆塔尔扎拉赞恩攻略 任务怎么玩...
  13. 无法运行Hi3516CV-DEMB-uboot-DDR...-BUS_266M.xsl宏。可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用。
  14. whistle的安装,浏览器和手机的配置以及使用
  15. c++ 取整之ceil、floor、round、fix用法
  16. HTML语言知识基础罗列
  17. 计算机应用基础18春在线作业2,东师计算机应用基础18——春在线作业2.docx
  18. 2020年焊工(高级)试题及答案及焊工(高级)模拟考试系统
  19. Linux应用随笔(八)各类软件工具整理
  20. ftp服务器PPT文件复制不了,FTP服务器的使用.ppt

热门文章

  1. android Fragments详解一:概述
  2. java hashmap 的api_JAVA基础--JAVA API集合框架(ArrayList、HashSet、HashMap使用)
  3. python3的pyqt5 qtablewidget按数据大小排列_InnoDB为什么要选择B+树来存储数据?
  4. 如何查看SQL Server2000执行过的SQL语句
  5. spark中saveAsTextFile如何最终生成一个文件
  6. extjs中元数据_json – 如何配置ExtJS 4 Store(代理和阅读器)来读取元数据
  7. python绘制星空_用python画星空源代码是什么?
  8. vector 修改 java_java对vector动态数组中的对象排序,以下代码有何问题,如何修改?...
  9. jvm延迟偏向_用于偏向硬币翻转模拟的Python程序
  10. hanlp 训练模型_LTP 4.0!单模型完成6项自然语言处理任务