FPGA知识点---FIFO深度计算

本文解析了不同场景下FIFO最小深度的计算公式及实例,包括写时钟快于读时钟、存在空闲周期等复杂情况,适用于数字电路设计与信号处理领域的读者。

简单粗暴公式
写时钟频率 w_clk,
读时钟频率 r_clk,
写时钟周期里,每B个时钟周期会有A个数据写入FIFO
读时钟周期里,每Y个时钟周期会有X个数据读出FIFO
则,FIFO的最小深度是?
计算公式如下:
fifo_depth = burst_length - burst_length * X/Y * r_clk/w_clk

  1. 写时钟快于读时钟,写和读的过程中没有空闲周期,也即在突发(burst)过程中,读和写都在各自的时钟域内连续进行。
    在这里插入图片描述
    写时钟周期T_A = 1000/80 ns = 12.5ns;同理读时钟周期为20ns;
    突发写长度为120个数据,写120个数据耗时120*12.5 = 1500ns;
    1500ns时间内读出数据1500/20ns = 75个;
    故最小FIFO深度为120 - 75 = 45;
  2. 写时钟频率大于读时钟频率,但是读写的过程中存在空闲周期
    在这里插入图片描述
    写时钟周期T_A=12.5ns,读时钟周期T_B= 20ns
    两个写时钟写一个数据,也就是写一个数据需要时间2T_A=25ns,那么由于突发写数据为120个,写这么多数据需要时间12025ns=3000ns;
    4个读时钟周期读一个数据,因此读一个数据需要时间80ns,3000ns读了3000/80=37.5个数据,约等于37个数据;
    所以FIFO的最小深度为120-37=83;
  3. 写时钟慢于读时钟,且读写过程没有空闲周期
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值