1.前言
我们在项目中有时候需要使用不同的UVM版本库进行仿真,有时候还会在不同的仿真器之间进行切换,本文简单总结了一下vcs和xrun搭配uvm1.1/uvm1.2版本库的使用情况,希望能帮助到一些朋友。
2.为VCS指定UVM1.1的库
2.1方法1 最简单的方法:只需添加编译选项-ntb_optsuvm-1.1,示例脚本如下
vlogan-full64-ntb_optsuvm-1.1-sverilog-timescale=1ps/1ps-nc-lcomp.log+incdir+apb_pkg
2.2方法2
这种方法相对比较复杂,亲测可用。具体实现参考下面的脚本,还是推荐方法1,简单嘛。
vcs -sverilog -full64 -debug_acc+all +incdir+$VCS_HOME/etc/uvm-1.1/src
$VCS_HOME/etc/uvm-1.1/src/uvm.sv
$VCS_HOME/etc/uvm-1.1/src/dpi/uvm_dpi.cc
<../../src/source_files>
3.为VCS指定UVM1.2的库
3.1方法1最简单的方法:只需添加编译选项-ntb_optsuvm-1.2,示例脚本如下
vlogan -full64 -ntb_opts uvm-1.2 -sverilog -timescale=1ps/1ps -nc -l comp.log +incdir+apb_pkg
3.2方法2
这种方法相对比较复杂,亲测可用。具体实现参考下面的脚本,还是推荐方法1,简单嘛。
vcs -sverilog -full64 -debug_acc+all +incdir+$VCS_HOME/etc/uvm-1.1/src
$VCS_HOME/etc/uvm-1.1/src/uvm.sv
$VCS_HOME/etc/uvm-1.1/src/dpi/uvm_dpi.cc
<../../src/source_files>
4.VCS安装目录下UVM库的位置
VCS_HOME/etc/uvm
VCS_HOME/etc/uvm-1.1 VCS_HOME/etc/uvm-1.2
5.为xrun指定UVM1.1的库
5.1为xrun直接添加选项-uvm即可。
xrun-64bit-sv-accessrwc-uvm
5.2为xrun添加选项-uvmhome default即可
xrun -64bit -sv -access rwc -uvmhome default <source_files>
5.3为xrun添加选项-uvmhome
xrun -64bit -sv -access rwc -uvmhome
5.4为xrun添加选项-uvmhomeCDNS-IEEE
xrun -64bit -sv -access rwc -uvmhome CDNS-IEEE <source_files>
5.5为xrun添加选项-uvmhomeuvm_libraries/1800.2-2017-1.1
xrun-64bit-sv-accessrwc-uvmhomeuvm_libraries/1800.2-2017-1.1 -define CDNS_UVM_IEEE -uvmexthome `XMROOT`/tools/methodology/UVM/CDNS-IEEE<source_files>
5.6为xrun添加选项-uvmhomeuvm_libraries/1800.2-2020-1.1
xrun -64bit -sv -access rwc -uvmhome uvm_libraries/1800.2-2020-1.1 -define CDNS_UVM_IEEE -uvmexthome `XMROOT`/tools/methodology/UVM/CDNS-IEEE
6.为xrun指定UVM1.2的库参考第5节,将路径的指向从UVM1.1d改为UVM1.2的路径即可。
7.xrun安装目录下UVM库的位置 参考xrun(Xcelium)安装目录下的/tools/methodolog/UVM/目录,当然也可以使用Accelera官方给的UVM库。
`XMROOT`/tools/methodology/UVM/CDNS-1.1d
`XMROOT`/tools/methodology/UVM/CDNS-1.2
`XMROOT`/tools/methodology/UVM/CDNS-IEEE
`XMROOT`/tools/methodology/UVM/CDNS-1.2-ML
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
仿真器
+关注
关注
14文章
988浏览量
82995 -
UVM
+关注
关注
0文章
181浏览量
18965 -
VCS
+关注
关注
0文章
78浏览量
9495 -
脚本
+关注
关注
1文章
372浏览量
14635
原文标题:如何为仿真器指定不同的UVM版本库
文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
IC验证"UVM验证平台"组成(三)
验证用于找出DUT中的bug,这个过程通常是把DUT放入一个验证平台中来实现的。一个验证平台要实现如下基本功能:验证平台要模拟DUT的各种真实使用情况,这意味着要给DUT施加各种激励,有正常的激励
发表于 12-02 15:21
IC验证之UVM常用宏汇总分析(四)
OVM中过时的用法,使用纯净的UVM环境:`define UVM_NO_DEPRECATED除了上述通用的宏外,针对不同的仿真工具需要定义不同的宏:QUESTA、VCS、INCA分别对应Mentor
发表于 12-02 15:24
数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载中...
一套完美的库文件,验证工程师只需要对这些库文件进行扩展即可建立自己的验证平台。源码库包含了丰富的内容,可以满足验证工程师绝大部分的需求,激励可以在有约束的情况下随机产生。那么,相对于定
发表于 01-21 16:00
什么是uvm?uvm的特点有哪些呢
大家好,我是一哥,上章内容我们介绍什么是uvm?uvm的特点以及uvm为用户提供了哪些资源?本章内容我们来看一看一个典型的uvm验证平台应该是什么样子的,来看一个典型的
发表于 02-14 06:46
谈谈UVM中的uvm_info打印
_action‘(UVM_NO_ACTION))。只有上述两者都满足的情况下,才会返回1,也就是允许打印message。 uvm_report_info(ID, MSG, VERBOSITY,
发表于 03-17 16:41
UVM中seq.start()和default_sequence执行顺序
:seq2会先启动。也就是说进入run_phase之后,会先执行seq2的body()内容,等退出seq2之后,再执行seq1的body()内容,串行执行的。 2. 原理 可以打开UVM-1.1d源码
发表于 04-04 17:15
我的第一个UVM代码——Hello world
`uvm_component_utils有关
仿真命令:
irun -sv -uvmhome \\\\
/.../ies/tools/methodology/UVM/CDNS-1.2/sv \\\\
hello_world.sv
发表于 11-03 10:18
UVM1.1的应用指南及源代码分析资料概述
本章第一节将大体介绍一下感性意义上的UVM,这里不会讲的很详细,因为关于UVM的历史在网上已经有太多的资料第二节讲述验证平台的组成,这里也只是介绍一个轮廓。第三节开始则会教我们一步一步搭建一个UVM
发表于 07-01 08:00
•69次下载
UVM中uvm_config_db机制背后的大功臣
本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。
UVM中uvm_config_db机制背后的大功臣
本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。
一文详解UVM设计模式
本篇是对UVM设计模式 ( 二 ) 参数化类、静态变量/方法/类、单例模式、UVM_ROOT、工厂模式、UVM_FACTORY[1]中单例模式的补充,分析静态类的使用,UVM中资源池的
uvm1.1升级为uvm1.2 uvm_report_server报错是何原因?
ISP算法仿真中,小编会用reference model调用DPI接口用C++ 算法实现pixel算法处理,然后和DUT算法处理输出的pixel值进行比较,比较时候发现报错,报错代码如下,原因是小编把uvm1.1升级为uvm1.2了。
评论