Vivado 中的增量设计会重新利用已有的布局布线数据来缩短运行时间,并生成可预测的结果。当设计有 95% 以上的相似度时,增量布局布线的运行时间会比一般布局布线平均缩短2倍。若相似度低于80%,则使用增量布局布线只有很小的优势或者基本没有优势。
当设计进行到后期,每次运行改动很小,在开始后端实现前读入的设计网表具有较高相似度的情况下,推荐使用 Vivado 的增量布局布线功能。运行增量流程的前提是有一个已经完成布局布线的参考设计检查点(Design Checkpoint, DCP)文件,并以此用来作为新的布局布线的参考。运行过程中,Vivado 在 Tcl 脚本中用read_checkpoint –incremental *.dcp 读入。参考文件可以是布局或布线后的dcp文件。除此之外,也可以运行report_incremental_reuse 命令检查并报告参考设计检查文件和当前设计文件的相似度。
Using Incremental Compile in Non-Project Mode
To specify a design checkpoint file (DCP) to use as the reference design, and to run incremental place in Non-Project Mode:
1. Load the current design.
2. Run opt_design.
3. Run read_checkpoint -incremental <dcp_file>.
4. Run place_design.
5. Run phys_opt_design(optional). Run phys_opt_design ifit was used in the reference
design.
6. Run route_design.
TCL脚本:
link_design; # to load the current design
opt_design
read_checkpoint -incremental <dcp_file>
place_design
phys_opt_design; #if used in reference design
route_design
注:可以用增量式编译方法更新BRAM中的初始化数据,可以减少一半的综合时间。
参考文献:
[1] 何宾. Xilinx FPGA权威设计指南——Vivado2014集成开发环境. 电子工业出版社. 2015,2.
[2] Xilinx. UG904:Incremental Compile. 2013,10,2.