FPGA学习-总结fifo设计中深度H的计算

时间:2025-08-03  作者:Diven  阅读:0

介绍:

FPGA学习-总结fifo设计中深度H的计算

对于fifo来说,H的设置非常重要。既要保证功能性,不溢出丢数,也要保证性能流水。深度设置过小会影响功能,过大又浪费资源。下fifo设计中深度H的计算。

一、同步sync fifo

1.1 流控反压后不溢出

假设数据一直发,下游一直读,读频率小于写频率时,fc(flow control)流控后,最坏的情况下,下游不读了。此时fifo反压信号拉高,上游写ready拉低,此时路上的数据需要能存入fifo,称之为过冲。过冲需要保证路上的数据被fifo完全吸收不溢出,因此fifo的深度H=过冲+上水位线TA。

1.2 不断流

对于同频同步fifo来说,只要深度大于1,只要保证上游每cycle都有wvalid,fifo读一定不会断流,可以实现流水。

当引入fc后,极端场景下,当达到反压水位线后,马上停止写入,有一拍的读出后,反压撤销。在读空fifo之前,必须有fifo的写入操作,以保证fifo不被读空,从而产生断流气泡。

假设每cycle都读,则在读完反压水位线深度数据时,第一笔写fifo命令产生。此时,

1)data产生到写入fifo路上时延N cycle;

2)fc发生后下一拍产生流控信号,data_gen停止产生data;

3)fc取消后,data_gen下两拍开始产生data;

4)此过程中每cycle都在读数据。

上述场景下,当发生流控时,过冲的数据个数是N+1,当取消流控时,产生数据的时延是N+2,因此fifo的深度H=N+1+N+2=2N+3。fifo深度只有大于这个数据才不会产生气泡断流。

二、异步async fifo

对于fc场景,异步fifo最大的问题是写读指针跨时钟域cdc同步中的时延。如果写指针同步到rclk为M个时延,读指针同步到wclk也为M个时延,则fifo深度H=2N+3+M+M=2N+2M+3。此处只是简单场景,真正计算深度时,还需考虑其打拍,信号组合逻辑等产生的时延。

编辑:黄飞

 

猜您喜欢

当一个SoC芯片项目将要切入到FPGA原型验证阶段时,FPGA原型验证团队如何评估是否可以进入原型验证阶段进行新一个阶段的验证工作呢?1. SoC代码是否成熟?...
2023-05-30 11:10:00


电子电路中,二极管作为重要的元件,应用于各种电路设计中。其中,开关二极管和稳压二极管是两种常见的二极管类型。尽管在名称上有相似之处,但在功能和应用上却存在显著的...
2025-04-08 16:01:41

二极管是重要的电子元件,应用于整流、信号调制等电路中。正确的安装二极管非常重要,因为如果二极管装反了,可能会导致电路故障或损坏其元件。了解如何测试二极管是否装反...
2025-04-03 18:31:39

现代电子设备中,准确的电流测量是确保系统稳定性和安全性的关键。大电流采样电阻作为重要的测量元件,在电流监测、保护和控制系统中是非常重要的配件。本文将详细探讨大电...
2025-04-17 22:00:08

肖特基二极管因其独特的特性而在电子电路中得到应用。许多人对其通用性和适用性仍存在疑问。本文将深入探讨肖特基二极管的通用性,并解析其在不同应用场景中的表现。 肖特...
2025-03-29 17:01:39

PoE (Power over Ethernet) 以太网供电技术,简单来说就是通过一根网线同时传输数据和电力。这项技术革新了网络设备的供电方式,为用户带来了极...
2024-07-28 00:00:00

现代电子设备中,功率电感是重要元件。江苏功率电感的选型需要考虑多个因素。本文将为你介绍选型的关键点。确定电感值选择功率电感时,首先要考虑电感值。电感值影响电流的...
2025-04-12 02:31:43

01D贴片电阻表示的是其封装尺寸,并非阻值大小。01D是英制代码,对应公制尺寸为0603,即长0.6mm,宽0.3mm。这是一种非常小巧的表面贴装电阻,应用于各...
2024-11-29 10:25:53

贴片电阻测试阻值变小,可能由多种原因造成,需要逐一排查。首先,测量误差是不可忽视的因素。例如,使用了精度不够的万用表,或者测试过程中探针接触不良,都可能导致读数...
2025-04-14 15:02:13