Xilinx的三种高扇出解决方法

时间:2025-04-28  作者: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来优化。

猜您喜欢

555定时器作为电子电路中的经典元件,其主要优势不容忽视。555定时器具有多功能性,能够实现定时、脉冲生成、频率计数等多种应用,适用于的电子项目。其结构简单,易...
2023-01-12 00:00:00


2009-03-03 00:00:00

你是否好奇过,为什么手机可以用充电宝充电,笔记本电脑可以用不同国家的电源适配器?这背后,都离不开一种叫做DC-DC转换器的电子元件。就像是一位电力变换的幕后英雄...
2024-03-19 00:00:00


贴片电阻上的394并不是直接代表欧姆值,而是一种编码方式。代表的是390kΩ,也就是39万欧姆。这种编码方式遵循EIA-96标准,适用于三位数的贴片电阻。前两位...
2024-11-29 10:26:27

模拟前端(AFE)是电子系统中一个非常重要的组成部分,主要负责将模拟信号转换为数字信号,以便后续的处理与分析。AFE通常包括多个关键模块,如放大器、滤波器和模数...
2024-01-29 00:00:00

DIN41612连接器是应用于电子设备中的标准连接器,尤其是在工业自动化和通信领域。由德国标准化组织DIN制定,具有高可靠性和良好的电气性能。DIN41612连...
2019-06-10 00:00:00

还在为选择合适的贴片电阻电容而烦恼吗?风华贴片电阻电容选型手册最新版现已发布,为您提供全面的选型指导!本手册详细介绍了风华各类贴片电阻电容的产品规格、性能参数、...
2024-11-26 11:29:23

贴片电阻,作为电子电路中不可或缺的元器件,拥有多种封装类型,以适应不同的电路设计需求。了解这些常见的封装类型,对于选择合适的电阻至关重要。目前市面上常见的贴片电...
2024-11-26 11:30:00