0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vcs/Xrun环境中VCD/FSDB/SHM/VPD的Dump方法详解

sanyue7758 来源:处芯积律 2024-03-21 10:13 次阅读

仿真IC设计不可或缺的重要步聚,其中仿真波形是debug的必要条件。今天简要介绍下一下几种波形文件VCD/FSDB /SHM/VPD的dump方法。其中VCD通用性最好,VCS/XRUN环境中直接加函数dump;对于FSDB,本文讲述了VCS/XRUN 2种环境中基于函数和Tcl的2种dump方法;对于SHM, 本文简要介绍了XRUN中基于函数和Tcl的2种dump方法;对于VPD,本文简要介绍了VCS中函数dump方法;

一、VCD (Valve Change Dump)VCD是一个通用的格式。VCD文件是1EEE1364标准(Verilog HDL语言标准)中定义的一种ASCI文件。它主要包含了头信息,变量的预定义和变量值的变化信息。因为它包含了信号的变化信息,就相当于记录了整个仿真的信息,我们可以用这个文件来再现仿真,也就能够显示波形用于DEBUG。因为VCD是 Verilog HDL语言标准的一部分,因此所有的veriog的仿真器都要能够实现这个功能,也要允许用户在verilog代码中通过系統函数来dump VCD文件。我们可以通过Verilog HDL的系统函数dumpfile来 生成波形,通过dumpvars的参数来规定我们抽取仿真中某些特定模块和信号的数据。

d1a93bc8-dd5d-11ee-a297-92fbcf53809c.png

特别说明的一点是,目前主流功耗分析工具都支持通过VCD文件来评估功耗。Encounter 和 PrimeTime Px (Prime Power)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的VCD文件来实现功耗分析。VCD本质是文本文件,文件占用较大内存,极大拖慢仿真速度,但是由于对功耗分析支持比较友好,因此各种EDA仿真均有dump VCD的需求。

二、FSDB (Fast Signal DataBase)FSDB 是Spring Soft (Novas) 公司 Debussy / Verdi 支持的波形文件,一般文件占用内存较小,使用较为广泛,其余仿真工具如ncsim,modlesim等等可以通过加载Verdi 的PLI 来dump fsdb文件。fsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提取仿真过程中信号的有用信息,除去了VCD中信息元余,就像对VCD数据进行了一次huttman编码。因此fsdb数据量小,可以极大地提高仿真速度。本质上VCD文件使用verilog内置的系统函数来实现dump 的,fsdb是通过verilog的PLI接口来实现的。

环境中可以通过以下函数实现FSDB波形的dump。Step1: 设置环境变量:d1b968f4-dd5d-11ee-a297-92fbcf53809c.pngStep2: Bash 中加入以下选项:VCS:

d1c9fc78-dd5d-11ee-a297-92fbcf53809c.png

XRUN:加入编译选项:-loadpli1 debpli:novas_pli_bootbench中添加以下函数:

d1df37a0-dd5d-11ee-a297-92fbcf53809c.png

当然也可以使用Tcl 实现波形的精准dump控制。1Vcs 中tcl 控制方法:仿真bash中加入仿真选项:-ucli -i 。。/sim/dump_fsdb_vcs.tcl其中Tcl demo文件:

d1f50486-dd5d-11ee-a297-92fbcf53809c.png

2Xrun中tcl控制方法:仿真bash中加入tcl载入选项:-input 。。/sim/dump_fsdb_irun.tclTcl demo文件:

d2027972-dd5d-11ee-a297-92fbcf53809c.png

其余波形文件就是各家不同的仿真或调试工具支持的文件类型,互不通用。但基本都可以由VCD文件转换而来(其实就是VCD文件的压缩版,因为只取仿真调试需要的数据,所以文件大小要远小于原始VCD文件)。

三、SHMSHM 是Cadence公司 NC verilog 和Simvision 支持的波形文件,实际上 shm是一个目录,其中包含了 dsn和 tn两个文件。用simvision xxx.shm来打开波形。

1.通过函数实现dump

d217aaf4-dd5d-11ee-a297-92fbcf53809c.png

2.通过tcl的方式实现dump仿真bash中加入tcl载入选项:-input 。。/sim/dump_shm_irun.tclTcl demo文件:

d2219a82-dd5d-11ee-a297-92fbcf53809c.png

四、VPDVPD是Synopsys公司 VCS DVE支持的波形文件,现在逐渐被fsdb取而代之。用dve –vpd test.vpd打开对应波形。生成VPD方法如下:仿真bash中加入编译选项: -debug_pp +vcd+vcdplusonBench中添加dump函数:

d22d4724-dd5d-11ee-a297-92fbcf53809c.png

以上介绍的基本方法,仅供参考,不同版本可能略有不同,具体的设置细节,需要查询对应的help文档。官方help文档提供了更为灵活而有效率的使用方法。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102956
  • VCD
    VCD
    +关注

    关注

    0

    文章

    37

    浏览量

    34423
  • eda
    eda
    +关注

    关注

    71

    文章

    2537

    浏览量

    170863
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309

原文标题:VCD/FSDB/SHM/VPD在Vcs/Xrun 环境中的dump方法

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    vcsxrun搭配uvm1.1/uvm1.2版本库的使用情况

    我们在项目中有时候需要使用不同的UVM版本库进行仿真,有时候还会在不同的仿真器之间进行切换,本文简单总结了一下vcsxrun搭配uvm1.1/uvm1.2版本库的使用情况,希望能帮助到一些朋友。
    的头像 发表于 10-27 09:41 1602次阅读

    VCD内部解剖详述

    VCD(ValueChange Dump)** 是用ASCII记录了被选择信号在仿真过程中的变化情况,同时还记录了一些测试向量生成时的仿真信息
    的头像 发表于 11-07 17:43 792次阅读
    <b class='flag-5'>VCD</b>内部解剖详述

    Debussy学习笔记(一)

    下的share/pli 目录下) 而直接dump fsdb文件。fsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了
    发表于 06-18 15:15

    请教VCS和verdi怎么联合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中进行自动侦错,请问我怎么安装Verdi这个软件以及如何启动license,并且怎么写testbench文件才可以产生FSDB文件。请懂得人给我支支招,我也是刚开始学习这个
    发表于 01-22 14:53

    linux下的EDA——VCS使用

    ("counter.vcd");//待输出的波形文件名,可更改 $dumpvars(0,u0);//u0为testbench实例化的顶层文件名称,注意根据实际情况修改该名
    发表于 07-09 08:10

    VCS破解遇到的问题是什么?有什么解决的方法

    VCS破解过程遇到的问题是什么?有什么解决的方法
    发表于 06-21 08:10

    利用fsdbedit工具修改fsdb波形文件模块的层次路径信息

    的层次路径是不一样的。比如对于模块D:在仿真环境A,所在的层次路径为 tb_top1.xxx.a在仿真环境B,所在的层次路径为 tb_top2.yyy.a此时在A仿真
    发表于 04-02 17:30

    PTPX的常用流程有哪些? 为何从这个入手

    (Value Change Dump)是一个通用的格式。 VCD文件是IEEE1364标准(Verilog HDL语言标准)定义的一种ASCII文件。它主要包含了头信息,变量的预定义和变量值的变化信息。正是
    发表于 06-10 17:40

    基于linux系统的VCS使用及仿真说明

    代码如下:顶层模块代码:波特率产生模块接收模块代码:发送数据模块一、VCS仿真下面开始进行VCS仿真。VCS要使用图形化界面,必须得先编译得到vpd文件,才能用图形化界面看波形。首先是
    发表于 07-18 16:18

    请问dump.vcd波形为什莫有一部分没有生成显示出来?

    我做.sv矩阵乘法的时候,生成dump.vcd观察波形,输入是a,b输出是c,dump部分代码写的都一样,但是不知道为什么vcd波形里只有a和b没有c
    发表于 08-04 16:11

    vcs和verdi的调试及联合仿真案例

    若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdbvcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。
    的头像 发表于 09-22 15:01 7879次阅读

    VCD/FSDB/SHM/VPD波形dump方法

    仿真是IC设计不可或缺的重要步聚,其中仿真波形是debug的必要条件。今天简要介绍下一下几种波形文件VCD/FSDB /SHM/VPDdump
    的头像 发表于 11-11 09:36 1.3w次阅读

    VCS/XRUN如何创建一个非UVM的简单仿真环境

    设计码完代码后,有时候想简单调试一下基本的通路,此时还没有验证资源进来,可以仿照modesim仿真的方法,创建一个.v/.sv的顶层,里面例化DUT,里面加预期激励;
    的头像 发表于 05-12 12:37 2388次阅读
    <b class='flag-5'>VCS</b>/<b class='flag-5'>XRUN</b>如何创建一个非UVM的简单仿真<b class='flag-5'>环境</b>?

    vcs工作环境

    vcs工作环境
    发表于 05-15 09:38 0次下载

    Verdi环境配置、生成波形的方法

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式进行代码的仿真与检查
    的头像 发表于 05-29 09:48 2310次阅读
    Verdi<b class='flag-5'>环境</b>配置、生成波形的<b class='flag-5'>方法</b>