唠一唠解决FPGA约束中时序不收敛的问题

时间:2025-11-01  作者:Diven  阅读:0

FPGA时序不收敛,会出现很多随机性问题,上板测试大概率各种跑飞,而且不好调试定位原因,所以在上板测试前,先优化时序,再上板。

唠一唠解决FPGA约束中时序不收敛的问题

今天我们就来唠一唠解决时序不收敛的问题,分享一些常用的解决办法和思路。

一、模块运行时钟频率

设计模块前,需明确模块运行的最大时钟频率。

不同时钟频率下,对应的时序约束最大延时是不一样的。

比如100MHz时钟下运行的HDL逻辑,比200MHz时钟下的HDL逻辑,支持的组合逻辑层数多。

根据最大时钟频率,来设计HDL代码的层级,时钟频率越高,插入寄存器要更多,增加流水线级数,减少过长的组合逻辑。

二、HDL代码

1、HDL代码风格

优先参考FPGA开发软件提供的HDL Template,比如Vivado的language template。

2、HDL代码逻辑优化

对于复杂的算法代码逻辑,需要结合FPGA并行计算和最小处理单位为bit的特性,对逻辑代码进行优化实现。

明确变量最大的数据位宽。

逻辑代码中,一些软件逻辑实现起来较复杂,尽量简化,删除掉一些不可能出现的情况。

这部分代码逻辑,可能需要重复迭代几遍实现才行。

三、组合逻辑层数

1、插入寄存器

将计算逻辑分成多个时钟周期实现,这是常用的时序优化方法,可以减少过多的组合逻辑层数,但会增加延时。

这里以一个多路输入求和计算为例增加寄存器后,改为

2、逻辑展平设计

优化代码中优先级译码电路逻辑,主要出现在IF/ELSE结构语句中,这样逻辑结构被展平,路径延迟得以缩短。

IF ELSE结构语句存在明显的优先级,建议尽量用CASE语句来替代。

3、防止变量被优化

HDL综合布线软件会根据实际情况,自动优化代码逻辑,可能存在将多个不同寄存器变量合并成一个寄存器变量的情况。

对于不希望被优化的变量,可以在变量定义前,添加(* keep = "ture" *)

四、高扇出

高扇出问题,原因是一个寄存器驱动后级数超过了本身的驱动能力,导致延迟时间过大,不满足时序。

1、使用max_fanout

在变量定义前,可以添加(* max_fanout = n *),来设置变量的最大扇出数,超过这个扇出数,综合软件会自动复制多份变量。

2、复位信号高扇出

复位信号是常见的高扇出问题,主要解决办法有:

(1)减少复位信号的使用,能使用使能信号控制的,就用使能信号。

(2)对于大型模块,复位信号可以使用BUFG来驱动复位信号,可以增加复位信号的驱动能力

五、资源消耗

FPGA器件的整个工程资源消耗,不管是LUT还是BRAM等资源,建议不超过80%。

一旦资源消耗超过80%,在布线综合时,就出现布线资源不够,导致出现布线拥塞,从而出现了时序不收敛的情况。

布线拥塞也分为全局拥塞和局部拥塞,可能是高扇出信号过多,也可能是局部布线资源不够用,导致时序路径过长。

1、优化代码逻辑,减少资源消耗。

在资源不够用的情况下,建议检查代码是否可优化,设置的RAM大小是否过大等等。

2、使用替代资源实现

在FPGA中实现RAM时,可以根据整个资源的使用情况,考虑使用Distributed RAM、URAM等资源来减少BRAM的消耗。

六、

本文分享了时序收敛的一些方法和思路,希望可以给大家带来一点启发。

猜您喜欢

其插件电阻系列高品质、多样化选择赢得了市场的认可。本文将深入探讨YAGEO插件电阻的不同品牌及其特点,帮助您更好地了解这一产品线,为电子设计项目选择合适的元件。...
2017-12-07 12:43:07

麻雀虽小,五脏俱全。CPLD规模虽小,其原理和设计方法和FPGA确是一样的。轻视在CPLD上的投入,就有可能存在设计隐患,导致客户使用产品时出现故障,从而给公司...
2023-06-27 15:14:00

消防锤,又称逃生锤,是重要的自救工具,应用于高层建筑、公共交通工具及各种场所。主要功能是帮助人们在紧急情况下迅速破窗逃生,确保生命安全。消防锤通常由坚固的材料制...
2024-02-06 00:00:00

防浪涌电阻作为关键元件,承担着保护电路免受过电压冲击的重要职责。FOSAN(富捷电子)作为国内知名的电子元器件制造商,其防浪涌电阻产品因品质优良、性能稳定而受到...
2016-06-20 03:39:12

扫地车是应用于城市清洁和环境维护的设备,按照不同的分类标准,可以分为以下几类。根据动力来源,扫地车可分为电动扫地车和燃油扫地车。电动扫地车以电池为动力,环保无污...
2008-02-24 00:00:00

盘头内六角机螺钉三组合是应用于机械装配中的紧固件,其参数设计直接影响到装配的稳定性和安全性。螺钉的材质通常采用高品质碳钢或不锈钢,以确保其耐腐蚀性和强度。螺纹标...
2009-01-22 00:00:00

管型端子是常见的电气连接元件,应用于电气设备和线路中。其规格尺寸通常由内径、外径和长度三个关键参数构成。内径是指端子内部的孔径,通常与导线的直径相匹配,以确保良...
2018-02-12 00:00:00

电流检测电阻作为关键元器件,其选型变得尤为重要。泰科电子(TE Connectivity)作为全球领先的电子连接和传感解决方案供应商,其电流检测电阻产品因高品质...
2019-10-07 00:03:16

非易失性存储器(ROM)是重要的计算机存储设备,主要作用在于保存关键信息和程序,即使在断电的情况下也能保持数据的完整性。ROM通常用于存储固件,这是设备启动和运...
2011-05-10 00:00:00

贴片电阻,电子电路中很重要的小元件,其性能很大程度上取决于构成的材料。小小的贴片电阻内部,究竟蕴藏着哪些材料呢?让我们一起来揭秘。目前,贴片电阻最常用的材料是陶...
2024-11-29 10:25:43