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 |
带着使命来到世上的你,给他人提供价值,才有价值