Board logo

标题: 求助:使用ip核异步fifo 的问题! [打印本页]

作者: 一切从零开始    时间: 2006-5-7 19:13     标题: 求助:使用ip核异步fifo 的问题!

我在开始时对异步fifo进行了清零,然后再往里写数,但第一个数却不能写进去(读出来少了一个数)!还求高手赐教!
作者: stone133    时间: 2006-5-8 09:56

应该加上读写控制,异步清零会不会和你的读写冲突了呢
作者: ecmecm    时间: 2006-5-11 22:45     标题: 异步FIFO第一个写数问题

这种情况很可能是由于你的fifo的写时钟用WR线代替,而非一个标准的时钟信号加写使能
可以采用Verilog HDL语言的IP Core试试,或许又新的发现
你可以仔细读读Xilicx 的 FIFO IPcore的datasheet
作者: 一切从零开始    时间: 2006-5-16 21:25

谢谢各位,我查了手册,好象第一个读写数会默认为无效
作者: 一切从零开始    时间: 2006-5-16 21:27

我就直接把复位信号拉高清零
作者: emesjx    时间: 2011-9-2 10:13

不是少写了,看看FIFO的读时序就清楚了,当前读脉冲上升沿读出的数据要延时到本次读脉冲得下降沿才有效,这样如果用MCU的/RD(或加上地址译码)的反相作为FIFO都脉冲的话,MCU第一次读到的数据时是上一轮都的FIFO最后一个数据,第二次读得才是FIFO第一个数据。即每个读循环第一次要“空读”一次。主要原因是FIFO输入信号到内部RAM要经过很复杂的逻辑处理,有延时。
作者: ydfq128    时间: 2011-11-22 19:56

要留意这一点,异步FIFO生成时,其深度不是设置值,而是设置值-1,也就是如果设置深度为32,则实际上FIFO仅能写入31个bit




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0