FIFO深度的计算

本文详细介绍了FIFO深度的计算方法,通过多个例题解析了在不同读写频率、空闲周期和突发长度条件下如何计算FIFO深度。涉及到的关键因素包括读写时钟频率、突发长度和读写使能频率。通过对各种情况的分析,阐述了在FPGA设计中确定FIFO深度的重要性。
摘要由CSDN通过智能技术生成

核心思路:在规定时间内读的数据要等于写的数据,写快读慢的情况下,突发burst写入的数据减去该burst时间内读出的数据,多余的数据需要能缓冲下来,让接收端在剩下空闲的时间能把多余的数据读出来。burst length=写的数据=读的数据+FIFO深度
计算方法:先得到突发长度burst length,即一段数据包的数据个数,再计算写数据的用时time,再计算time内读了n个数据,最后深度=burst length-n

主要变量是读写时钟频率,读写使能频率。

基本方法与例题

例1. fA > fB 读写之间没有空闲周期
写速率fA = 80MHz
读速率fB = 50MHz
突发长度Burst Length = 120
(读写之间没有空闲周期,意味着连续读写,即读/写使能周期=时钟周期)

Sol:
写一个数据需要的时间 = 1 / 80MHz = 12.5ns
写一个burst length需要的时间time = 120 * 12.5ns = 1500ns

读一个数据需要的时间 = 1 / 50MHz = 20ns
time内读出多少个数据,1500 / 20 = 75

剩下的没有读出,就存在FIFO中,则需要120 - 75 = 45
所以这种情况下,需要的FIFO最小深度为45

例2. fA > fB 在两个连续读写之间有一个周期的延迟(读/写使能

  • 13
    点赞
  • 177
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值