异步FIFO读出来数据个数抖动问题
初始条件: 读写时钟都是100MHz,但是读写时钟不同步(存在相位差,也可能存在精度问题),FIFO深度为16(最小的深度),在固定时刻进行异步复位,复位条件按照Memory User Guide中的说明设置的,即复位触发前4个时钟,读写使能均拉低,复位至少持续三个时钟周期,复位有效时,读写保持低电平,用的是Xilinx的FIFO Generater 9.3的IP Core。
问题描述:利用非满标志位触发写使能,利用非空标志位触发读使能,但是读出来的数据的个数(读时钟域内读出的数据计数器)在抖动,比如用ChipScope采集,一会能采到10000,一会能采到9999,即读出的数据在抖动,请问用过FIFO的朋友是否遇到上述情况,如果遇到能否分享下解决问题的方法(不管设计FIFO时是否用到复位端口),谢谢大家了!
一会能采到10000,一会能采到9999
那你一共写了多少个。一般情况下,写进去之后,要过一段时间才会非空的。
一共写进去了10000个啊,有时候能读出来10000个,有时候只能读出来9999个,不知道原因何在啊
有没有发生过溢出的现象
没有啊,full标志位一直是拉低的,证明写进去每次的数据都是有效的~ 谢谢你的回帖哈
最好把你的代码贴出来看看,否则,挺难分析的
谢谢你,代码在实验室,我明天贴上来大家讨论下哈,前一阵子在忙别的事情哈,哥们让你费心了哈
关注一下,写使能信号在复位信号之后多久,读使能后数据延时
If your reading address and writing address was operated at same time, it very likely led to un-know data.
