bsub -q qverdi
-Ip
verdi -nologo -syntaxerrormax 100000 +systemverilog+.sv +systermverilog+.v
+systermverilog+.svi +systermverilog+.svp +systermverilog+.svh +define+DUMP+define+DEBUSSY -ssv -ssy -f <filelist> &
Submitting a job to a specific queue or a specific host.
# bsub –q <queue_name> my_job
# bsub –m <hostname> my_job
# bsub –Ip : To submit an interactive job through LS
#bjobs –a : View all jobs, you can display information about jobs that are both running and those recently finished (PEND, RUN, USUSP, PSUSP, SSUSP, DONE, and EXIT statuses).
# bkill <job_id> Kill a job.
# bkill –r <job_id>
Forcing removal of a job from LSF. Removes a job from the system without waiting for the job to terminate in the operating system.
https://www.cnblogs.com/-9-8/p/6278165.html
现在很多verilog 的filelist 文件中用如下形式来指定文件所在的目录就行了,而不必指定具体文件
./testbench/ppc460_PLB4/p464s_test_top_tb.v
../hdl/p460s_defines.v
+incdir+$SYNOPSYS/dw/sim_ver
+incdir+./vera/ver_shell/ppc460_PLB4
+incdir+./testbench/ppc460_PLB4
+incdir+./testbench/IBM_models/DCR3X
-y ../hdl
-y ../hdl/CPU
-y ../hdl/SYNC4
-y ../hdl/behav_models/custom
-y ../hdl/behav_models/rams
-y $SYNOPSYS/dw/sim_ver
-y ./testbench/ppc460_PLB4
-y ./vera/ver_shell/ppc460_PLB4
-y ./testbench/IBM_models/DCR3X
+libext+.v
+define+VCS_DUMPON=1
上面通过-y 指定library目录, +libext+.v指定library后缀名。 有时候还用-v 来指定library文件。但是这样直接被verdi吃进去以后不能显示hierarchy和文件。verdi提供了解决的办法: -ssy (用来取消-y指定的library为library cell) -ssv (用来取消-v 指定的library为library cell)
- Files with extension name (.sv or .SV) will automatically be recognized as SystemVerilog.
- Files with extension name (.v2k) will automatically be recognized as Verilog-2001.
- Files with extension name (.v) will automatically be recognized as Verilog-95
一、記錄一些常用的VCS Command
https://blog.youkuaiyun.com/immeatea_aun/article/details/80961258
https://blog.youkuaiyun.com/gsjthxy/article/details/88429983
https://blog.youkuaiyun.com/limanjihe/article/details/52430286
merge coverage:urg -full64 -metric line+tgl+cond+fsm+assert+branch -warn none -dbname <merge_coverage_name>.vdb -dir simv.vdb -elfile <el_filename.el> 注意:其中-dir之後的第一個vdb數據會被認為是base data,如果產生其他vdb的RTL與base不同,將不能被Merge進來
查看coverage:verdi -cov -covdir <merge_coverage_name>.vdb &
如果是用urg,則使用如下command:urg -dir simv.vdb &
VCS收Coverage的command:-cm line+tgl+cond+fsm+assert+branch -cm_line contassign -cm_cond full+tf_foranywidth
如果修改了covergroup的name或者是採樣信號的定義,可以加如下option進行coverage merge:-flex_merge drop或者 -flex_merge reference或-flex_merge union
如果是看網頁版,則使用如下command打開: firefox ${sim}/urgReport/dashboard.html
二、注意事項
如果Hierarchy或者covergroup有修改,在Merge VDB的時候需要刪除之前的VDB數據。
如果在例化DUT的時候需要傳遞參數進去,導致生成的電路不一致,需要分別Merge,應為不同Hierarchy的module的VDB不能夠Merge在一起。