请教个FIFO的使用问题
使用altera的IP核FIFO深度32个字节,8bit位宽
写的时候是没过一段时间(2M)wrreq拉高写4个数据进去
读的时候我想只要wrempty不空就把rdreq拉高然后读数据
现在有个问题
rdempty在写进数据后隔了很长时间才变低,导致我之前想读数据的时钟也读不出来
我想知道为什么rdempty会过那么长时间才变低
另外,读时钟要一直给吗?还是在rdreq为高的情况给就行? 本帖最后由 coosign 于 2013-4-18 13:54 编辑
这种仿真不够准确~~~,时钟最好一直都存在,你说的时钟间断的情况,貌似不常见到!!! coosign 发表于 2013-4-18 13:52 static/image/common/back.gif
这种仿真不够准确~~~,时钟最好一直都存在,你说的时钟间断的情况,貌似不常见到!!! ...
为什么要时钟一直都在,有什么理论依据吗 wangjun403 发表于 2013-4-18 16:35 static/image/common/back.gif
为什么要时钟一直都在,有什么理论依据吗
具体依据谈不上,貌似手册给的时序图没有控时钟的,一般是时钟一直有,通过控制信号来控制fifo的读写,你不会是想通过时钟的有无来控制fifo的读写吧? 这应该是FIFO的一种防撞机制,FIFO是环形存储,
当读即将追上写时给出读空标志,在写即将追上读时给出写满标志;
因为判断满或空需要一定的时钟周期,所以空或满标志会提前给出,滞后解除,留有一定的余量;
对FIFO的操作应该是先判断空或满标志 fifo有个locked信号,当locked信号输出正常后,说明fifo才可以正常使用,这时候才可以开始写或者读。
页:
[1]