FIFO读数据异常分析
FIFO是FPGA设计中最常用的IP,读写时序相对简单,可能正是因为这个原因,通常不会去细读FIFO手册,具体怎么操作大概清楚,上手就写,一般不会出什么问题。最近却遇到读FIFO异常的情况,特意记录一下,顺便细读了一下PG057。
FIFO读操作异常
数据写入FIFO后,读取数据,没有输出。
FIFO 读时序
下图是pg057读时序图,在文档中读到这样一句话:
shows a standard read access. When you write at least one word into the FIFO,
empty is deasserted — indicating that the data is available to be read。
当FIFO中的empyt信号为0时,才可以读FIFO。
为什么原来不出这种错误呢
仔细观察抓到的时序图发现,从写使能有效到empty由高变低经历了几个时钟周期,之前使用FIFO时,empty应该是在写使能下一个周期就置低了。差异就在于以前FIFO读写都是8bit数据,这次是64bit数据。应该是输入位宽导致empty的变化。
读写位宽不同时
FIFO输入为64bit,输出为32bit。
当向FIFO写入64‘h090a0b0c0d0e0f10时,从输出端先读出32’h090a0b0c,后读出32‘h0d0e0f10。
使用valid信号
valid不是必须使用信号,但该信号指示读出数据有效状态,非常有用。
First-Word Fall-Through与Show-ahead
在读使能信号有效之前,FIFO输出数据,这个功能在Xilinx叫First-Word Fall-Through,Intel叫Show-ahead。功能类似,在使用First-Word Fall-Through时,valid信号不再能准确只是输出有效。在有效情况下使用First-Word Fall-Through会更方便,但我有时更愿意麻烦点,使用标准FIFO,因为遇到做器件移植的情况,要移植的器件不支持这种模式,需要修改时序。
Underflow 与Overflow
Underflow
Underflow用来指示读操作不成功,当FIFO为空时,进行读操作,该信号触发。
Overflow
Overflow用来指示写操作不成功,当FIFO为满时,进行写操作,该信号触发。
FIFO实现
Intel FPGA的FIFO通常由两种资源实现,Block RAM和 Distributed RAM。Xilinx有如下四种资源实现。
FIFO读数据异常分析相关推荐
- [解决问题]selenium.remote.UnreachableBrowserException 异常分析并解决问题
[解决问题]selenium.remote.UnreachableBrowserException 异常分析并解决问题 参考文章: (1)[解决问题]selenium.remote.Unreachab ...
- java.lang.ArrayIndexOutOfBoundsException异常分析及解决
2019独角兽企业重金招聘Python工程师标准>>> java.lang.ArrayIndexOutOfBoundsException异常分析及解决 这是一个非常常见的异常,从名字 ...
- LCD显示异常分析——开机闪现花屏【转】
转自LCD显示异常分析--开机闪现花屏 最近在工作中,有同事遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,在休眠唤醒时也会出现. 其实这类问 ...
- java异常——分析堆栈跟踪元素+使用异常机制的技巧
[0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java异常--分析堆栈跟踪元素+使用异常机制的技巧 的相关知识: [1]分析堆栈跟踪元素相关 ...
- Linux Kernel Oops异常分析
0.linux内核异常常用分析方法 异常地址是否在0附近,确认是否是空指针解引用问题 异常地址是否在iomem映射区,确认是否是设备访问总线异常问题,如PCI异常导致的地址访问异常 异常地址是否在st ...
- createsemaphore 异常_浅析SPC之异常分析
未来能源的短缺及资源匮乏,导致各国都在寻求替代能源以避免发生无资源可用的情况.汽油替代能源-生质酒精由此得到了广泛的应用. 生质酒精属于生质燃料(Biofuel)的一种,是由生物或化学转换成生物质(b ...
- Spring Boot————BeanCreationNotAllowedException异常分析
引言 在对数据库进行新增记录的JUnit测试时,抛出一个BeanCreationNotAllowedException异常: 异常分析与解决 异常信息太长,图片截不下,粘贴来看: Exception ...
- Enterprise Services (COM+)服务组件开发异常分析
Enterprise Services (COM+)服务组件开发异常分析<?xml:namespace prefix = o ns = "urn:schemas-microsoft-c ...
- 经验:Library Cache Lock之异常分析-云和恩墨技术通讯精选
亲爱的读者朋友: 为了及时共享行业案例,通知共性问题,达成共享和提前预防,我们整理和编辑了<云和恩墨技术通讯>,通过对过去一段时间的知识回顾,故障归纳,以期提供有价值的信息供大家参考.同时 ...
- FPGA系统时间戳偶尔异常分析及定位
1.1 FPGA系统时间戳偶尔异常分析及定位 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA系统时间戳偶尔异常分析及定位: 5)结束语. 1.1.2 本节引言 ...
最新文章
- 零基础入门学习Python(3) 变量与字符串
- 机械爪角度与距离之间的关系
- linux的write是线程安全的吗,socket的write/send还是是否是线程安全?
- js数组的定义方法与基本使用
- linux 环境下配置ftp服务器
- python 包和模块的区别_3分钟带你搞懂Python模块、包的区别和使用
- 浅谈 SQL Server 内部运行机制
- 第一章:Chrome 43 配置 java + selenium 环境
- 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则
- DOS窗口的一些简单介绍
- 步进电机基础(5.9)-步进电机的驱动与控制-三相步进电机的驱动电路
- matlab 求不规则体积,matlab,求不规则三维图形体积?
- HTML5CSS3笔记:CSS3选择器、字体和颜色模式
- WPF基础之XAML----(XAML 根元素和 xmlns,事件和 XAML 代码隐藏)
- 正常情况下如何卸载计算机软件?
- 深度剖析CMOS、FinFET、SOI和GaN工艺技术
- 当房地产插上数字翅膀后,成本收益几何?|2021中国房地产数字峰会
- 24.线程系列- google提供的一些好用的并发工具类
- 计算机一级里面有ppt,计算机一级.ppt
- 系统的存储分离之----cifs文件管理系统
热门文章
- arm板发热和功耗探讨
- Mac VMWare键盘鼠标失灵
- 无线信道仿真 matlab,基于Matlab的无线信道仿真.doc
- TP5加支付宝手机网站支付配置
- mixamo进不去_酷站推荐!3D人物动画工具
- Windows7不停弹出计算机界面,拨号连接自动弹出,教您如何解决电脑总是自动弹出...
- 使用dos删除隐藏的.git文件
- cnzz.php,PHP curl抓取cnzz统计数据
- 短诗整理5—景物+记事
- 观3b1b线性代数本质系列视频的思考感悟