vivado的jobs和thread数量区别

jobs是我们在同时有多个runs在跑,如果只有一个Design run,那这个参数再多也是没有差别的。

thread是一个run同时有几个并行进行的任务,在Windows上,默认是2线程;在Linux上,默认是8线程;我们可以通过tcl脚本改变线程数:

set_param general.maxThreads 8

获取当前使用的线程数:

get_param general.maxThreads

结论:

1)对于单个design run,jobs的数量不影响编译速度;
2)在Windows上,默认的线程数是2,我们可以通过tcl来改变线程数,但每打开工程后都要重新设置一下,多线程会使综合实现的时间缩短,但效果并不是很明显;2线程1小时编译完的工程,用了8线程后,编译时间为50分钟;
3)在多个design runs时,jobs的数量是当前可以同时运行的design run的个数。

修改线程数,可以稍微提升综合速度。如何设置vivado启动就设置成20个线程呢?

首先,建立一个文本文件,名称为:vivado_init.tcl

内部写上脚本:

set_param general.maxThreads 20
get_param general.maxThreads

保存后,放入vivado安装目录下的scripts目录,这样,每次启动vivado,软件会自动运行脚本,设置最大线程数为20。

start_gui
Sourcing tcl script 'C:/Xilinx/Vivado/2022.2/scripts/Vivado_init.tcl'
Scanning sources...
Finished scanning sources
INFO: [IP_Flow 19-234] Refreshing IP repositories
INFO: [IP_Flow 19-1704] No user IP repositories specified
INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 'C:/Xilinx/Vivado/2022.2/data/ip'.
open_project: Time (s): cpu = 00:00:03 ; elapsed = 00:00:05 . Memory (MB): peak = 1151.156 ; gain = 108.137
update_compile_order -fileset sources_1
get_param general.maxThreads
20


欢迎转载,本文地址: https://blog.prodrich.com/detail/83/

带着使命来到世上的你,给他人提供价值,才有价值