请教当fifo输入输出带宽不相等时应该怎样处理?
没法解决。都是要求单位时间内的数据量是对等的
同意楼上的说法,写快读慢,则会产生溢出;写慢读快,则会产生读空。
不知道你的设计为什么会流量不等。这有点像能量守恒的意思,FIFO是不会增加或者减少你的平均带宽的阿。
很可能的原因是,你没有对FIFO的读写作流量控制的逻辑。这个逻辑才是你设计利用FIFO的核心。
如果读大于写速度,那是可以的,可以通过控制,防止读空;但是写大于读的话,就会产生错误,肯定会有数据覆盖,产生错误,即有些数据读不到
if full,you can't push data into fifo
正在学习,顶一下
这属于FIFO实用不当的情况阿,或者size开的太小,或者wen/ren没有控制好
总之流量控制的概念一定有的,可能很简单,可能较复杂。
要用fifo,先要搞清楚用它来做什么,能不能做的了
谢谢各位的答复,我明白了,就是说在使用fifo之前就要控制流量,使得输入输出fifo的带宽相等,这样才能使用fifo.
不一定吧,FIFO中数据多少并不是根据输入输出带宽来控制的,关键是你读写数据的时间问题;
还有一个方面,如果你对数据要求不高的话,即可以丢失一部分数据时可以这样用的。
10楼说到的用途也不是没有,只是一般谈FIFO是说数据不因为经过FIFO而丢失或产生的情况。
所以把FIFO当作data generator 或者truncation的用途比较special..
可以有不同宽度的FIFO,主要看读取的控制。
满了就不能写了吧 空了就不能读了
thanks for shares!
注意空满控制即可
学习学习
用FIFO首先就要考虑空满的判断和处理啊。输入大于输出,就把输出数据分多路并行处理。
