提高vivado的编译速度
如何充分使用自己的电脑硬件资源提高vivado的编译速度
在编译vivado下的fpga工程时,很多设计者往往选择多个jobs进行编译,以为这样会在原有基础上加快编译速度,这个其实是不准确的。对Vivado比较熟悉的设计者,都知道Vivado中的多线程是通过tcl脚本去设置的。目前vivado在windows下默认使用线程数是2个,最大可使用的线程数是8个。而jobs只有在同时有多个runs在跑的时候才有作用,如果只有一个design run,那jobs参数是不起效的。
如何读取当前线程数
使用get_param general.maxThreads
命令可以读出当前fpga工程使用的线程数。
读出使用线程数结果:
可以看出当前工程编译时使用线程数为8,此处是因为我已经进行过设置。
如何设置当前线程数
使用set_param general.maxThreads x
命令可以设置当前fpga工程使用的线程数,x最大 表示小于9的正整数(此处必须物理硬件支持才有效果,否则没有实际意义)。
但是此种设置方法只是单次有效。下次重新打开vivado软件时又会恢复默认的2线程状态。有没有一种一劳永逸的方法呢,一次设置,一直有效。接下来,我们说明。
新建一个文本文档,内容为set_param general.maxThreads 8
,保存,更改文件名称和拓展名为vivado_init.tcl
之后把该文件存放到vivado 软件安装路径下的scripts文件夹下。之后,vivado软件就会在启动时,自动读取该tcl脚本文件进行编译线程的设置。以笔者vivado软件安装路径为例说明如下图:
重新打开vivado 软件后,会有如下效果。
分享不易,点个赞再走呗
号外:目前本人使用的vivado 19.2发现已经支持最多32个threads了。然并卵,相对于18.3,感觉19.2更卡了。新版本想说爱你不容易。
另外,19.2的bug ,红的让人喜庆,介意者慎入。