0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

vcs和xrun搭配uvm1.1/uvm1.2版本库的使用情况

sanyue7758 来源:芯片验证日记 2023-10-27 09:41 次阅读

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
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    18965
  • VCS
    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

    UVM交互式调试介绍

    什么是UVM交互式调试
    发表于 12-17 07:34

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载中...

    一套完美的文件,验证工程师只需要对这些文件进行扩展即可建立自己的验证平台。源码包含了丰富的内容,可以满足验证工程师绝大部分的需求,激励可以在有约束的情况下随机产生。那么,相对于定
    发表于 01-21 16:00

    什么是uvmuvm的特点有哪些呢

    大家好,我是一哥,上章内容我们介绍什么是uvmuvm的特点以及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次下载
    <b class='flag-5'>UVM1.1</b>的应用指南及源代码分析资料概述

    UVM学习笔记(一)

    driver应该派生自uvm_driver,而uvm_driver派生自uvm_component。
    的头像 发表于 05-26 14:38 883次阅读
    <b class='flag-5'>UVM</b>学习笔记(一)

    UVM中的uvm_do宏简析

    uvm_do宏及其变体提供了创建、随机化和发送transaction items或者sequence的方法。
    的头像 发表于 06-09 09:36 2903次阅读
    <b class='flag-5'>UVM</b>中的<b class='flag-5'>uvm</b>_do宏简析

    UVMuvm_config_db机制背后的大功臣

    本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。
    的头像 发表于 06-20 17:28 797次阅读

    UVMuvm_config_db机制背后的大功臣

    本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。
    的头像 发表于 06-29 16:57 615次阅读

    一文详解UVM设计模式

    本篇是对UVM设计模式 ( 二 ) 参数化类、静态变量/方法/类、单例模式、UVM_ROOT、工厂模式、UVM_FACTORY[1]中单例模式的补充,分析静态类的使用,UVM中资源池的
    的头像 发表于 08-06 10:38 901次阅读
    一文详解<b class='flag-5'>UVM</b>设计模式

    uvm1.1升级为uvm1.2 uvm_report_server报错是何原因?

    ISP算法仿真中,小编会用reference model调用DPI接口用C++ 算法实现pixel算法处理,然后和DUT算法处理输出的pixel值进行比较,比较时候发现报错,报错代码如下,原因是小编把uvm1.1升级为uvm1.2了。
    的头像 发表于 03-04 14:18 234次阅读
    <b class='flag-5'>uvm1.1</b>升级为<b class='flag-5'>uvm1.2</b> <b class='flag-5'>uvm</b>_report_server报错是何原因?