Vivado 增量式编译

增量包含两部分,增量综合和增量布局布线!

过程如下:

        

增量综合

在此过程中,该工具会将增综合信息放入生成的 DCP 文件中,以在以后的运中引用。它将检测设计何时发生改,然后仅对已改的设计部分重新运综合。此流程的主要优势在于,对于改很小的设计,时间将显着减少。此外,在 RTL 中插入小的改时,设计的 QoR 波动会小。

Settings  -> Synthesis  -> Incremental Synthesis 进行设置

Incremental Synthesis:可以选择使用已知dcp,最后创建dcp(默认),关闭增量综合

incremental_mode:描述跨分区优化,可以选择Quick,default, aggressive,off

增量布局布线

发生在增编译设计流程的实现阶段

通过重复使用参考设计中先前的布局和布线,保持 QoR 的可预测性。

加快布局和布线运时间或尝试最后一英时序收敛。

增量设计包括 RTL 改、网表改或两者。

允许改约束,但一般收紧约束将显着影响布局和布线,通常最好在增流程之外添加

Incremental Implementation 和 Incremental Synthesis 是有区别的,,前者默认状态是没用设置的,,需要在软件上进行设置

Incremental Directives:包含以下三种方式

RuntimeOptimized

指令尝试尽可能多地重用来自参考运的布局和布线信息。计时目标将与参考运相同。如果参考运 WNS ‑0.050,那么增会尝试关闭此设计的时序,而是以 ‑0.050 为目标。这仅影响设置时间。这是未指定指令时的默认

TimingClosure

指令将重用参考中的布局和布线,但它会破坏符合时序的径并尝试关闭它们。运一些运时间密集型算法以获得尽可能多的时序改进,但由于很大程度上放弃了布局,因此前端增益有限。这种技术对参考 WNS > ‑0.250 ns 的设计非常有效。

Quick

是一种特殊的模式,在布局布线过程中调用定时器,而是以相关逻辑的布局为指导。这是最快的模式,但适用于大多数设计

设计需要 WNS > 1.000 ns 才能有效。这些通常是 ASIC 仿真或原型设计

增量实现包含三种模式:自动,高复用,低重用!

自动

需满足以下条件

       94% cell 匹配

       90% net 匹配

       WNS>-0.250

高复用

       Cell重复率高于75%,,运行

低复用

        用户可以针对单元类型、分层单元、时钟区域和SLR 重用

        目标 WNS 始终为 0

        增量指令被忽略,而使用默认布局布线算法中的指令

        低重用模式对于在特定区域对布局和布线提出挑战的设计最为有效!

        

备注:增量式编译,用户一般只进行实现部分,综合部分软件默认即可!这是一个较为复杂的过程,,此文仅为简单介绍!详细参考相关官方文档!另外部分内容不同软件版本有稍许不同!

### Vivado `route_design` 阶段卡住的解决方案 当遇到 Vivado 在 `route_design` 过程中卡住的问题时,可以采取多种措施来排查并解决问题。 #### 调整资源分配 增加计算机硬件资源可能是有效的办法之一。确保有足够的内存和 CPU 使用率[^2]。如果项目较大或者设计较为复杂,则更需要充足的计算资源支持整个流程顺利运行。 #### 修改约束条件 检查并优化时序和其他物理实现相关的约束设置。不合理的约束可能导致路由器难以找到满足所有要求的最佳路径,从而造成处理停滞。适当放宽某些严格的要求可能会加速此阶段的工作进展[^1]。 #### 利用增量式布线功能 对于大型或复杂的工程项目来说,采用部分重路由(Incremental Routing)技术能够有效减少整体所需的时间开销。具体操作可以通过指定特定区域内的网络重新布局而不影响其他已成功完成的部分[^3]: ```tcl set_property incremental_route true [get_runs impl_1] launch_runs impl_1 -to_step route_design wait_on_run impl_1 ``` #### 启用多线程模式 为了充分利用现代处理器的优势,在启动实施之前配置好合适的并发级别参数可以帮助加快执行速度。这通常涉及到调整 `-jobs` 参数的数量以匹配实际可用的核心数目: ```bash launch_runs synth_1 -jobs 8 launch_runs impl_1 -to_step write_bitstream -jobs 8 ``` #### 日志审查与错误定位 仔细查看日志文件中的提示信息,特别是那些标记为警告或错误级别的条目。这些记录往往包含了导致性能瓶颈的关键线索,有助于针对性地修正潜在的设计缺陷或是软件环境方面存在的问题。 通过上述建议的操作,应该能够在很大程度上缓解甚至彻底解决 `route_design` 步骤长期无响应的现象。当然,考虑到不同场景下的具体情况差异很大,因此还需要结合实际情况灵活运用以上策略组合来进行调试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值