创建综合约束

综合步骤收到设计的 RTL 描述,并利用时序驱动的算法将其转变成最佳技术映射网表。结果质量受 RTL 代码质量和提
供的约束的影响。在编译流程的这个阶段,信号网络延迟建模采用近似法,无法反映布局约束或复杂影响 (例如拥
塞)。这里的主要目的是获得具有真实和简单约束且满足时序要求或差一点满足时序要求的网表。
综合引擎接受所有 XDC 命令,但只有一部分真正有效:
与建立 / 恢复分析有关的时序约束会影响 QoR
°
create_clock / create_generated_clock
°
set_input_delay / set_output_delay
°
set_clock_groups / set_false_path / set_max_delay / set_multicycle_path
与保持和移除分析有关的时序约束在综合步骤中被忽略:
°
set_min_delay/set_false_path -hold / set_multicycle_path -hold
• RTL 属性强制采用映射和优化算法来制定决策。以下提供一些实例:
°
DONT_TOUCH/KEEP/KEEP_HIERARCHY/MARK_DEBUG
°
MAX_FANOUT
°
RAM_STYLE/ROM_STYLE/USE_DSP48/SHREG_EXTRACT
°
FULL_CASE/PARALLEL_CASE( 仅限 Verilog RTL)
注释: 同一属性还可被设置为 XDC 文件的特性。使用基于 XDC 的约束便于仅在特定情况且不改变 RTL 的前提下影
响综合结果。
物理约束被忽略 ( LOC BEL Pblock
综合约束使用的名称必须来自细化的网表、更好的端口和时序单元。一些 RTL 信号会在细化过程中消失,因此无法为
它们赋予 XDC 约束。此外,由于细化后有多种不同优化,因此网络或逻辑单元会并入不同原语,例如 LUT DSP 块。
要了解详细设计对象的名称,单击 Flow Navigator 中的 “Open Elaborated Design” ,然后浏览您感兴趣的层级。
有些寄存器被吸收到 RAM 块中,而且有些层级级数会消失以实现夸边界优化。
任何细化的网表对象或层级级数都可利用 DONT_TOUCH KEEP KEEP_HIERARCHY MARK_DEBUG 约束进行保存,
但存在降低时序或占位面积 QoR 的风险。
最后,有些约束存在冲突或不被综合认可。例如,如果在跨多个层级级数的网络上对 MAX_FANOUT 属性进行设置,而
且有些层级通过 DONT_TOUCH 进行保存,那么扇出优化将受到限制或被完全阻止。
重要提示: 与实现阶段不同,综合阶段可对用于定义时序约束的 RTL 网表对象实行优化,以获得更好的 QoR 。只要约
束针对实现进行了更新和验证,这通常不会有问题。如果需要,还可以使用 DONT_TOUCH 约束保存任意对象,以便
在综合与实现阶段均可应用约束。
一旦综合完成后,赛灵思建议您检查时序和使用报告,以验证网表质量满足应用要求并可用于实现阶段。
创建实现约束
实现约束必须准确反应最终应用的要求。物理约束 (例如 I/O 位置和 I/O 标准)决定于电路板设计,包括电路板走线
延迟,以及源自总体系统要求的散热管理要求。在进入实现步骤之前,赛灵思强烈建议您对所有约束的正确性和准确
性进行验证。错误约束可能会降低实现的 QoR 以及对于时序验收质量的信心。
多数情况下,在综合与实现阶段可以使用相同的约束。但是,由于设计对象在综合阶段可能消失或发生名称变化,因
此必须核实所有综合约束可在实现网表中正确使用。如果不是这样,您必须创建一个附加 XDC 文件,用以存储仅在实
现阶段有效的约束。
将块级约束读入顶层设计
当开发多团队工程时,为方便起见应为顶层设计的每个主要块创建独立的约束文件。这些块在最终整合为一个或多个
顶层设计之前通常需要单独开发和验证。
块级约束在开发时必须独立于顶层约束,且必须尽可能多地具备通用性,以便能够用于不同环境。此外,它们必须不
影响任何块边界之外的逻辑。
当实现子块时,期望使全时序网络包括在时序分析中以确保精确的偏差和时钟域交汇分析。这可能需要一个包含时钟
组件和附加约束文件的 HDL 包装器来复制顶级时钟约束。它仅用于子模块的时序验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值