verdi加载的是Knowledge Database (KDB),这是一个 Elaboration Database elabDB。建议通过 vcs -kdb -lca
生成kdb.elab++,位于simv.daidir目录下。
-lca Limited Customer Availability features are features available with the select functionality. These features will be ready for a general release, based on customer feedback and meeting the required feature completion criteria. LCA features do not need any additional license keys.
VCS two-step flow
% vcs -kdb -lca <vcs options> -verdi_opts "<verdi_options>"
VCS three-step flow
% vlogan -kdb -lca <vlogan options> <source files>
% vhdlan -kdb -lca <vhdlan options> <source files>
% vcs -kdb <top_name>
verdi -elab ./simv.daidir/kdb 加载KDB。
如果是使用vcs -kdb -lca产生的KDB,建议使用如下三种方式加载:
verdi -dbdir simv.daidir
verdi -simBin simv
verdi -ssf novas.fsdb
这三种方式都以加载KDB,第三种同时加载波形。
如果没有vcs, 也可以直接使用verdi加载design。
verdi内置了compiler,vericom analyze verilog vhdlcom analyze VHDL。
vericom -sv -ntb_opts uvm -f xxx.list生成库work.lib++
veridi -q -nologo -lib work.lib++加载设计, -lib指定加载的库,verdi打开GUI界面,会自动elab。
也可以手动elab, verdi提供了elabcom命令进行elabration:elabcom -lib work.lib++ -elab kdb生成kdb.elab++ elabDB。
verdi -q -nolog -elab kdb加载design。
也可以直接通过verdi -sv -ntb_opts uvm -f xxx.list打开GUI界面,通过source的方式直接load design,这种方式不会产生中间文件,只会生成verdiLog。有语法报错也可以打开,错误在compiler.log中显示。可以直接Edit Source File或者设置gvim编辑,再Shift + L reload design。
提前通过vcs或者vericom编译成precompiled library,直接加载无法调用Edit Source File,需要设置setenv NOVAS_EDIT_SOURCE 1。但是reload design仍需要重新编译后,才会生效。
通过设置环境变量NOVAS_RC NOVAS_GUICONF保存个人喜好verid的配置;
对于VCS用户,建议使用vcs -kdb -lca的方式结合verdi进行debug,这种方式保证了一致性。使用verdi的vericom elabcom和vcs略有差异。
原文链接:https://blog.csdn.net/Holden_Liu/article/details/113761585