Access Design Source Code:

1)通过file---open来打开,

2)通过send to source viewer来看,

双击信号,进行driver的trace,显示在左侧的driver/load tab或者直接转到下一个scope的source code file

查找:

1)右侧tool bar

2)edit-----search,

signal的选择,

1)单击或者框选,

2)select---scope/port/signal

信号右键的功能:

1) Follow signal,相当于verdi中的connection功能。

2) Trace Driving logic/Trace loading logic

3) send to waveform/watch/Schematic/Design/Design file window

4) Create Probe,

5) Show Value

6) Set Force/Release Force/Deposit Value

在进行trace的时候,如果对象是Verilog的register或者VHDL的 variable,直接进入相应的source code

如果对象是Verilog的net或者VHDL signal,进入左侧的sidebar

在source code中可以直接进行edit,然后revoke来直接进行编译仿真。

Access Design Objects

使用design browser tab,通过filter进行scope的选择。

使用design search  tab,主要来选择signal(input,output,inside)/transaction/assertion等

Creating and Managing Probes

通过probe signal,可以在仿真过程中保存signal的值,之后可以直接查看probe的signal的值。

当用户向Waveform window添加signals和scopes时,Simvision自动添加probe。

在创建probe的过程中,需要勾选include task/function,include sub-scope,disable/enable add to waveform

可以在simvision---show---probes中查看已经打开的probe,也可以进行删除操作。

probe不能对在仿真中new的变量添加,不知道probe和watch window的应用区别

Setting and managing Breakpoints

simvision中支持的breakpoint的添加方式,

1) time breakpoint,  stop at specify time or time interval(delta cycle)

2) signal breakpoint,  stop based on a design object

3) line breakpoint, stop at specified line

4) Condition breakpoint,

通过simulation----Set BreakPoint---time来设置,

使用breakpoint的前提是,在编译时,必须添加-linedebug

Changing and Monitoring the value of an Object during Simulation

在verilog中只有force和deposit两种方式。前提是在elaborate时,必须有-access +w的选项。

不能force的design object:

1) Verilog memory or memory element

2) bit-select或者part-select verilog register/wire

可以通过Simulation----Show-----Forces来显示当前已有的force

不能deposit的object:(memory可以)

1) analog signal

Controlling the Simulation

可以通过simulation bar来进行simulation的控制,

reset simulation:simulation time到0,设置的breakpoint和probe保留,但是force和deposit的动作都被移除。

reinvoking simulation:改变source code之后,通过reinvoke来启动simulator。

Saving and Restarting a simulation checkpoint

simulation的checkpoint可以保存design在某个simulation time的所有状态,包括:已经打开的database,设置的breakpoint

之前某个时间点的force和deposit的信号。

checkpoint的保存对large simulation的debug十分有用。

保存一个simulation check point

选择simulation---save checkpoint,点击Run Clean,为了将当前时间点的sequential code执行完毕。

从check point重新开始:

选择simulation---Restart from checkpoint,

Debugging at the Delta Cycle Level

实际仿真时,并不能做到完全并行,simulator通过将每个时间点分为delta cycle并且先后调用进程来进行模拟。

在波形中,只能反映的是每个time point的最终的信号值。

delta cycle的执行过程:红色表示会发生迭代,蓝色表示最终的跳转。

Simulation Cycle Debugger的打开:

Windows---Tools---Simulation Cycle Debug

打开之后,有一个state diagram表示当前执行的point

另一个window,表示即将执行的point

直接点击某个statement就可以打开Source Browser window

Cycle Debugging的选项,

Debugging API Applications

DPI/PLI这类的API可以在simulator中,调用C/C++/SystemC这样的task。

SimVision提供GDB的环境,来直接debug API application, (环境中的gcc必须与IUS中的一致)

当调用API application时,compiling和elaborate HDL design需要加额外的option,

Eg:API调用DPI task,必须在elaborator中加入 -dpiheader,并指定一个.h文件来declares DPI task。

在simulation---systemc/c++/c debug选项,在console中加入gdb tab,并且Source Browser中加入GDB 控制。

simulator和GDB之间的交叉控制,主要通过breakpoint来设置,

Tracing Paths with the Trace Signals Sidebar

trace signals sidebar可以使能driving/loading logic,并自动的tarce所有的X value的path。

使用simvision进行driver trace操作时,simvision可以显示出force的操作,并给一个较高的grade。

为了在waveform中加入更多的内容,可以

1) probe signal,来加入更新element到波形中。

2) 在进行仿真时,加入-event option,提供更加精确的sequence time。

simvision使用的更多相关文章

  1. Verification of WISHBONE I2C Master Core(IRUN+Simvision)

    一.前言 很久没写技术博客了,有些懈怠,生活还得继续折腾.转眼工作一年多,时间越长越发觉得自己知之甚少,当然这跟IC行业技术密集有关.用空余时间在opencores网站上下载些小的IP看看 验证下,让 ...

  2. IUS database

    仿真中的database主要存放关于signal transition以及时间点的信息. IUS中的的database包括: 1) SHM, Verilog/VHDL/mixed-language的d ...

  3. simvision1 database和invoke

    VCD是一种ASCII码的文件,可以直接用gvim来打开.有两种格式:1)Four-state,  2) Extended, 相比较而言,Extended VCD会多一些strength的信息. VC ...

  4. IUS tcl cmd

    Incisive simulator中的command-line language基于TCL. Ncsim> command [-modifier] [-options] [arguments] ...

  5. ncsim仿真VHDL

    ncsim仿真VHDL 1.文件列表 ctrl.vhd design_io.vhd tb.vhd compile.nc simulate.nc ./shm/shmtb.tcl 2. Compile你的 ...

  6. How to view assertions in the Verdi waveform viewer

    In the Cadence Simvision waveform viewer, I can see every assertions listed as a hierarchical signal ...

  7. 各种波形文件VCD,VPD,SHM,FSDB生成的方法

    转载---http://www.cnblogs.com/zeushuang/archive/2012/11/14/2769640.html 仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文 ...

  8. cadence upf低功耗流程的仿真验证

    本文是记录项目过程中遇到的奇巧淫技,如有遗漏或者不足,请大家改正和补充,谢谢. 随着深亚微米技术的普及与发展,leakage功耗在整个功耗中的比重越来越大,比如45nm下,已经占到了60%以上,所以低 ...

  9. 各种波形文件vcd,vpd,shm,fsdb生成的方法(zz)

    仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究.说一下几种波形文件WLF(Wave Log File).VCD(Value Change Dump)文件,fsdb ...

随机推荐

  1. uri不能处理结尾为点的url的问题

    最近需要和某公司进行接口对接,发现用WebClient获取URL结尾带.的资源,会出404错误.但是用IE还有其它浏览器访问此资源,还能找到它.很神奇. 于是,我百度了,找到的一堆都是说此url不规范 ...

  2. tomcat下jsp要加工程名后缀才能访问的问题解决

    今天发现一个部署的项目,在tomcat中配置了去掉工程名,直接通过域名访问.配置后其它的html.动态请求等都可以不带工程名访问,但是只要访问jsp页面就报404错误,加上工程名访问jsp却又正常. ...

  3. 一、jquery简介

    认识jquery jquery是有美国人John Resig于2006年创建的一个开元项目,随着被人们的熟知,越来越多的程序高手加入其中,完善和壮大其项目内容:如今已开展成为集javascript.c ...

  4. JavaScript之闭包就是个子公司

    在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数.这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外.所以,有 ...

  5. Mac 系统环境变量配置

    Mac 系统环境变量配置 例如这里要配置一下 QUICK_V3_ROOT 的环境变量 1.打开终端 输入  vim ~/.bash_profile 2.一直回车 知道出现以下选项 按 E 编辑     ...

  6. WPF整理-为控件添加自定义附加属性

    附加属性 附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性.举个最常见的例子 <Canvas> ...

  7. 【最简单IOC容器实现】实现一个最简单的IOC容器

    前面DebugLZQ的两篇博文: 浅谈IOC--说清楚IOC是什么 IoC Container Benchmark - Performance comparison 在浅谈IOC--说清楚IOC是什么 ...

  8. Javascript实现页面跳转的几种方式

    概述 相信很多Web开发者都知道,在开发Web程序的时候,对于页面之间的跳转,有很多种,但是有效的跳转则事半功倍,下面就是我在平时的开发过程中所用到的一些JavaScript跳转方式,拿出和大家共享一 ...

  9. CDN服务技术架构图

    前言 在博文中 解读大型网站的演变过程  浅谈 举家搬迁静态文件到CDN 博文中都有涉及CDN,这次我们来详细讲解下CDN的架构 简介 CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器 ...

  10. SQL学习整理_1

    数据库是保存表和其他相关SQL结构的容器. 列是存储在表中的一块同类型数据. 行是一组能够描述某个事物的列的集合. SQL不区分大小写,但建议命令采用大写,表名采用小写,便于读写. 建立数据库 CRE ...