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

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

3天内不再提示

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

sanyue7758 来源:芯片设计验证 作者:芯片设计验证 2022-11-11 09:36 次阅读

仿真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的参数来规定我们抽取仿真中某些特定模块和信号的数据。

d5ce264c-6107-11ed-8abf-dac502259ad0.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: 设置环境变量:

d5f4f5d8-6107-11ed-8abf-dac502259ad0.png Step2: Bash 中加入以下选项:

VCS:

d61681da-6107-11ed-8abf-dac502259ad0.png

XRUN:

加入编译选项:-loadpli1 debpli:novas_pli_boot

Step3: bench中添加以下函数:

d6354052-6107-11ed-8abf-dac502259ad0.png

当然也可以使用Tcl 实现波形的精准dump控制。

1. VCS 中tcl 控制方法:

仿真bash中加入仿真选项:-ucli -i ../sim/dump_fsdb_vcs.tcl

其中Tcl demo文件:

d658b7b2-6107-11ed-8abf-dac502259ad0.png

2. Xrun中tcl控制方法:

仿真bash中加入tcl载入选项:-input ../sim/dump_fsdb_irun.tcl

Tcl demo文件:

d6830bd4-6107-11ed-8abf-dac502259ad0.png

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

三、SHM

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

1.通过函数实现dump

d6b038c0-6107-11ed-8abf-dac502259ad0.png

2.通过tcl的方式实现dump

仿真bash中加入tcl载入选项:-input ../sim/dump_shm_irun.tcl

Tcl demo文件:

d6d905a2-6107-11ed-8abf-dac502259ad0.png

四、VPD

VPD是Synopsys公司 VCSDVE支持的波形文件,现在逐渐被fsdb取而代之。用dve –vpd test.vpd打开对应波形。

生成VPD方法如下:

仿真bash中加入编译选项: -debug_pp +vcd+vcdpluson

Bench中添加dump函数:

d6f4ecc2-6107-11ed-8abf-dac502259ad0.png

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

审核编辑:汤梓红

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

    关注

    37

    文章

    1264

    浏览量

    102955
  • VCD
    VCD
    +关注

    关注

    0

    文章

    37

    浏览量

    34423
  • dump
    +关注

    关注

    0

    文章

    11

    浏览量

    9456

原文标题:VCD/FSDB/SHM/VPD 波形dump的方法

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

收藏 人收藏

    评论

    相关推荐

    VCD内部解剖详述

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

    使用Modelsim如何产生debussy用的fsdb

    使用Modelsim如何产生debussy用的fsdb档使用Modelsim如何產生debussy用的fsdb檔如題, 盼先進告知!! 謝謝lunkun 2006-8-25 09:42 AM要先装了
    发表于 08-11 16:04

    Debussy学习笔记(一)

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

    fsdb可以直接转pwl吗?

    为何不直接用fsdb转pwl呢?
    发表于 12-16 06:54

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

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

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

    能够实现这个功能,也要允许用户在verilog代码中通过系统函数来dump VCD文件。我们可以通过Verilog HDL的系统函数$dumpfile 来生成波形,通过$dumpvars的参数来规定我们抽取
    发表于 06-10 17:40

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

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

    sdk中编写的c程序是如何变成dump文件的?

    各位前辈,sdk中编写的c程序是如何变成dump文件的,他的转换过程大概是什么,还有就是转化后的dump文件中的main部分为啥在波形中并没有执行
    发表于 08-11 07:21

    VCD/DVD基础知识教程

    VCD/DVD基础知识教程 录象带转VCDVCD质量判断 录象带转制VCD:录象带转制VCD就是把录象带录下来的信息(
    发表于 03-23 17:02 953次阅读

    如何利用verilog验证二分法查找的设计代码

    下面是产生输出文件的过程,这里我们设置输出结果的格式是fsdb,当然我们也可以设置成vcd的格式。fsdb的文件size比较小,而且利用verdi的波形工具nWave看起来也比较方便。
    的头像 发表于 11-26 14:39 5433次阅读

    仿真工具重振大型SoC中的功耗分析

      电源设计的下一阶段是找出这些峰值在芯片设计中出现的位置以及导致它们的原因。输入动态读取波形API,它将当前基于 SAIF/FSDB/VCD 文件的方法替换为从仿真器到功率估计工具的
    的头像 发表于 06-19 11:52 913次阅读

    PTPX功耗分析之Peak Power Analysis

    在time-based power analysis模式下,需要提供VCDFSDB文件,工具会分析峰值功耗,并生成功耗波形等,SAIF格式对此不支持。
    的头像 发表于 10-24 16:49 4307次阅读

    浅析后仿波形处理

    我们知道,Verdi横空出世,大大加速了数字设计验证的debug的效率,verdi波形格式是fsdb,压缩率高,逐步取代了VCD波形,但是有些芯片设计环节仍然需要
    的头像 发表于 08-12 10:02 1165次阅读
    浅析后仿<b class='flag-5'>波形</b>处理

    jvm的dump太大了怎么分析

    文件需要耗费大量的时间和计算资源。 然而,这并不意味着我们无法分析和利用JVM dump文件。以下是一些方法和技巧,可帮助我们有效地分析大型JVM dump文件。 使用工具:首先,我们可以使用一些专门用于分析JVM
    的头像 发表于 12-05 11:01 820次阅读

    Vcs/Xrun环境中VCD/FSDB/SHM/VPDDump方法详解

    VCD是一个通用的格式。VCD文件是1EEE1364标准(Verilog HDL语言标准)中定义的一种ASCI文件。
    的头像 发表于 03-21 10:13 776次阅读
    Vcs/Xrun环境中<b class='flag-5'>VCD</b>/<b class='flag-5'>FSDB</b>/<b class='flag-5'>SHM</b>/<b class='flag-5'>VPD</b>的<b class='flag-5'>Dump</b><b class='flag-5'>方法</b>详解