介绍如何加速vcs仿真。
multi-core
第一种方法是使用-j
选项,指定processer的个数,比如-j4
。
-jnumber_of_processesC-77 Feedback Compilation/Elaboration Options Specifies the number of processes that VCS forks for parallel compilation. There is no space between the “j” character and the number. You can use this option when generating intermediate C files (-gen_c) and their parallel compilation.
第二种是使用FGP
(Fine-Grained Parallelism),使用方法是
1 | % vcs -fgp -full64 <otherOptions> |
两种可以一起使用:
1 | vcs -full64 +vcs+lic+wait +vcs+initreg+random +v2k -sverilog -j4 -fgp test.sv |
save/restore
在进行长时间仿真时,如果dump波形,仿真会变慢很多,但如果不dump,在出现问题之后,还需要重新仿真一次,导致时间变长。这时可以使用save/restore机制,在开始时不dump,每隔一段时间save一次,然后在出现问题后,restore最后一次sanpshot,再开始dump波形,从而加快了查问题的速度。
编译选项加-debug_access
。
save/restore是一条ucli命令,可以在仿真时加-ucli,然后操作,也可以写成脚本。
1 | $ vcs -full64 +vcs+lic+wait +vcs+initreg+random +v2k -sverilog -j4 -fgp -debug_access test.sv |
也可以写成脚本
1 | $ cat save.tcl |