以下内容均转自http://www.lujun.org.cn/?p=3714

IUS和IES

cadence,有两大验证仿真工具。一个是IUS,一个是IES。
IUS是cadence以前的仿真工具,功能略弱。代表工具,ncverilog。
官方介绍如下:

IUS(incisive unified simulator) Cadence IUS allows to perform behavioral simulation on Verilog and VHDL code.

IES是cadence现在的仿真工具,功能强大。代表工具,irun
官方介绍:

IES(incisive Enterprise Simulator) cadence IES is considered to be one of the most considered tool to automates testbench generation, design verification and analysis from the system level to the gate level.

不过,现在cadence又开发出了新的仿真工具,叫Xcelium。代表工具,xrun。(注意原博发表于2018年,目前Xcelium的版本已经有20.x,21.x了)

仿真模式

cadence的仿真工具,分为单步仿真模式,和多步仿真模式
单步仿真模式,是指,只要一个命令,即可实现仿真。而多步仿真模式,是指,需要多个命令的组合,才可以实现仿真。
cadence的很多工具,带有nc作为前缀。nc,指native compile,将不同的HDL code转化成一种中间语言(native language),然后统一仿真,为了实现混合语言仿真。

多步仿真模式

使用ncvlog(ncsc,ncvhdl),ncelab,ncsim命令来实现仿真。
ncvlog,编译源代码
ncelab(ncsc,ncvhdl),对编译的结果,进行elaborate,建立snapshot文件
ncsim,对snapshot文件进行仿真

下图给出了仿真的flow。对于不同的源文件,使用不同的工具进行编译。

  • systemC: 使用ncsc工具编译
  • VHDL: 使用ncvhdl工具编译
  • VERILOG: 使用ncvlog工具编译

编译完成后,使用ncelab工具,对编译结果进行elaborate,得到snapshot文件,最后在使用ncsim工具,对其进行仿真。

多命令模式的例子:

ncvlog  -f  run.f
ncelab  tb  -access wrc
ncsim tb –gui

第一个命令,run.f是整个RTL代码列表, ncvlog执行以后将生成一个名为INCA_libs的目录和一个名为worklib的目录。
第二个命令,-access选项是确定读取文件的权限,其中的tb是tb文件内的顶层模块名字。ncelba要选择tb文件的顶层module,elaborate之后,会生成snapshot。
第三个命令,选择snapshot进行仿真,-gui启动图形化界面。

单步仿真模式

单步仿真模式,包括ncverilog和irun。
早期的IUS,使用ncverilog,进行单步仿真模式,ncverilog,内部会自动调用ncvlog,ncelab,ncsim工具进行仿真。
从IUS8.1开始,ncverilog命令,被替换成irun命令,使用ncverilog,将直接调用irun命令。而irun工具,内部也会自动调用ncvlog,ncelab,ncsim工具进行仿真。
以下是官方文档中说明的:

because irun supports all features of ncverilog, including its command-line options, Cadence is replacing ncverilog with irun. Beginning with the IUS 8.1 release, using the ncverilog command will invoke irun。

irun工具

irun支持各种源程序文件输入,verilog,systemverilog,VHDL,verilog AMS,VHDL AMS,specman e,和其他语言程序编写的文件如C,C++,并且使用合适的编译器对其进行编译。当输入的文件,都编译完毕后,irun自动启动ncelab,去elaborate,产生snapshot,最后启动ncsim仿真器去仿真snapshot。

  • .v文件,使用ncvlog
  • .sv文件,使用ncvlog
  • .vhd文件,使用ncvhdl
  • .e文件,使用sn_compile.sh脚本

irun启动后,会在生成目录,自动创建INCA_libs文件夹。

irun只是个脚本,能根据源程序的类型(如verilog,VHDL等)自动调用相应的编译程序(ncvlog,ncvhdl等),然后依次是elaborate,simulate。
irun的选项很多,下面列举一些常用选项:

选项 说明
-64bit 使用64bit irun模式
-f 指定file list
-vlog_ext 修改verilog文件的默认后缀,如 -vlog_ext .vvv,.vv ,修改verilog的默认后缀为.vvv和.vv
-c 只生成snapshot,不仿真
-access 设置访问权限
-nclibdirpath 指定 INCA_libs 目录
-R 只仿真,需要有提前生成的snapshot
-sv 支持systemverilog语言
-uvm 开启uvm,自动编译uvm库
-uvmhome 指定uvm库位置,CDNS-1.2 默认IES中的uvm-1.2版本
-uvmnoautocompile 不自动编译uvm库
-clean 在run执行之前,删除INCA_libs文件夹
-l 指定输出log文件
-seed 指定随机种子数
-top 指定顶层模块
-hdlvar 指定 hdl.var文件
-cdslib 指定cds.lib文件
-loadpli1 指定读取外部读取的库文件
-prep 打开prep mode,不仿真,生成多步仿真的脚本文件。生成4个文件:ncvlog_ver.args: ncvlog工具的参数文件、ncelab.args ncelab工具的参数文件、ncsim.args: ncsim工具的参数文件、RUN_NC: 仿真的脚本文件,调用ncvlog,ncelab,ncsim。
-checkargs 检查irun的输入参数,是否有误
-helpargs 打印每个输入参数的作用
-helpall 打印帮助信息
+xxx=yyy 向验证环境传递仿真参数xxx,值为yyy

Xcelium

本小节转自CSDN博主「Charlie *」的原创文章https://blog.csdn.net/weixin_40794217/article/details/108135172

Xcelium(xrun)是cadence最新的仿真工具,Incisive(irun)的升级版本。
其常用选项如下:

选项 说明
-64bit 64bit仿真
-sv 识别systemverilog语法
-f <.f .list> 识别文件列表
-access +rwc 在查看波形时,对代码权限设置
-top <> 指定仿真的顶层
-l <.log> 指定仿真log信息目录和名字
-history_file <.history> 指定仿真记录的目录及名字
-q or -Q 不在log中打印仿真总结信息
-noupdate 强制comp和elab必须重新执行
-clean 先清除当前目录下的Xcelium.d再跑仿真
-seed 指定随机数
-licqueue 指定当没有license时,等待
-errormax n n个error后强制结束仿真
-coverage all 生成覆盖率
-covoverwrite 自动覆盖当前覆盖率
-parseinfo include 打印出使用`include包含的文件具体信息
-mcl 轻量级的多core仿真
-notimingcheck 不检查时序
-nospecify specify部分不起作用
-sdf_verbose 展示反标详细信息
-ntc_verbose 负延时信息展示

转 | cadence验证仿真工具IUS,IES,irun和xrun相关推荐

  1. cadence验证仿真工具IUS和IES

    转载:http://www.lujun.org.cn/?p=3714 cadence,有两大验证仿真工具.一个是IUS,一个是IES. IUS是cadence以前的仿真工具,功能略弱.代表工具,ncv ...

  2. Cadence Sigrity仿真工具简介及案例演示

    Power Integrity Cadence 电源完整性(PI)解决方案基于Sigrity专利技术,对PCB电路板和IC封装的交流和直流电源可提供精确的仿真和设计保证.每种分析工具都能与Cadenc ...

  3. [xrun]Cadence Xcelium仿真环境搭建及常用Option总结

    Cadence数字电路验证仿真工具IUS和IES 前言:Cadence,有两大验证仿真工具.一个是IUS,一个是IES.本文着重介绍ISE,其代表性的工具为xrun,是数字电路验证最重要的工具之一. ...

  4. 数字IC学习之工具篇:NCVerilog+SimVision(Cadence)

    目标: 了解ncverilog.irun.xrun之间的关系 了解indago和simvision之间的关系 学习Cadence仿真工具和波形查看工具的基本使用 1. Cadence仿真工具: ① I ...

  5. 处女项目后关于IC验证经验的总结

      http://www.cnblogs.com/jyaray/archive/2011/05/11/2043091.html   完整的.详细的设计规范是验证工作的重要起点. 验证工作根据设计规范( ...

  6. mipi协议_Cadence发布业界首款面向多协议PHY的验证IP产品

    Cadence发布业界首款面向多协议PHY的VIP产品 Cadence全新PHY VIP支持实现PCIe 5.0,USB3/4,DDR5,LPDDR5,HBM及MIPI CSI-2和DSI 2.0等复 ...

  7. 年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚

    众所周知IC行业是个投入非常大的行业,做一颗芯片开模的费用就达到了百万级,在芯片设计的过程中光BUG就可以达到上千个.如果这些BUG没有被发现的话,就可以遭受巨大的损失. 因此验证就是保证芯片功能正确 ...

  8. 一位IC验证工程师工作多年后的感悟

    (本文摘自追梦人_小山的新浪博客) 在学校时就对IC有着浓烈的兴趣,毕业后也如愿做了IC验证工作.经过2年的学习和实践,对验证的理解零零散散也有不少,但总没法形成一个比较完整全面的经验谈.这里把我对验 ...

  9. verilog timescale的两种仿真处理方法

    1) 若所有的设计都使用同一个timescale,则可以不需要在每一个module前都定义timescale, 如使用cadence ius的irun仿真工具,则可加timescale选项,如: -t ...

最新文章

  1. BZOJ——1202: [HNOI2005]狡猾的商人
  2. 深度解析:特斯拉的工厂为什么建造得这么快?
  3. 云计算技术 — 数据中心基础架构变迁史
  4. redis应用之——注册、登录
  5. cpu模拟器c语言实现_你写出来的C语言是这样调用硬件的!
  6. 计算机专业电脑配置,计算机专业的学生在租电脑时如何选择电脑配置?
  7. AE输出GIF动图格式的方法支持 CC 2014到2019
  8. Pycharm制作搞怪弹窗(声音强制最大,屏幕亮度强制最亮,按钮躲避,弹窗炸弹)
  9. [Node.js] rsaaes 加密解密
  10. SFDC 日常经验积累
  11. svm算法 最通俗易懂讲解
  12. crt不能回退_CRT优化与QRS波宽度的研究进展
  13. 设置MATLAB中figure图的背景为白色
  14. h5 app 热更新
  15. 2021年杭州云栖大会,最IoT的有料峰会报名了!
  16. 马云身退,而未必功成!
  17. 轻巧的汉字转拼音库 TinyPinyin 在Android上的使用
  18. 第一篇 Nosql讲解之Redis,Memchche,MongoDb的区别
  19. 交换机路由器的一些基本命令
  20. 微信小程序—swiper轮播图图片不显示的解决方法

热门文章

  1. python爬去网页数据并对比excel中数据是否一致_python入门之对比两份excel表格数据...
  2. C语言程序设计习题集(中国大学MOOC翁凯)02
  3. PFC2D学习笔记——颗粒生成
  4. 【转载】通过 FUNCTION NET_DUE_DATE_GET 得到MIRO付款日期(DUE ON DATE)
  5. p2psearcher绿色版使用方法
  6. 985、211学校分为哪八个档次?
  7. 数据接口【好东西要分享加更新】
  8. 关于类在3D世界或更加宽广维度中的视角1
  9. 3DMax 建模注意点
  10. 成三棋、九子棋、十二子棋