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.