Xilinx的三种高扇出解决方法

时间:2025-06-17  作者:Diven  阅读:0

Fanout,即扇出,指模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛。在写代码时应尽量避免高扇出的情况。但是,在某些特殊情况下,受到整体结构设计的需要或者无法修改代码的限制,则需要通过其优化手段解决高扇出带来的问题。

Xilinx的三种高扇出解决方法

以下就介绍三个这样的方法:

首先来看下面这个实例,如图1所示为转置型FIR滤波器中的关键路径时序报告,在DSP in FPGA的FIR专题中有介绍转置型结构FIR滤波器输入数据的扇出较大,在图1中所示为11,因此net delay高达1.231ns。如图2所示,输入数据驱动了11个DSP48E1。


在没有优化情况下,该设计的fmax:206.016MHz

1. 寄存器复制

寄存器复制是解决高扇出问题最常用的方法,通过复制几个相同的寄存器来分担由原先一个寄存器驱动所有模块的任务,继而达到减小扇出的目的。通过简单修改代码,如图3所示,复制了4个寄存器:din_d0、din_d1、din_d2、din_d3,din_d、din_d0、din_d1、din_d2分别驱动2个DSP48E1,din_d3驱动3个DSP48E1。其中在代码中为防止综合器优化相同寄存器,在对应信号上加入了(* EQUIVALENT_REGISTER_REMOVAL="NO" *)属性避免被优化。

综合实现后得到时序报告如图4所示,该数据路径上输入数据fanout减为2,对应net delay也减小到了0.57ns。得到设计如图5所示,与期望的相同,复制了4个寄存器来分担fanout。经过寄存器优化后得到fmax:252.143MHz

2. max_fanout属性

在代码中可以设置信号属性,将对应信号的max_fanout属性设置成一个合理的值,当实际的设计中该信号的fanout超过了这个值,综合器就会自动对该信号采用优化手段,常用的手段其实就是寄存器复制。属性设置如下代码所示:

(* max_fanout = "3" *)reg signed [15:0] din_d;

将din_d信号的max_fanout属性设置成3,经过综合实现后,得到时序报告如图6所示,其中fanout只有2,相应的net delay也只有0.61ns,自动优化效果还不错。结构如图7所示,其中din_d_12_1、din_d_12_2、din_d_12_3是综合器优化后自动添加,即实现了寄存器复制功能。经过设置max_fanout属性优化后得到fmax:257.135MHz

3. BUFG

通常BUFG是用于全局时钟的资源,可以解决信号因为高扇出产生的问题。但是其一般用于时钟或者复位之类扇出超级大的信号,此类信号涉及的逻辑遍布整个芯片,而BUFG可以从全局的角度优化布线。而且一块FPGA芯片中BUFG资源也有限,在7k325tffg900上也仅有32个,如果用于普通信号的高扇出优化也不大现实。在时钟上使用BUFG是必须的,但是如果设计中遇到某些复位信号因高扇出产生的时序问题时,可以在此信号上使用BUFG来优化。

猜您喜欢

其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器:特征模拟通道:四个模拟带宽:350 MHz采样率:1 ...
2023-08-14 09:03:00

现代电子工程与制造行业中,连接器的选择对整个系统的性能和稳定性非常重要。CONN_20X4MM_TM是一款高性能的连接器,应用于各种电子设备中。本文将为您深入探...
2025-04-22 11:01:40


现场可编程门阵列(FPGA)技术不断呈现增长势头。 1984年Xilinx刚刚创造出FPGA时,它还是简单的胶合逻辑芯片,而如今在信号处理和控制应用中,它已经取...
2024-04-23 15:50:00

现代电子设备的设计中,封装技术的选择对整个产品的性能和可靠性具有非常重要的影响。STDFN8_1X1.6MM作为小型封装方案,因其独特的优势而受到关注。本文将深...
2025-04-21 16:00:07

电子数显卡尺是常用的测量工具,应用于机械加工、工艺制作等领域。主要参数包括测量范围、精度、分辨率和单位切换功能。测量范围通常为0-150mm、0-300mm或更...
2008-11-25 00:00:00


电子数显卡尺是常用的测量工具,应用于机械加工、工艺制作等领域。主要参数包括测量范围、精度、分辨率和单位切换功能。测量范围通常为0-150mm、0-300mm或更...
2008-11-25 00:00:00

贴片电阻上的30d标记代表其阻值。字母d表示小数点,前面的数字30则代表有效数字。因此,30d表示0.3欧姆的电阻值。贴片电阻通常使用数字和字母组合来标记阻值,...
2024-11-29 10:26:22

贴片元件是电子电路中很重要的组成部分,其中贴片电容、电阻和电感是最常见的类型,外观相似,但功能各异。如何快速区分呢?1. 看标识: 贴片电容通常标注容值,单位为...
2024-11-29 10:26:23