明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 30984|回复: 0

关于FIFO问题的讨论帖【汇总贴】

[复制链接]

23

主题

32

帖子

1010

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1010

荣誉管理论坛元老

QQ
发表于 2020-2-26 12:04:15 | 显示全部楼层 |阅读模式

马上注册,看完整文章,学更多FPGA知识。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
【问题1】关于FIFO的深度计算问题,可以看此贴:http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=887
    此答案来自于明德扬的书籍《手把手教你学FPGA》,电子版可以在此贴下载:http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=469

【问题2】FIFO总共128个数据,都读到128个数据后,usedw对应还是1,而不是预期的0。
    原因:此FIFO使用了SHOW AHEAD模式,所谓的“读到128个数据“指的是从总线看有128个数据,而非产生了128个读使能。
    总结:对于FIFO出现了”莫名其妙问题“时,需要严谨检查和确认。
    建议的方法:
    a. 直接看FIFO这个IP核的输入输出信号,例如读使能、写使能、写数据、空信号、满信号等。写一个,确认;读一个,再确认。
    b. 注意FIFO满时不要再写,FIFO空的时候不要再读,否则会出现意想不到的错误。

【问题3】对于双时钟  show ahead  模式,给出第一个读使能为啥读出数据不对呢?
TIM图片20200417110745.png
回复:首先,从波形图看到的信息,数据为“0”,而不是“没有数据”。
          其次,假如第一个数据不对,需要看前面的第一个写使能有效的时候,写数据是多少。即检查第一个写数据和第一个读到的数据正不正确。


【问题4】FIFO中的空信号有延迟怎么办?
回复:
1.写数据之后,过一段时间empty信号才变低,这个延时是FIFO的特性,是固有的;
2.其次,这个空指示信号的延时不会对设计有影响:空信号一般用于读侧,有数据就读,没数据就不读,是不关心延时的。
3.FIFO里空信号和满信号都是绝对是准确的,但是usedw信号的延时是不确定的,所有要严格要求时序对齐的就不要用usedw这个信号。




FIFO在FPGA开发中经常使用,围绕着FIFO,可以完成很多功能开发,如想学习,可以购买FIFO专题课。







上一篇:视频讲解二进制如何转换成十进制?
下一篇:FPGA工程师关于代码化简的笔试面试题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|MDYBBS ( 粤ICP备16061416号-1

GMT+8, 2020-5-29 09:41 , Processed in 0.571513 second(s), 22 queries , File On.

Powered by Discuz! X3.4

本论坛由广州健飞通信有限公司所有

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表