Vivado加速编译技巧
- 工具方法
Vivado在implement时,会将中间过程打包成dcp文件,对dcp文件进行修改可以加速编译,vivado16.4以上版本有Debug和 ECO功能。
- DCP文件
在implement成功后,/xxx.runs/impl_1文件夹下会有xxx_opt.dcp、xxx_placed.dcp、xxx_routed.dcp三个DCP文件。
其中xxx_opt.dcp是在opt_design完成之后生成。opt_design主要是完成逻辑优化等。xxx_placed.dcp在placed_design完成之后生成。placed_design主要是完成布局工作。xxx_routed.dcp在routed_design完成之后生成。routed_desig主要是完成布线工作。
可以根据修改的逻辑大小、类型选择DCP节点进行修改。生成bit流时,是从该节点到generate_bitstream,从而节省编译时间。
- 使用场景
- 板级调试时,发现需要观测的信号没有添加到ila中。可使用ECO功能下的Replace Debug Probes(已经有ILA模块,只是没有加进去)
- 板级调试时,需要观测的信号没有添加到ILA中,且没有例化ILA核。可以在Debug功能生成Debug Core。
- 初始化RAM、ROM初始值。对RAM18E和RAM36E模块进行初始化。
- 逻辑功能有问题,需要简单的添加接地、拉高、FF、LUT等(理论上底层模块都能添加)
- 使用方法
4.1适用场景1,替换ILA引脚
a)打开xxx_routed.dcp
b)选择Replace Debug probes
C)因为只是修改了布线,布局没有改动,所以需要Route Design。Optimize Physical Design是优化布局、时序等。大工程不优化有可能布不成功。布局完成,直接Generate Bitstream、write Debug probes
d)对于编译1.5个小时的工程。替换ILA引脚生成bit文件需要10分钟左右。
4.2适用场景2-添加ILA模块
a)打开xxx_opt.dcp,简单工程可打开xxx_routed.dcp,在选用的DCP文件中, placed.dcp和routed.dcp布局布线不通,闪退。opt.dcp可以布通。
继续转到ECO模式下
依次运行,生成bit流。对于编译1.5个小时的工程。添加ILA引脚生成bit文件需要30分钟左右。
4.3使用场景3-初始化RAM
a)打开xxx_routed.dcp
找到RAMB36E块,对INT_xx进行初始化修改。因为不涉及布局布线,直接生成bit流即可。时间在2分钟左右。
4.4、使用场景4 –添加逻辑块
a)比如数据有效信号没有对齐,需要在打一拍寄存,在DCP中需要添加一个寄存器。打开xxx_routed.dcp
按照逻辑链接方式进行连接
按照上述方式一次进行生成bit流,生成bit文件需要15min左右。