Altera FIFO使用注意事项
来源:互联网 发布:jpeg标准量化算法 编辑:程序博客网 时间:2024/04/28 18:12
使用两年多的Altera器件,总觉得自己对FIFO这类简单的Core已经是熟悉不能再熟悉了,到现在的结果是花了三个星期时间解决一个FIFO时序问题。
FIFO实际读写情况上述图是从SignalTap中保存的.vcd文件,其中avm_clock为读时钟,rdreq在图中都处于无效状态,而写数据一直在进行(wrreq高电平有效,写时钟未示意),但是rdusedw却随着数据写入逐渐减少,到最后直至wrfull有效,rdusedw为零。
错误读时序如上图所示,读完13个数据后,FIFO已经为空。但是rdusedw在两个时钟后才为零,由于FIFO有读保护逻辑,rdusedw一直为零。错误已经造成
现象
FIFO实际读写情况上述图是从SignalTap中保存的.vcd文件,其中avm_clock为读时钟,rdreq在图中都处于无效状态,而写数据一直在进行(wrreq高电平有效,写时钟未示意),但是rdusedw却随着数据写入逐渐减少,到最后直至wrfull有效,rdusedw为零。
分析
Altera提供的FIFO Megacore中有rdusedw和rdempty两中信号,分别用于描述FIFO内的可读数据量和FIFO内部为空,但是当你读完FIFO内数据的同时,并不会马上响应,即rdusedw不会在紧接的时钟为0,rdempty不会高电平有效。如果此时,你需要根据rdempty信号是否进行下一次读进程,则会发生上述描述的现象。
错误读时序如上图所示,读完13个数据后,FIFO已经为空。但是rdusedw在两个时钟后才为零,由于FIFO有读保护逻辑,rdusedw一直为零。错误已经造成
总结
首先,wind330希望看过本文的同学不对这种错误费解。然后,尽量不利用Altera FIFO的wrfull和rdempty信号判断是否读写FIFO,而是利用自己工程中其他信息判断FIFO是否为满或空。最后,这种问题无法用行为仿真得出结果。
0 0
- Altera FIFO使用注意事项
- altera FIFO IP的使用
- FIFO使用方法(ALTERA)
- FIFO使用方法(ALTERA)
- 【引用】关于ALTERA提供的FIFO核使用原理
- 关于ALTERA提供的FIFO核使用原理
- 【引用】关于ALTERA提供的FIFO核使用原理
- ALTERA FIFO 读写verilog代码
- 异步FIFO的配置与使用注意事项
- ALtera 设计注意事项-不断更新
- Altera Qsys使用心得
- Altera Qsys使用心得
- [altera MegaFunction] PLL的使用
- Altera FFT核使用详解
- ALTERA FFT IP核使用
- ALTERA DDRII IP核使用
- 使用xilinx ip core FIFO First- World First-Through (FWFT)模式的注意事项
- 如何利用altera 给出的megafunction配置成自己想要的FIFO和RAM
- 有关网络的命令
- 关于SSH项目中a标签提交action后执行两次的问题
- 【编程好习惯】引入中间变量使程序更易读
- 【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
- struts2 - Overview
- Altera FIFO使用注意事项
- Unity3d之策略模式
- 升5.1的问题
- Action中获取Request的参数
- 垃圾包围福利院六年 官方称暂找不到地方
- 【编程好习惯】减少搜索头文件的目录数
- XNA Billboard(公告板技术)
- jQuery,使用on代替delegate,live 写法区别
- Action中读写Session