请选择 进入手机版 | 继续访问电脑版

明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫一扫,快捷登录!

查看: 307378|回复: 0

关于FIFO产品的讨论帖【汇总贴】

[复制链接]

35

主题

57

帖子

7013

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7013

荣誉管理论坛元老

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

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

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

x
温馨提示:明德扬2023推出了全新课程——逻辑设计基本功修炼课,降低学习FPGA门槛的同时,增加了学习的趣味性,并组织了考试赢积分活动
(点击→了解课程详情)http://www.mdy-edu.com/ffkc/415.html感兴趣请联系易老师:13112063618(微信同步)


【问题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这个信号。


【问题5】关于用寄存器矩阵搭建一个8x32的fifo,用6位的计数器指示读写指针和表示空满,但是跨时钟域需要打拍,那该如何准确的判断空满信号呢?

答:该问题应该是有一个认识误区,认为“准确判断”指的是“立刻实时指示”,也就是误以为,写一个数据进去,空信号立刻变成非空状态。这“立刻”其实是没有必要的。 正确的做法是,写一个数据进去,然后内部做跨时钟域处理,隔几个时钟后,空信号才变成非空。虽然有延时,但不影响状态的判断。

【问题6】vivado  fifo(深度为32),almost_full是不是在写了31个后为1,此时full为0?同理almost_empty是不是在读剩下1个深度数据的时候为1,并且此时emtpy为0?

答:almost_full是指将要满,almost_empty是指将要空,至于什么是“将要”,一般可由用户来定义。建议看数据手册。



【问题7】请问老师,读写隔离规则那节举的例子正确的做法应该怎么处理?是把每个包文的eop都作为该包的包头字节缓存到FIFO中吗,那这样的话读数据那边一读到eop就开始读,但此时包文都还没有完全写入FIFO,还是说就是要边写边读?
答:需要用到另一个FIFO,也就是信息FIFO,详细的介绍请看FIFO课程。  或者是查看明德扬书籍:【手把手教你学FPGA设计-至于大道至简的至简设计法】里面有提到FIFO的设计。

【问题8】请问明德扬VIVADO课程中,FIFO模板在哪里下载?
答: mdyFifoAsyVivado.v (3.4 KB, 下载次数: 657)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-16 21:08 , Processed in 0.068935 second(s), 25 queries .

Powered by Discuz! X3.4

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

© 2001-2019 Comsenz Inc.

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