异步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/500s=2ms(50MHz-40MHz) *1/500=20k既是FIFO深度。一种错误的算法(我也犯了同样的错误):100,000/40MHZ=1/400s=2.50ms(50M-400M)*1/400=25K.那么这样进去的数据就不是100K了,而是100K50M*(0.0025-0.002)=125,000bit,错误在时间的计算。