news 2026/9/10 8:28:10

Cadence AXI VIP(1)——使用示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cadence AXI VIP(1)——使用示例

环境准备

Cadence的所有VIP均整合在VIPCAT中,不需要安装。正常流程应该继续使用C家xrun继续仿真,但是这里使用vcs+verdi实现,需要额外做些修改。VIPCAT使用版本11.30.106,vcs版本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模块,然后环境下包含AXI3、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_64.csh,找到vcs编译部分指令,在最后添加"-debug_access \"。

-XVpiCbAutoRelease=libcdnsv.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_64.csh ./cdn_vip_run_vcs_sv_uvm_64.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 \ +define+DENALI_UVM +define+VCS \ -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 \ -timescale=1ns/10ps +define+UVM_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配置文件,通过图形界面可以直观对环境配置进行修改。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 9:07:39

OFA图文匹配模型开源镜像部署:免编译、免依赖、开箱即用

OFA图文匹配模型开源镜像部署:免编译、免依赖、开箱即用 1. 这不是“又要配环境”的模型,是真能直接跑的图文理解工具 你有没有试过部署一个视觉语言模型,结果卡在安装 PyTorch 版本、CUDA 驱动、transformers 兼容性上,折腾半天…

作者头像 李华
网站建设 2026/9/9 16:36:04

mT5中文-base零样本增强模型效果展示:用户评论情感中性化增强前后

mT5中文-base零样本增强模型效果展示:用户评论情感中性化增强前后 1. 这不是普通改写,是让文字“稳下来”的新方式 你有没有遇到过这样的情况:用户评论里明明只是简单一句“这个产品还行”,模型却硬生生判成“强烈推荐”&#x…

作者头像 李华
网站建设 2026/8/21 15:28:41

GLM-Image快速上手教程:3步完成AI图像生成环境搭建

GLM-Image快速上手教程:3步完成AI图像生成环境搭建 1. 为什么你需要这个教程? 你是不是也遇到过这些情况: 想试试最新的国产图像生成模型,但看到“34GB模型”“CUDA 11.8”“HF_HOME配置”就关掉了网页?下载了镜像&…

作者头像 李华
网站建设 2026/9/8 7:12:39

小白友好!SiameseUIE模型部署与实体抽取入门教程

小白友好!SiameseUIE模型部署与实体抽取入门教程 你是不是也遇到过这样的问题:一段新闻稿里藏着十几个名字和地名,手动圈出来要花十分钟;客户发来一长串产品描述,想快速提取“负责人”和“交付城市”,却只…

作者头像 李华
网站建设 2026/9/5 17:06:51

Z-Image-Turbo_UI界面提示词结构拆解,提升生成质量

Z-Image-Turbo_UI界面提示词结构拆解,提升生成质量 在使用Z-Image-Turbo模型进行图像生成时,很多人会发现:同样的模型、同样的参数设置,不同人写出的提示词(prompt)却带来截然不同的结果——有的画面精致细…

作者头像 李华
网站建设 2026/9/8 15:56:23

Hunyuan-MT-7B-WEBUI部署全流程,新手也能懂

Hunyuan-MT-7B-WEBUI部署全流程,新手也能懂 你是不是也遇到过这样的情况:看到一个超厉害的翻译模型介绍,心里直呼“这太适合我们单位处理多语种公文了”,可点开文档第一行就写着“需配置CUDA 12.1PyTorch 2.3transformers 4.45……

作者头像 李华