FIFO最小深度计算

注意:fifo最小深度计算,如果写入比读出快,默认写完突发长度后,间隔一定时间,读取未读取的数据。

FIFO最小深度计算最坏情况,就是使得写速率最大,读速率最小;通常是考虑猝发传输。

写时钟频率w_clk,
读时钟频率 r_clk,
写时钟周期里,每B个时钟周期会有A个数据写入FIFO
读时钟周期里,每Y个时钟周期会有X个数据读出FIFO
最坏的情况就是每个周期写入一个数据,这是写入最快的。

计算方法1

fifo_depth = burst_length - burst_length * X/Y * r_clk/w_clk
可转化为:
fifo_depth = burst_length - (burst_length /w_clk)/[(Y / r_clk)/X]
注:
(burst_length /w_clk):写入数据需要的时间
(Y / r_clk):Y个周期的时间
[(Y / r_clk)/X]:读1个数据需要的时间
(burst_length /w_clk)/[(Y / r_clk)/X]:全部写入时间内传输读出的个数

计算方法2

(转载于:[FIFO(四):异步FIFO的最小深度计算]
{FIFO深度/(写速率-读出速率)}> {写入数据量/写入速率}
适用于全速读写,就是连续进行读写操作
本质:
FIFO被填满的时间 > 数据包传送时间(猝发发送的时间)
例: A/D采样速率50Mhz,dsp读A/D的速率40Mhz,要不丢失地将将10万个采样数据送入DSP ,在A/D和DSP之间至少加多大容量的(深度)FIFO才行??

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值