小大琦 发表于 2014-10-9 16:55:23

DCFIFO 数据总是读不空

我在做DCFIFO,为什么每次读数据的时候总读不完,在最后四个数据的时候,empty 被拉高了 求高手指导{:dizzy:}

lanliang714 发表于 2014-10-9 20:29:12

你的fifo写使能(wr_req)一直为有效,数据一直写入,这样肯定读不空啊!

小大琦 发表于 2014-10-10 16:23:23

lanliang714 发表于 2014-10-9 20:29
你的fifo写使能(wr_req)一直为有效,数据一直写入,这样肯定读不空啊!

那为什么在还有四个数据的时候 rdempty被拉高了 导致一段数据总有四个非要等到下一次读的时候才能读出来

DepravedLucien 发表于 2014-10-11 14:26:02

你的这个FIFO是不是读写时钟以及输入输出的数据位数都不一样啊,建议把FIFO剩余个数(读写都有)的信号拉出来观察下应该就知道原因了

小大琦 发表于 2014-10-13 11:17:18

DepravedLucien 发表于 2014-10-11 14:26
你的这个FIFO是不是读写时钟以及输入输出的数据位数都不一样啊,建议把FIFO剩余个数(读写都有)的信号拉出 ...

输入输出数据是一样的,读时钟 是100M,写时钟是50M,剩余个数是通过自己的计数器算的么

DepravedLucien 发表于 2014-10-13 14:13:47

小大琦 发表于 2014-10-13 11:17
输入输出数据是一样的,读时钟 是100M,写时钟是50M,剩余个数是通过自己的计数器算的么 ...

FIFO的端口中就有,DCFIFO的话 读写都有 rdusedwwrusedw 就是

DepravedLucien 发表于 2014-10-13 14:18:31

小大琦 发表于 2014-10-13 11:17
输入输出数据是一样的,读时钟 是100M,写时钟是50M,剩余个数是通过自己的计数器算的么 ...

如果写时钟比读时钟慢一倍的话,那么最大可能就应该你读写时序设计的不对导致的

小大琦 发表于 2014-10-14 10:46:48

DepravedLucien 发表于 2014-10-13 14:18
如果写时钟比读时钟慢一倍的话,那么最大可能就应该你读写时序设计的不对导致的 ...

恩好的 谢谢 ~ 我在试试

jarodzz 发表于 2014-10-19 14:57:22

這應該是asynchronous fifo,這種fifo full, empty是無法及時反應的,因為有跨clock domain要處理。
所以用full, empty當read, write控制的話需要再處理這些狀況。
页: [1]
查看完整版本: DCFIFO 数据总是读不空