仿真是IC設(shè)計(jì)不可或缺的重要步聚,其中仿真波形是debug的必要條件。今天簡(jiǎn)要介紹下一下幾種波形文件VCD/FSDB /SHM/VPD的dump方法。其中VCD通用性最好,VCS/XRUN環(huán)境中直接加函數(shù)dump;對(duì)于FSDB,本文講述了VCS/XRUN 2種環(huán)境中基于函數(shù)和Tcl的2種dump方法;對(duì)于SHM, 本文簡(jiǎn)要介紹了XRUN中基于函數(shù)和Tcl的2種dump方法;對(duì)于VPD,本文簡(jiǎn)要介紹了VCS中函數(shù)dump方法;
一、VCD (Valve Change Dump)VCD是一個(gè)通用的格式。VCD文件是1EEE1364標(biāo)準(zhǔn)(Verilog HDL語言標(biāo)準(zhǔn))中定義的一種ASCI文件。它主要包含了頭信息,變量的預(yù)定義和變量值的變化信息。因?yàn)樗?a target="_blank">信號(hào)的變化信息,就相當(dāng)于記錄了整個(gè)仿真的信息,我們可以用這個(gè)文件來再現(xiàn)仿真,也就能夠顯示波形用于DEBUG。因?yàn)閂CD是 Verilog HDL語言標(biāo)準(zhǔn)的一部分,因此所有的veriog的仿真器都要能夠?qū)崿F(xiàn)這個(gè)功能,也要允許用戶在verilog代碼中通過系統(tǒng)函數(shù)來dump VCD文件。我們可以通過Verilog HDL的系統(tǒng)函數(shù)dumpfile來 生成波形,通過dumpvars的參數(shù)來規(guī)定我們抽取仿真中某些特定模塊和信號(hào)的數(shù)據(jù)。
特別說明的一點(diǎn)是,目前主流功耗分析工具都支持通過VCD文件來評(píng)估功耗。Encounter 和 PrimeTime Px (Prime Power)都可以通過輸入網(wǎng)表文件,帶功耗信息的庫文件以及仿真后產(chǎn)生的VCD文件來實(shí)現(xiàn)功耗分析。VCD本質(zhì)是文本文件,文件占用較大內(nèi)存,極大拖慢仿真速度,但是由于對(duì)功耗分析支持比較友好,因此各種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,但是它是只提取仿真過程中信號(hào)的有用信息,除去了VCD中信息元余,就像對(duì)VCD數(shù)據(jù)進(jìn)行了一次huttman編碼。因此fsdb數(shù)據(jù)量小,可以極大地提高仿真速度。本質(zhì)上VCD文件使用verilog內(nèi)置的系統(tǒng)函數(shù)來實(shí)現(xiàn)dump 的,fsdb是通過verilog的PLI接口來實(shí)現(xiàn)的。
環(huán)境中可以通過以下函數(shù)實(shí)現(xiàn)FSDB波形的dump。Step1: 設(shè)置環(huán)境變量:Step2: Bash 中加入以下選項(xiàng):VCS:
XRUN:加入編譯選項(xiàng):-loadpli1 debpli:novas_pli_bootbench中添加以下函數(shù):
當(dāng)然也可以使用Tcl 實(shí)現(xiàn)波形的精準(zhǔn)dump控制。1Vcs 中tcl 控制方法:仿真bash中加入仿真選項(xiàng):-ucli -i 。。/sim/dump_fsdb_vcs.tcl其中Tcl demo文件:
2Xrun中tcl控制方法:仿真bash中加入tcl載入選項(xiàng):-input 。。/sim/dump_fsdb_irun.tclTcl demo文件:
其余波形文件就是各家不同的仿真或調(diào)試工具支持的文件類型,互不通用。但基本都可以由VCD文件轉(zhuǎn)換而來(其實(shí)就是VCD文件的壓縮版,因?yàn)橹蝗》抡嬲{(diào)試需要的數(shù)據(jù),所以文件大小要遠(yuǎn)小于原始VCD文件)。
三、SHMSHM 是Cadence公司 NC verilog 和Simvision 支持的波形文件,實(shí)際上 shm是一個(gè)目錄,其中包含了 dsn和 tn兩個(gè)文件。用simvision xxx.shm來打開波形。
1.通過函數(shù)實(shí)現(xiàn)dump
2.通過tcl的方式實(shí)現(xiàn)dump仿真bash中加入tcl載入選項(xiàng):-input 。。/sim/dump_shm_irun.tclTcl demo文件:
四、VPDVPD是Synopsys公司 VCS DVE支持的波形文件,現(xiàn)在逐漸被fsdb取而代之。用dve –vpd test.vpd打開對(duì)應(yīng)波形。生成VPD方法如下:仿真bash中加入編譯選項(xiàng): -debug_pp +vcd+vcdplusonBench中添加dump函數(shù):
以上介紹的基本方法,僅供參考,不同版本可能略有不同,具體的設(shè)置細(xì)節(jié),需要查詢對(duì)應(yīng)的help文檔。官方help文檔提供了更為靈活而有效率的使用方法。
審核編輯:黃飛
-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1345瀏覽量
105196 -
VCD
+關(guān)注
關(guān)注
0文章
37瀏覽量
35047 -
eda
+關(guān)注
關(guān)注
71文章
2874瀏覽量
176319 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4367瀏覽量
64105
原文標(biāo)題:VCD/FSDB/SHM/VPD在Vcs/Xrun 環(huán)境中的dump方法
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
vcs和xrun搭配uvm1.1/uvm1.2版本庫的使用情況
VCD內(nèi)部解剖詳述

Makefile for VCS 視頻講解
Debussy學(xué)習(xí)筆記(一)
請(qǐng)教VCS和verdi怎么聯(lián)合使用
linux下的EDA——VCS使用
利用fsdbedit工具修改fsdb波形文件中模塊的層次路徑信息
PTPX的常用流程有哪些? 為何從這個(gè)入手
基于linux系統(tǒng)的VCS使用及仿真說明
請(qǐng)問dump.vcd波形為什莫有一部分沒有生成顯示出來?
vcs和verdi的調(diào)試及聯(lián)合仿真案例
VCD/FSDB/SHM/VPD波形dump的方法
Verdi環(huán)境配置、生成波形的方法

評(píng)論