如何设计任意深度的异步fifo
答案:2 悬赏:80 手机版
解决时间 2021-04-16 09:12
- 提问者网友:蓝莓格格巫
- 2021-04-15 08:36
如何设计任意深度的异步fifo
最佳答案
- 五星知识达人网友:动情书生
- 2021-04-15 10:09
异步FIFO最小深度计算原理 如果数据流连续不断则FIFO深度无论多少,只要读写时钟不同源同频则都会丢数; FIFO用于缓冲块数据流,一般用在写快读慢时,遵循的规则如下: {FIFO深度 /(写入速率 - 读出速率)} = {FIFO...
全部回答
- 1楼网友:舍身薄凉客
- 2021-04-15 10:27
异步fifo最小深度计算原理
如果数据流连续不断则fifo深度无论多少,只要读写时钟不同源同频则都会丢数;
fifo用于缓冲块数据流,一般用在写快读慢时,遵循的规则如下:
{fifo深度 /(写入速率 - 读出速率)} = {fifo被填满时间} > {数据包传送时间}= {写入数据量 / 写入速率}
即:确保对fifo写数据时不存在overflow,从fifo读出数据时不存在underflow.
例:a/d采样率50mhz,dsp读a/d读的速率40mhz,要不丢失地将10万个采样数据送入dsp,在a/d在和dsp之间至少加多大容量(深度)的fifo才行?
100,000 / 50mhz = 1/500 s = 2ms
(50mhz - 40mhz) * 1/500 = 20k既是fifo深度。
一种错误的算法(我也犯了同样的错误):
100,000 / 40mhz= 1/400s = 2.50ms
(50m - 400m)*1/400 =25k.那么这样进去的数据就不是100k了,而是100k+50m*(0.0025-0.002)=125,000bit,错误在时间的计算。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯