wangjun403 发表于 2013-4-18 09:12:37

请教个FIFO的使用问题

使用altera的IP核
FIFO深度32个字节,8bit位宽

写的时候是没过一段时间(2M)wrreq拉高写4个数据进去

读的时候我想只要wrempty不空就把rdreq拉高然后读数据

现在有个问题
rdempty在写进数据后隔了很长时间才变低,导致我之前想读数据的时钟也读不出来

我想知道为什么rdempty会过那么长时间才变低



另外,读时钟要一直给吗?还是在rdreq为高的情况给就行?

coosign 发表于 2013-4-18 13:52:55

本帖最后由 coosign 于 2013-4-18 13:54 编辑

这种仿真不够准确~~~,时钟最好一直都存在,你说的时钟间断的情况,貌似不常见到!!!

wangjun403 发表于 2013-4-18 16:35:49

coosign 发表于 2013-4-18 13:52 static/image/common/back.gif
这种仿真不够准确~~~,时钟最好一直都存在,你说的时钟间断的情况,貌似不常见到!!! ...

为什么要时钟一直都在,有什么理论依据吗

coosign 发表于 2013-4-22 10:44:54

wangjun403 发表于 2013-4-18 16:35 static/image/common/back.gif
为什么要时钟一直都在,有什么理论依据吗

具体依据谈不上,貌似手册给的时序图没有控时钟的,一般是时钟一直有,通过控制信号来控制fifo的读写,你不会是想通过时钟的有无来控制fifo的读写吧?

Codoox 发表于 2013-4-22 15:55:47

这应该是FIFO的一种防撞机制,FIFO是环形存储,
当读即将追上写时给出读空标志,在写即将追上读时给出写满标志;
因为判断满或空需要一定的时钟周期,所以空或满标志会提前给出,滞后解除,留有一定的余量;
对FIFO的操作应该是先判断空或满标志

xiaoweiniu 发表于 2013-4-23 17:20:00

fifo有个locked信号,当locked信号输出正常后,说明fifo才可以正常使用,这时候才可以开始写或者读。
页: [1]
查看完整版本: 请教个FIFO的使用问题