查看: 1084|回复: 0

FPGA之FIFO产品的讨论帖【汇总贴】

[复制链接]
  • TA的每日心情
    开心
    2023-1-4 10:25
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2022-3-30 08:50:21 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 mdyfpga 于 2022-3-30 08:54 编辑

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


    【问题2】关于用寄存器矩阵搭建一个8x32的fifo,用6位的计数器指示读写指针和表示空满,但是跨时钟域需要打拍,那该如何准确的判断空满信号呢?
    答:该问题应该是有一个认识误区,认为“准确判断”指的是“立刻实时指示”,也就是误以为,写一个数据进去,空信号立刻变成非空状态。这“立刻”其实是没有必要的。 正确的做法是,写一个数据进去,然后内部做跨时钟域处理,隔几个时钟后,空信号才变成非空。虽然有延时,但不影响状态的判断。



    【问题3】vivado fifo(深度为32),almost_full是不是在写了31个后为1,此时full为0?同理almost_empty是不是在读剩下1个深度数据的时候为1,并且此时emtpy为0?
    答:almost_full是指将要满,almost_empty是指将要空,至于什么是“将要”,一般可由用户来定义。建议看数据手册。


    【问题4】FIFO仿真的时候,读数据和写数据个数对应不上,如写5读,只读出2个;如写了5个,读出6个等。
    答:经常收到学员反映,FIFO仿真的时候读写的个数不正确。经过远程协助过多位学员后,均发现是学员自己没有认真看波形而误解的,当FIFO与预期不正确时,应该要仔细看波形,具体怎么做?

    1. 只看FIFO这一模块的接口的信号,不要外部的信号。(避免例化出错的情况)
    2.查看写时钟、写使能和写数据,以写时钟上升沿为界,一个一个时钟去看写进去的数据,用笔记下来。
    3.查看读时钟、读使能和读数据,以读时钟上升沿为界,一个一个时钟去看读出来的数据,与写数据逐个核对。
    4. 认真仔细核对,不要马虎。


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


    【问题6】请问VIVADO使用教程中,FIFO模板在哪里可以下载?

    答: file:///C:/Users/081127/AppData/Local/Temp/ksohtml41584/wps2.png mdyFifoAsyVivado.v (3.4 KB, 下载次数: 0)
    file:///C:/Users/081127/AppData/Local/Temp/ksohtml41584/wps3.png mdyFifoSynVivado.v (3.12 KB, 下载次数: 0)


       在学习的过程中针对同学们提出的问题明德扬整理了下面记录的遇到FIFO的一些问题答疑进行汇总,需要更多学习问题的同学可以复制链接:http://www.mdy-edu.com/wentijieda/20210410/1259.html。如果同学们的问题我们帖子里面没有的请第一时间联系我们对新问题进行补充! 希望对您的学习有所帮助,内容会不断更新。


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-29 11:46 , Processed in 0.104165 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.