0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

sanyue7758 ? 來源:芯片設(shè)計驗證 ? 作者:芯片設(shè)計驗證 ? 2022-11-11 09:36 ? 次閱讀

仿真IC設(shè)計不可或缺的重要步聚,其中仿真波形是debug的必要條件。今天簡要介紹下一下幾種波形文件VCD/FSDB /SHM/VPD的dump方法。

其中VCD通用性最好,VCS/XRUN環(huán)境中直接加函數(shù)dump;

對于FSDB,本文講述了VCS/XRUN 2種環(huán)境中基于函數(shù)和Tcl的2種dump方法;

對于SHM, 本文簡要介紹了XRUN中基于函數(shù)和Tcl的2種dump方法;

對于VPD,本文簡要介紹了VCS中函數(shù)dump方法;

一、VCD (Valve Change Dump)

VCD是一個通用的格式。VCD文件是1EEE1364標(biāo)準(zhǔn)(Verilog HDL語言標(biāo)準(zhǔn))中定義的一種ASCI文件。它主要包含了頭信息,變量的預(yù)定義和變量值的變化信息。因為它包含了信號的變化信息,就相當(dāng)于記錄了整個仿真的信息,我們可以用這個文件來再現(xiàn)仿真,也就能夠顯示波形用于DEBUG。因為VCD是 Verilog HDL語言標(biāo)準(zhǔn)的一部分,因此所有的veriog的仿真器都要能夠?qū)崿F(xiàn)這個功能,也要允許用戶在verilog代碼中通過系統(tǒng)函數(shù)來dump VCD文件。我們可以通過Verilog HDL的系統(tǒng)函數(shù)dumpfile來 生成波形,通過dumpvars的參數(shù)來規(guī)定我們抽取仿真中某些特定模塊和信號的數(shù)據(jù)。

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

特別說明的一點是,目前主流功耗分析工具都支持通過VCD文件來評估功耗。Encounter 和 PrimeTime Px (Prime Power)都可以通過輸入網(wǎng)表文件,帶功耗信息的庫文件以及仿真后產(chǎn)生的VCD文件來實現(xiàn)功耗分析。VCD本質(zhì)是文本文件,文件占用較大內(nèi)存,極大拖慢仿真速度,但是由于對功耗分析支持比較友好,因此各種EDA仿真均有dump VCD的需求。

二、FSDB (Fast Signal DataBase)

FSDB 是Spring Soft (Novas) 公司 Debussy / Verdi 支持的波形文件,一般文件占用內(nèi)存較小,使用較為廣泛,其余仿真工具如ncsim,modlesim等等可以通過加載Verdi 的PLI 來dump fsdb文件。fsdb文件是verdi使用一種專用的數(shù)據(jù)格式,類似于VCD,但是它是只提取仿真過程中信號的有用信息,除去了VCD中信息元余,就像對VCD數(shù)據(jù)進(jìn)行了一次huttman編碼。因此fsdb數(shù)據(jù)量小,可以極大地提高仿真速度。本質(zhì)上VCD文件使用verilog內(nèi)置的系統(tǒng)函數(shù)來實現(xiàn)dump 的,fsdb是通過verilog的PLI接口來實現(xiàn)的。

環(huán)境中可以通過以下函數(shù)實現(xiàn)FSDB波形的dump。

Step1: 設(shè)置環(huán)境變量:

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

VCS:

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

XRUN:

加入編譯選項:-loadpli1 debpli:novas_pli_boot

Step3: bench中添加以下函數(shù):

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

當(dāng)然也可以使用Tcl 實現(xiàn)波形的精準(zhǔn)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

其余波形文件就是各家不同的仿真或調(diào)試工具支持的文件類型,互不通用。但基本都可以由VCD文件轉(zhuǎn)換而來(其實就是VCD文件的壓縮版,因為只取仿真調(diào)試需要的數(shù)據(jù),所以文件大小要遠(yuǎn)小于原始VCD文件)。

三、SHM

SHM 是Cadence公司 NC verilog 和Simvision 支持的波形文件,實際上 shm是一個目錄,其中包含了 dsn和 tn兩個文件。用simvision xxx.shm來打開波形。

1.通過函數(shù)實現(xiàn)dump

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

2.通過tcl的方式實現(xiàn)dump

仿真bash中加入tcl載入選項:-input ../sim/dump_shm_irun.tcl

Tcl demo文件:

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

四、VPD

VPD是Synopsys公司 VCSDVE支持的波形文件,現(xiàn)在逐漸被fsdb取而代之。用dve –vpd test.vpd打開對應(yīng)波形。

生成VPD方法如下:

仿真bash中加入編譯選項: -debug_pp +vcd+vcdpluson

Bench中添加dump函數(shù):

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

以上介紹的基本方法,僅供參考,不同版本可能略有不同,具體的設(shè)置細(xì)節(jié),需要查詢對應(yīng)的help文檔。官方help文檔提供了更為靈活而有效率的使用方法。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IC設(shè)計
    +關(guān)注

    關(guān)注

    37

    文章

    1290

    瀏覽量

    103694
  • VCD
    VCD
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    34671
  • dump
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    9498

原文標(biāo)題:VCD/FSDB/SHM/VPD 波形dump的方法

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    VCD內(nèi)部解剖詳述

    VCD(ValueChange Dump)** 是用ASCII記錄了被選擇信號在仿真過程中的變化情況,同時還記錄了一些測試向量生成時的仿真信息
    的頭像 發(fā)表于 11-07 17:43 ?1313次閱讀
    <b class='flag-5'>VCD</b>內(nèi)部解剖詳述

    使用Modelsim如何產(chǎn)生debussy用的fsdb

    使用Modelsim如何產(chǎn)生debussy用的fsdb檔使用Modelsim如何產(chǎn)生debussy用的fsdb檔如題, 盼先進(jìn)告知!! 謝謝lunkun 2006-8-25 09:42 AM要先裝了
    發(fā)表于 08-11 16:04

    Debussy學(xué)習(xí)筆記(一)

    下的share/pli 目錄下) 而直接dump fsdb文件。fsdb文件是verdi使用一種專用的數(shù)據(jù)格式,類似于VCD,但是它是只提出了仿真過程中信號的有用信息,除去了
    發(fā)表于 06-18 15:15

    fsdb可以直接轉(zhuǎn)pwl嗎?

    為何不直接用fsdb轉(zhuǎn)pwl呢?
    發(fā)表于 12-16 06:54

    利用fsdbedit工具修改fsdb波形文件中模塊的層次路徑信息

    的層次路徑是不一樣的。比如對于模塊D:在仿真環(huán)境A中,所在的層次路徑為 tb_top1.xxx.a在仿真環(huán)境B中,所在的層次路徑為 tb_top2.yyy.a此時在A仿真環(huán)境中生成的fsdb波形,如果我
    發(fā)表于 04-02 17:30

    PTPX的常用流程有哪些? 為何從這個入手

    能夠?qū)崿F(xiàn)這個功能,也要允許用戶在verilog代碼中通過系統(tǒng)函數(shù)來dump VCD文件。我們可以通過Verilog HDL的系統(tǒng)函數(shù)$dumpfile 來生成波形,通過$dumpvars的參數(shù)來規(guī)定我們抽取
    發(fā)表于 06-10 17:40

    請問dump.vcd波形為什莫有一部分沒有生成顯示出來?

    我做.sv矩陣乘法的時候,生成dump.vcd觀察波形,輸入是a,b輸出是c,dump部分代碼寫的都一樣,但是不知道為什么vcd波形里只有a
    發(fā)表于 08-04 16:11

    sdk中編寫的c程序是如何變成dump文件的?

    各位前輩,sdk中編寫的c程序是如何變成dump文件的,他的轉(zhuǎn)換過程大概是什么,還有就是轉(zhuǎn)化后的dump文件中的main部分為啥在波形中并沒有執(zhí)行
    發(fā)表于 08-11 07:21

    VCD/DVD基礎(chǔ)知識教程

    VCD/DVD基礎(chǔ)知識教程 錄象帶轉(zhuǎn)VCDVCD質(zhì)量判斷 錄象帶轉(zhuǎn)制VCD:錄象帶轉(zhuǎn)制VCD就是把錄象帶錄下來的信息(
    發(fā)表于 03-23 17:02 ?1031次閱讀

    如何利用verilog驗證二分法查找的設(shè)計代碼

    下面是產(chǎn)生輸出文件的過程,這里我們設(shè)置輸出結(jié)果的格式是fsdb,當(dāng)然我們也可以設(shè)置成vcd的格式。fsdb的文件size比較小,而且利用verdi的波形工具nWave看起來也比較方便。
    的頭像 發(fā)表于 11-26 14:39 ?5661次閱讀

    PTPX功耗分析之Peak Power Analysis

    在time-based power analysis模式下,需要提供VCDFSDB文件,工具會分析峰值功耗,并生成功耗波形等,SAIF格式對此不支持。
    的頭像 發(fā)表于 10-24 16:49 ?5874次閱讀

    淺析后仿波形處理

    我們知道,Verdi橫空出世,大大加速了數(shù)字設(shè)計驗證的debug的效率,verdi波形格式是fsdb,壓縮率高,逐步取代了VCD波形,但是有些芯片設(shè)計環(huán)節(jié)仍然需要
    的頭像 發(fā)表于 08-12 10:02 ?2033次閱讀
    淺析后仿<b class='flag-5'>波形</b>處理

    jmap dump內(nèi)存的命令是

    jmap dump是Java內(nèi)存映像工具(Java Memory Map Tool)的一個功能,用于生成Java虛擬機(JVM)中的堆內(nèi)存快照。堆內(nèi)存快照是一個包含了Java對象及其所占用內(nèi)存空間
    的頭像 發(fā)表于 12-05 10:38 ?3027次閱讀

    jvm的dump太大了怎么分析

    文件需要耗費大量的時間和計算資源。 然而,這并不意味著我們無法分析和利用JVM dump文件。以下是一些方法和技巧,可幫助我們有效地分析大型JVM dump文件。 使用工具:首先,我們可以使用一些專門用于分析JVM
    的頭像 發(fā)表于 12-05 11:01 ?2377次閱讀

    Vcs/Xrun環(huán)境中VCD/FSDB/SHM/VPDDump方法詳解

    VCD是一個通用的格式。VCD文件是1EEE1364標(biāo)準(zhǔn)(Verilog HDL語言標(biāo)準(zhǔn))中定義的一種ASCI文件。
    的頭像 發(fā)表于 03-21 10:13 ?6570次閱讀
    Vcs/Xrun環(huán)境中<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>詳解