#VCS# 关于Verdi KDB 数据库

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

### 关于VCS中的KDB选项及其对v2k文件的支持 在涉及VCS(Verilog Compiler Simulator)的仿真过程中,为了支持特定的功能或工具集成,如Verdi波形查看器,需要配置相应的参数和路径。对于KDB(Knowledge Database)而言,在命令行中添加`-kdb`选项是必要的[^5]。 当使用VCS进行编译时,如果目标是在后续利用Verdi来进行详细的调试分析,则除了上述提到的-kdb外,还需要确保设置了NOVAS_LIB_PATH这一环境变量。这有助于建立正确的库链接关系以便顺利读取由VCS产生的数据结构用于高级别的可视化展示。 至于v2k文件的支持情况,实际上v2k是一种特殊的脚本文件,它主要用于定义如何启动模拟过程以及传递给模拟器的各种参数。虽然这不是直接与KDB关联的概念,但在实际操作中可以通过修改v2k内的指令来间接影响到KDB的行为模式。例如可以在v2k文件里指定启用KDB特性: ```bash # Example content of a .v2k script to enable KDB feature with VCS +define+DEBUG_MODE # Define debug mode macro which can be used within the design. -v # Specify Verilog source files or libraries. +f<filelist> # Read filenames from <filelist>. -l elaborate.log # Log elaboration messages into 'elaborate.log'. -sv # Enable SystemVerilog features. -full64 # Use full 64-bit integer width for simulation. -line_trace # Generate line trace information during simulation. -kdb # Enable Knowledge Database generation for use with Verdi debugger. ``` 通过这种方式,不仅能够控制仿真的基本行为还能激活额外的功能模块比如这里所说的KDB接口,从而更好地满足复杂项目的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值