You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同频读写模块避免FIFO溢/空所需深度计算咨询

计算避免FIFO上溢/下溢的最小深度

要确定FIFO的最小深度,核心是分析读写突发模式下的累积数据差最大值——即使平均速率相同,突发节奏的差异会导致中间出现数据堆积(上溢风险)或空缺(下溢风险)。

1. 明确读写的突发特性

  • 写模块(block_A):每5个时钟周期完成3次写操作,即每5周期内有3个周期执行写、2个周期空闲,单周期写概率为3/5。
  • 读模块(block_B):每50个时钟周期完成30次读操作,50周期内总读写次数平衡(均为30次),但读操作的极端分布(连续30次读+20次空闲)会造成最大数据差,这是需要考虑的最坏情况。

2. 计算最坏情况下的累积数据差

情况1:上溢风险(写入量远大于读取量)

当读模块进入20周期的空闲期时,写模块仍按固定节奏写入:

  • 20周期内,写模块可完成 (20 ÷ 5) × 3 = 12 次写操作。
  • 此期间读模块无读取操作,因此最大累积写入量比读取量多12次,这意味着FIFO至少需要12个存储单元才能避免上溢。

情况2:下溢风险(读取量远大于写入量)

当读模块连续30周期执行读取时,写模块在这30周期内的总写入次数为 (30 ÷ 5) × 3 = 18 次:

  • 此期间读模块完成30次读操作,最大累积读取量比写入量多12次。若初始FIFO为空,这种情况会导致下溢;若允许读模块在FIFO为空时暂停,则无需额外深度,否则需要FIFO初始预存12个数据,或调整读模块的操作节奏。

3. 结论

仅针对上溢防护,FIFO最小深度为12;若需同时避免上溢和下溢(且读模块不能暂停),则FIFO深度需为12,且初始需填充12个数据。

内容的提问来源于stack exchange,提问作者purval vikani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:03:17