黑桃TV,焕新启程!从“黑桃tv”到“黑桃tv最新”,开启视听新纪元!

核心内容摘要

《深海蜜柚》:四人的情感纠葛,谁能抵达幸福的彼岸?
每日反差大赛51:当“不按常理出牌”成为一种艺术!

禁忌之火:那一夜,全网都在围观被“囚禁”的流量密码

环境准备Cadence的所有VIP均整合在VIPCAT中不需要安装。

正常流程应该继续使用C家xrun继续仿真但是这里使用vcsverdi实现需要额外做些修改。

VIPCAT使用版本

11.

3

106vcs版本2022。

尝试过老版本VIPCAT可能遇到问题是不兼容64位vcs可能也能兼容问题太多放弃了。

环境变量使用前添加环境变量在~/.bashrc中添加如下变量注意这里是我的VIPCAT路径需要按实际修改。

export CDN_VIP_ROOT/usr/Cadence/vipcat/vipcat_11_30_106 export DENALI${CDN_VIP_ROOT}/tools.lnx86/denali_64bit示例类型AXI相关共包含3个示例环境分别为常规配置、soma配置和soma模块然后环境下包含AXI

AXI4和ACE等子示例。

/usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/using_config_object /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/legacy_examples/using_soma_interface/ /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/legacy_examples/using_soma_module/常规配置示例运行示例这里执行AXI4常规配置示例脚本后续再介绍soma。

直接在端口执行示例路径下vcs后缀脚本即可端口打开的地方就是环境生成的地方。

建议把using_config_object拷贝到其他地方再按新路径执行这样可以随意改验证环境同时不改动VIPCAT文件。

/usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/using_config_object/axi4/example_setup_vcs.csh环境生成执行脚本会在路径下自动生成环境变量脚本和仿真脚本然后自动调用这两个脚本进行仿真。

期间在log中看到vcs编译和仿真最后打印结果完成5次写传输和7次读传输。

Verdi修改由于希望用verdi打开所以要做一些修改首先打开“using_config_object/axi4/axi4UvmUserTb.sv”里面有叫testbench的module这个是tb的顶层在module最后加上fsdbdump的代码。

initial begin $fsdbDumpfile(wave.fsdb); $fsdbDumpSVA; $fsdbDumpvars(0,testbench); end然后需要改compile指令比较尴尬的是新版本VIPCAT在example_setup_vcs.csh里调用的不是脚本而是可执行文件还不好改所以只能改新生成出来的cdn_vip_run_vcs_sv_uvm_

csh找到vcs编译部分指令在最后添加-debug_access \。

-XVpiCbAutoReleaselibcdnsv.so \ -P ${DENALI}/verilog/cdnsv.tab \ -LDFLAGS -rdynamic ${DENALI}/lib/libviputil.so \ -top testbench \ -debug_access \因为已经改了生成文件所以不能用再用example_setup_vcs.csh了直接顺序执行路径下2个脚本即可服务器默认bash的话要切csh然后可以看到重新进行编译仿真最后多了fsdb文件。

csh source cdn_vip_env_vcs_sv_uvm_

csh ./cdn_vip_run_vcs_sv_uvm_

csh参照编译log手写一个verdi Makefile注意修改VIPCAT路径。

CDN_VIP_COMMON_SRC : /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv CDN_VIP_AXI_SRC: /usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi EXAMPLE_DIR: /usr/Cadence/vipcat/vipcat_11_30_106/vipcat_11_30_106/tools.lnx86/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/using_config_object/axi4/ verdi: verdi \ v2k \ -sverilog \ defineDENALI_UVM defineVCS \ -ntb_opts uvm-ieee \ incdir${CDN_VIP_COMMON_SRC} \ ${CDN_VIP_COMMON_SRC}/denaliMem.sv \ ${CDN_VIP_COMMON_SRC}/denaliCdn_axi.sv \ incdir${CDN_VIP_AXI_SRC} \ ${CDN_VIP_AXI_SRC}/cdnAxiUvmTop.sv \ -timescale1ns/10ps defineUVM_NO_DEPRECATED \ incdir${EXAMPLE_DIR} \ incdir${EXAMPLE_DIR}/.. \ ${EXAMPLE_DIR}/../hdl_interfaces/cb_interfaces/cdnAxi4Interface.sv \ ${EXAMPLE_DIR}/axi4UvmUserTop.sv \ ${EXAMPLE_DIR}/axi4UvmUserTb.sv \ ${CDN_VIP_COMMON_SRC}/denaliMemSvIf.c \ ${CDN_VIP_COMMON_SRC}/denaliCdn_axiSvIf.c \ -ssf wave.fsdb \ -nologo \ -sswr ./signals.rc 最后执行make verdi在波形中可以看到12次AXI传输。

soma配置示例运行示例流程和前示例相似区别在选择SOMA接口示例。

/usr/Cadence/vipcat/vipcat_11_30_106/tools/denali_64bit/ddvapi/sv/uvm/cdn_axi/examples/legacy_examples/using_soma_interface/axi4/example_setup_vcs.csh环境生成生成环境和前示例相似主要看区别。

首先测试用例换成了modifyTransactionTest大致上就是通过回调修改AXI延时的case。

此外VCS编译指令中加了CDN_AXI_USING_SOMA_INTERFACE宏定义在verdi中搜索使用宏定义文件发现只有接口parameter会用到如果宏定义有效则通过soma文件配置接口否则通过常量配置。

soma配置在testbench中可以看到soma文件路径分别是1主1从和1无效主。

通过执行pureview打开配置界面在界面中通过Open an existing file打开已有soma文件。

/usr/Cadence/vipcat/vipcat_11_30_106/tools/bin/pureview这里打开activemaster.soma可以看到各种配置例如有效、主设备、AXI协议版本4。

所以实际上soma是VIP配置文件通过图形界面可以直观对环境配置进行修改。

9.1旧版本-9.1旧版本应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123