simvision使用
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使用的更多相关文章
- Verification of WISHBONE I2C Master Core(IRUN+Simvision)
一.前言 很久没写技术博客了,有些懈怠,生活还得继续折腾.转眼工作一年多,时间越长越发觉得自己知之甚少,当然这跟IC行业技术密集有关.用空余时间在opencores网站上下载些小的IP看看 验证下,让 ...
- IUS database
仿真中的database主要存放关于signal transition以及时间点的信息. IUS中的的database包括: 1) SHM, Verilog/VHDL/mixed-language的d ...
- simvision1 database和invoke
VCD是一种ASCII码的文件,可以直接用gvim来打开.有两种格式:1)Four-state, 2) Extended, 相比较而言,Extended VCD会多一些strength的信息. VC ...
- IUS tcl cmd
Incisive simulator中的command-line language基于TCL. Ncsim> command [-modifier] [-options] [arguments] ...
- ncsim仿真VHDL
ncsim仿真VHDL 1.文件列表 ctrl.vhd design_io.vhd tb.vhd compile.nc simulate.nc ./shm/shmtb.tcl 2. Compile你的 ...
- 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 ...
- 各种波形文件VCD,VPD,SHM,FSDB生成的方法
转载---http://www.cnblogs.com/zeushuang/archive/2012/11/14/2769640.html 仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文 ...
- cadence upf低功耗流程的仿真验证
本文是记录项目过程中遇到的奇巧淫技,如有遗漏或者不足,请大家改正和补充,谢谢. 随着深亚微米技术的普及与发展,leakage功耗在整个功耗中的比重越来越大,比如45nm下,已经占到了60%以上,所以低 ...
- 各种波形文件vcd,vpd,shm,fsdb生成的方法(zz)
仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究.说一下几种波形文件WLF(Wave Log File).VCD(Value Change Dump)文件,fsdb ...
随机推荐
- linux 内核cache
写驱动总会碰到和cache相关的东西 记录下用到的接口: 驱动中用的内存地址一般为内核地址,用户调用驱动接口时,有时候会把自己申请的地址赋给驱动,此时用户kmalloc得到内核地址, 再用mmap获得 ...
- Android:Activity生命周期
Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack). 栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新 ...
- log4j详解(一)
>>>>1. 概述<<<< 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统 ...
- STL学习之vector
vector是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像指针一样被操作,由于它的特性我们完全可以将vector看做动态数组. 特点: 1.指定一块如同数组一样的连续存 ...
- 使用WWW获取本地文件夹的XML配置文件
Unity3D读取本地文件可以使用Resources.Load来读取放在Resources文件夹下的文件,如果不是放在该文件夹下,则可以通过WWW类来读取. 譬如读取xml的配置文件. /// < ...
- php 跨服务器ftp移动文件
$ftp_server = "120.25.1.1";$ftp_user_name = "p1111";$ftp_user_pass = "psa12 ...
- fnc.tld学习编写
使用 el 的过程中,需要使用到后端代码处理逻辑,这个时候我们就需要自定义 方法. 如我们后端代码定义如下: package com.rhythmk.common; public class FncH ...
- 面试习题之设计模式 C#观察者模式(猫叫老鼠惊走主人醒)
腾讯云测试|TEST Tencent Cloud /* * CatShout.cs */ using System; using System.IO; using System.Collections ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- Ubuntu使用阿里云软件源
如果在安装Ubuntu时,选择的地区为美国,建议更新为阿里云或国内 软件源 sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt ...