VCD是一种ASCII码的文件,可以直接用gvim来打开。有两种格式:1)Four-state,  2) Extended,

相比较而言,Extended VCD会多一些strength的信息。

VCD文件的产生,在initial的task中调用$dumpfile(file_name); $dumpvars(level, hierarchy1,hierarchy2);

$dumpoff; $dumpon; $dumpall在VCD文件中创建checkpoint;

$dumplimit(filesize); $dumpflush;

如果需要产生Extended VCD文件,需要在testcase中调用,$dumpports(scope_list, file_pathname)

$dumpportsoff/$dumpportson

VCD文件的格式:

VCD文件中可以调用的task有:

需要产生 fsdb文件的方法,fsdbDumpfile(file_name); fsdbDumpvars(level, hierarchy1, hierarchy2);

fsdbDumpvarsByFile(file_name);

fsdbDumpon; fsdbDumpoff; fsdbSwitchDumpFile; 将Dump切换到另一个FSDB文件。

其中verdi也提供,fsdb2vcd/fsdb2saif的转换脚本。

如果需要在post-process mode下使用simvision,必须有simvision的database,主要是基于SST2 format.

SST2 format database主要由三部分组成:

1) Design file,包含design hierarchy以及connectivity,扩展文件名.dsn

2) Transition file,主要信息是signal values以及他们的change time,扩展文件名.trn

3) Statement Trace file,主要信息是在source code中trace signal transition,扩展文件名.stc

以上三个文件存放在一个扩展名为.shm的文件夹中。

在仿真中,可以以每个component为单位来保存simulation database

SST2 database的create:

1) 当用户设置一个probe或者send design object到Waveform window时,自动创建database,但是其中并不会有

stc文件,也就是不能在source code中进行trace。

2) 使用incisive显式的进行create,注意使能Record all events以及Record statement trace information

simvision也可以将IUS的database转为自己的SST2 format,支持的格式有:

1) VCD   2) HISPICE  3) Qsim  4) Epic

也可以使用simvision提供的脚本,simvisdbutil来进行转换。

simvisdbutil  waves.shm -output waves.vcd/waves.trn 将shm的database转为SST2或者VCD

simvision可以export的database有SST2/VCD/CSV

使用simvision调用VCD的database时,有一个选项是translate sequence time information,使能可以进行delta cycle的

debug,否则只能看到simulation time

编译uvm的case时,不能设置uvmnoautocompile的option,否则一些uvm的debug viewer会无法使用。

不能设置uvmnocdnsextra的option,否则cadence自己的cdns_uvm_pkg不能被编译,simvision不能debug一些uvm的feature

在irun中加入uvm的dir和sv,那么case中应该避免加入import/include uvm_pkg,否则编译会报错,cdns/uvm_pkg编译出错。

此时也可以通过加上边的两个option来避免这个问题,但是debug feature减少

Simvision的打开有三种方法:

1) invoke the simulator with SimVision,可以实时控制和debug,通过加-gui或者tcl命令中加simvision来打开。

2) 单独invoke simvision,并且connect到running simulation。

3) invoke simvision post-processing mode。不能进行simulation ctrl

需要注意的option,加入-linedebug    否则不能进行breakpoint调试

-access rwc   r表示内部信号对simulator可见,w表示可以通过force/deposit控制simulation

c表示使能connection access

也可以针对某个特定的instance来进行设置,需要一个 -aflie来制定。

直接在ncsim中指定,simvision的参数,-simvisargs ""

也可以在tcl中指定,simvision -input cmd.tcl

关于Simvision和simulator之间的connection的切换,Disconnect----simulation仍然会进行。

Terminate and disconnect---simulation会停掉。

打开的simvision有两个window,Design Browser和Console window(分为两个tab,simvision支持simvision命令,simulator支持tcl命令)

simvision1 database和invoke的更多相关文章

  1. 转 : 如何用sys as sysdba权限连接数据库进行EXP/IMP

    使用sys as sysdba权限进行EXP/IMP与其它用户稍有不同,详细内容如下(摘自metalink) Applies to: Oracle Server - Enterprise Editio ...

  2. Professional C# 6 and .NET Core 1.0 - 37 ADO.NET

    本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 37 ADO.NET -------- ...

  3. Professional C# 6 and .NET Core 1.0 - Chapter 37 ADO.NET

    本文内容为转载,供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 37 ADO.NET 译文:C# 6 与 .NE ...

  4. 使用RMAN DUPLICATE...FROM ACTIVE DATABASE创建物理standby database

    Applies to: Oracle Server - Enterprise Edition - Version 11.1.0.6 to 11.2.0.4 [Release 11.1 to 11.2] ...

  5. 【JDBC 报错】Connections could not be acquired from the underlying database!

    项目启动报错: [2016-07-13 10:04:15,074] ERROR org.apache.ibatis.executor.BaseExecutor Could not get a data ...

  6. Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for …

    编译通过并且运行web成功后,访问的页面不需要连接数据库,不牵扯到反射调用实体类就不会报错, 报错内容如下: [WARNING] org.springframework.web.util.Nested ...

  7. android- FileProvider崩溃 - NPE试图调用一个空字符串XmlResourceParser(FileProvider crash - npe attempting to invoke XmlResourceParser on a null String)

    问题: This is a part of my manifest: <?xml version="1.0" encoding="utf-8"?> ...

  8. android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error(Sqlite code 14): Could not open database,(OS error - 13:Permission denied)

    07-24 15:03:14.490 6291-6291/com.tongyan.nanjing.subway E/SQLiteDatabase: Failed to open database '/ ...

  9. Error querying database. Cause: java.sql.SQLException: ORA-01745: 无效的主机/绑定变量名

    今天调试程序是遇到了,下面的一个问题.我将对应的SQL语句拿到Toad下也能正常的执行,感觉有点莫名其妙,根据异常信息的提示查看对应的映射结果集也没发现错误,然后百度了一下,也有许多朋友也遇到过这样的 ...

随机推荐

  1. 解决使用osgModeling的Loft生成管子时的bug

    最近在使用osgModeling的Loft生成管子的时候, 发现这个类还是有点bug的. 具体的表现就是在某些情况下, 生成管子的某些节点会是扁的, 而且有时管子会莫名的变粗.   在网上各种求助无果 ...

  2. 常用的Meta标签写法和作用

    页面关键词 <meta name="keywords" content="your tags" /> 页面描述 <meta name=&quo ...

  3. .Net 4.5 的async 和await 的简单理解使用

    原文地址:http://www.cnblogs.com/HJL-Blog/p/4432632.html 所谓的异步编程是利用CPU空闲时间和多核的特性,它所返回的Task或Task<TResul ...

  4. synchronized的实现原理和应用

    在多线程并发编程中synchronized是元老级的角色,人多称重量级锁. synchronized实现同步的基础:Java中的每一个对象都可以作为锁.具体表现有如下3种: 1.对于普通同步方法,锁时 ...

  5. 20145205 《Java程序设计》第9周学习总结

    教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特 ...

  6. 原来 laravel 路由 参数可以为可选。。。 很灵活

    基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 复制代码代码如下: Rout ...

  7. CodeIgniter(CI)框架中的验证码

    在CodeIgniter框架中,CI本身自带了验证码,但是查看文档的时候,发现: 需要新建一个表,用来存储验证码信息.因为习惯了session存储验证码信息,所以我把我认为比较好看的验证码应用在了CI ...

  8. Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int

    今天下午写代码时发现一直报错,找了半天都没找到错误原因. 最后才发现原来是XML配置错误,某条属性的JdbcType我按照以前ibatis的习惯写的int,但是Mybatis不识别的. 上Mybati ...

  9. sql注入漏洞

    在这么多bug里给我印象最深的就是sql注入漏洞,看上去没有问题的代码却会因为用户的不正常输入而带来极其严重的问题. 现在给大家分享一下如何修复SQL注入漏洞.下面是网上的两种解决方法,其中第二方法有 ...

  10. 【入门】 jpa--实体管理器的基本应用

    1.新建Jpa项目 2.引入所需的jar 包 3.创建实体类 package com.watchfree.entity; import javax.persistence.Entity; import ...