文章来源:FPGA入门到精通
Vivado增量编译包括增量综合和增量布局布线,增量布局布线最耗时,推荐设置增量布局布线,以有效降低编译时间。
1、增量编译的实际流程是什么样的?
Vivado 增量流程会从参考 DCP 文件中读取布局与布线信息,与当前设计在 opt_design 阶段生成的 DCP 进行比对。
匹配的逻辑单元会被直接复用,新增逻辑单元会被优化,同时也会优化穿过匹配与非匹配单元之间的逻辑。
因此,若设计中绝大多数逻辑单元可被复用,或时序已接近收敛,该流程对编译时间的改善会较为显著。

2、在vivado中如何设置和开启增量编译?
打开vivado工程后,按照如下图所示方式设置,指定固定参考dcp文件或由Vivado自动选择参考dcp。


3、什么情形下使用增量编译?
如果设计已经基本稳定下来,后续迭代只会有很小部分的RTL代码发生改变。
4、哪些因素会影响增量编译效果?
(1)选择合适的dcp作为参考dcp。
参考dcp的FPGA型号、Vivado版本与当前设计一致,且需要时序收敛。
(2)自动模式下的dcp文件要时序收敛,WNS大于-0.25ns,否则不会启用增量编译。
(3)高复用模式
当设计复用率≥75%时,Vivado进入高复用模式,优先复用参考DCP的布局布线信息。时序收敛且复用率≥95%时效果最佳,适用于微小改动或仅Debug Core变更场景。
高复用模式下place_design、route_design 提供三种指令:
- Default:保证WNS不劣于参考DCP,优先缩短编译时间- Explore:侧重时序收敛,耗时更长
- Quick:不启用时序引擎,复用率99.5%时不影响QoR