Vivado增量编译,你用对了不?

文章来源:FPGA入门到精通

Vivado增量编译包括增量综合和增量布局布线,增量布局布线最耗时,推荐设置增量布局布线,以有效降低编译时间。

1、增量编译的实际流程是什么样的?

Vivado 增量流程会从参考 DCP 文件中读取布局与布线信息,与当前设计在 opt_design 阶段生成的 DCP 进行比对。

匹配的逻辑单元会被直接复用,新增逻辑单元会被优化,同时也会优化穿过匹配与非匹配单元之间的逻辑。

因此,若设计中绝大多数逻辑单元可被复用,或时序已接近收敛,该流程对编译时间的改善会较为显著。

vivado-1.png

2、在vivado中如何设置和开启增量编译?

打开vivado工程后,按照如下图所示方式设置,指定固定参考dcp文件或由Vivado自动选择参考dcp。

vivado-2.png

vivado-3.png

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