我是靠谱客的博主 寂寞树叶,最近开发中收集的这篇文章主要介绍simvision1 database和invoke,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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命令)

 

转载于:https://www.cnblogs.com/-9-8/p/6202723.html

最后

以上就是寂寞树叶为你收集整理的simvision1 database和invoke的全部内容,希望文章能够帮你解决simvision1 database和invoke所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部