仿真是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語(yǔ)言標(biāo)準(zhǔn))中定義的一種ASCI文件。它主要包含了頭信息,變量的預(yù)定義和變量值的變化信息。因?yàn)樗?a target="_blank">信號(hào)的變化信息,就相當(dāng)于記錄了整個(gè)仿真的信息,我們可以用這個(gè)文件來(lái)再現(xiàn)仿真,也就能夠顯示波形用于DEBUG。因?yàn)閂CD是 Verilog HDL語(yǔ)言標(biāo)準(zhǔn)的一部分,因此所有的veriog的仿真器都要能夠?qū)崿F(xiàn)這個(gè)功能,也要允許用戶在verilog代碼中通過(guò)系統(tǒng)函數(shù)來(lái)dump VCD文件。我們可以通過(guò)Verilog HDL的系統(tǒng)函數(shù)dumpfile來(lái) 生成波形,通過(guò)dumpvars的參數(shù)來(lái)規(guī)定我們抽取仿真中某些特定模塊和信號(hào)的數(shù)據(jù)。
特別說(shuō)明的一點(diǎn)是,目前主流功耗分析工具都支持通過(guò)VCD文件來(lái)評(píng)估功耗。Encounter 和 PrimeTime Px (Prime Power)都可以通過(guò)輸入網(wǎng)表文件,帶功耗信息的庫(kù)文件以及仿真后產(chǎn)生的VCD文件來(lái)實(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等等可以通過(guò)加載Verdi 的PLI 來(lái)dump fsdb文件。fsdb文件是verdi使用一種專用的數(shù)據(jù)格式,類似于VCD,但是它是只提取仿真過(guò)程中信號(hào)的有用信息,除去了VCD中信息元余,就像對(duì)VCD數(shù)據(jù)進(jìn)行了一次huttman編碼。因此fsdb數(shù)據(jù)量小,可以極大地提高仿真速度。本質(zhì)上VCD文件使用verilog內(nèi)置的系統(tǒng)函數(shù)來(lái)實(shí)現(xiàn)dump 的,fsdb是通過(guò)verilog的PLI接口來(lái)實(shí)現(xiàn)的。
環(huán)境中可以通過(guò)以下函數(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)換而來(lái)(其實(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來(lái)打開(kāi)波形。
1.通過(guò)函數(shù)實(shí)現(xiàn)dump
2.通過(guò)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打開(kāi)對(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文章
1349瀏覽量
105278 -
VCD
+關(guān)注
關(guān)注
0文章
37瀏覽量
35074 -
eda
+關(guān)注
關(guān)注
71文章
2895瀏覽量
176522 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4371瀏覽量
64241
原文標(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版本庫(kù)的使用情況
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使用及仿真說(shuō)明
請(qǐng)問(wèn)dump.vcd波形為什莫有一部分沒(méi)有生成顯示出來(lái)?
vcs和verdi的調(diào)試及聯(lián)合仿真案例
VCD/FSDB/SHM/VPD波形dump的方法
Verdi環(huán)境配置、生成波形的方法

評(píng)論