衡阳派盒市场营销有限公司

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

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

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

vcs和verdi的調(diào)試及聯(lián)合仿真案例

西西 ? 來源:博客園 ? 作者:任懷魯 ? 2020-09-22 15:01 ? 次閱讀

環(huán)境配置

首先搭建好vcs和Verdi都能工作的環(huán)境,主要有l(wèi)icense問題,環(huán)境變量的設(shè)置。在220實驗室的服務(wù)器上所有軟件的運行環(huán)境都是csh。所以,所寫的腳本也都是csh的語法。

生成波形文件

Testbench的編寫

若想用Verdi觀察波形,需要在仿真時生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通過兩個系統(tǒng)調(diào)用$fsdbDumpfile $fsdbDumpvars來實現(xiàn)的。而這兩個系統(tǒng)調(diào)用并不是Verilog中規(guī)定的,是Verdi以pli(Programming Language Interface)的方式實現(xiàn)的。這就需要讓vcs編譯時能找到相應(yīng)的庫。

首先在testbench中需加入以下語句

`ifdef DUMP_FSDB

initialbegin

$fsdbDumpfile(“test.fsdb”);

$fsdbDumpvars;

end

`endif

這個編譯開關(guān)在用vcs編譯時加入+define+DUMP_FSDB選項就可以打開,也可以在define.v文件中定義DUMP_FSDB這個宏。

我們現(xiàn)在所接觸的仿真波形文件主要有

? Wlf文件: WLF波形日志文件,是modelsim的專用文件。這個wlf文件只能是由modelsim來生成,也只能通過modelsim來顯示。在用modelsim做仿真時,仿真結(jié)束都會生成一個*.wlf的文件(默認是vsim.wlf)。下次就可以通過通過modelsim直接打開這個保存下來的波形。vsim -view vsim.wlf -do run.do其中run.do中的內(nèi)容為要查看的波形信號。要強調(diào)的是不是一個通用的文件文件格式。

? VCD文件:VCD 是一個通用的格式。 VCD文件是IEEE1364標準(Verilog HDL語言標準)中定義的一種ASCII文件。可以通過Verilog HDL的系統(tǒng)函數(shù)$dumpfile,$dumpvars等來生成。我們可以通過$dumpvars的參數(shù)來規(guī)定我們抽取仿真中某個特定模塊和信號的 VCD數(shù)據(jù)。它主要包含了頭信息,變量的預(yù)定義和變量值的變化信息。正是因為它包含了信號的變化信息,就相當于記錄了整個仿真的信息。可以用這個文件來再現(xiàn)仿真,也就能夠顯示波形。另外我們還可以通過這個文件來估計設(shè)計的功耗。因為VCD是 Verilog HDL語言標準的一部分,因此所有的verilog的仿真器都要能實現(xiàn)這個功能。因此我們可以在verilog代碼中通過系統(tǒng)函數(shù)來dump VCD文件。另外,我們可以通過modelsim 命令來dump VCD文件,這樣可以擴展到VHDL中。具體的命令: vcd file myfile.vcd vcd add /test/dut/* 這個就生成一個含dut下所有信號的VCD數(shù)據(jù)信息。我們在使用來進行仿真 vsim -vcdstim myfile.com test;add wave /*;run -all;

? FSDB文件:fsdb文件是verdi使用一種專用的數(shù)據(jù)格式,類似于VCD,但是它是只提出了仿真過程中信號的有用信息,除去了VCD中信息冗余,就像對 VCD數(shù)據(jù)進行了一次huffman編碼。因此fsdb數(shù)據(jù)量小,而且會提高仿真速度。我們知道VCD文件使用verilog內(nèi)置的系統(tǒng)函數(shù)來實現(xiàn) 的,fsdb是通過verilog的PLI接口來實現(xiàn)的。$fsdbDumpfile,$fsdbDumpvars等 另外,在VCS仿真器中還有一種VCD+的數(shù)據(jù)格式VPD,詳細情況參照VCS的使用。 注意:WIF:波形中間格式;WLF:波形日志文件。由于在ModelSim下只能打開WLF文件 使用ModelSim行命令vcd2wlf 將VCD文件轉(zhuǎn)化為WLF文件。

而在dump fsdb文件需要幾個文件,Verdi.tab, pli.a 以及與仿真器相應(yīng)版本的.so庫文件(需要修改LD_LIBRARY_PATH變量)。而這些目錄在以往的版本中是比較凌亂的。

在Verdi200907版本之后它的dumper就做了統(tǒng)一化的處理:

How to Link the New Unified Dumper?

Prerequisites:

? ${NOVAS_INST_DIR} :

Verdi/Siloti install directory.

? ${PLATFORM} :

LINUX: Linux OS (32-bit)

LINUX64: Linux OS (64-bit)

SOL2: SunOS 5.x (32-bit)

SOL7: SunOS 5.x (64-bit)

IBM5: IBM 5.1

? Tab file:

novas.tab

? LD_LIBRARY_PATH

${NOVAS_INST_DIR}/share/PLI/lib/${PLATFORM} needs to be added as one of the

LD_LIBRARY_PATH searching paths all the time.

? Novas banner:

*Novas*

? novas.vhd file:

For VHDL and mixed language users who transfer from the old FSDB dumper, the first time use of new unified FSDB dumper needs the “novas.vhd” to be re-compiled (or re-analyzed) if the FSDB dumping commands have been specified in the VHDL design.

The related unified dumper directories are:

  • ${NOVAS_INST_DIR}/share/PLI/VCS
  • ${NOVAS_INST_DIR}/share/PLI/MODELSIM
  • ${NOVAS_INST_DIR}/share/PLI/IUS
  • ${NOVAS_INST_DIR}/share/PLI/lib

在我設(shè)的vcs環(huán)境中(csh)中設(shè)計的腳本如下

#!/bin/tcsh

if(-esimv)then

\rm-rsimv

endif

if(-esimv.daidir)then

\rm-rfsimv.daidir

endif

if(-ecsrc*)then

\rm-rfcsrc

endif

vcs0809

#verdi env setting

setPLATFORM=LINUX

setNOVAS_INST_DIR=/opt/spring/verdi201004

setenvLD_LIBRARY_PATH${NOVAS_INST_DIR}/share/PLI/lib/${PLATFORM}:${LD_LIBRARY_PATH}

vcs -l vcs.log \

-notice \

-line -debug_all \

-P $NOVAS_INST_DIR/share/PLI/VCS/$PLATFORM/novas.tab \

$NOVAS_INST_DIR/share/PLI/VCS/$PLATFORM/pli.a \

-f vcs.args

。/simv

需要注意:

  • Csh中設(shè)置環(huán)境變量,需把環(huán)境變量用{}括起來,這一點我試了很多次,它確實不如bash的解析器更加智能
  • 在220的服務(wù)器上,vcs的版本是201006的,而Verdi的版本時間比較低,編譯時會提示,相應(yīng)的libsscore_vcs201006.so文件找不到。現(xiàn)在我用的Verdi的版本是201004,而vcs的版本是200809

其中的vcs.args的參考腳本如下(以intra mode decision為例)

+libext+.v

+v2k

+acc

+define+DUMP_FSDB

-y http://www.cnblogs.com/rtl

-work work

//

// Testbench files

//

+incdir+http://www.cnblogs.com/bench

http://www.cnblogs.com/bench/tb_ip_mode_decision.v

// RTL files

//

+incdir+http://www.cnblogs.com/rtl

http://www.cnblogs.com/rtl/ip_mode_decision.v

http://www.cnblogs.com/rtl/defines.v

http://www.cnblogs.com/rtl/timescale.v

在csh中運行

。/run_vcs

即可生成Verdi所需要的fsdb文件

之后運行以下命令啟動Verdi

verdi -2001 -f vcs.args -ssf test.fsdb

Verdi調(diào)試

Verdi調(diào)試主要分為以下幾步

? Load design and testbench into Debussy;

? 打開nWave,載入對應(yīng)的FSDB;

? 在nTrace中將要觀察的信號通過鼠標中鍵Drag&Drop拖放到nWave中;

? 通常都是在波形上發(fā)現(xiàn)問題,找到錯誤地方并雙擊鼠標,會自動跳到Real driver statement,也即會跳到源代碼所在。

? nTrace中,Active Annotation(快捷鍵X)標出仿真結(jié)果在source code下;

? 在先前driver statement中找個driver來使用active trace來追蹤有效驅(qū)動。

Verdi就是之前的Debussy,在調(diào)試時有著諸多的優(yōu)點,現(xiàn)在我感覺最基礎(chǔ)的幾點就是它

? 只需執(zhí)行一遍仿真就可以查看所有的波形,而在modelsim中則需要反復(fù)運行add wave命令,每一次都要重新仿真。

? 可以查看設(shè)計的原理圖schematic,這非常方便查看每一個module和wire的所對應(yīng)的硬件結(jié)構(gòu),modelsim現(xiàn)在還沒有這個功能。

? 在仿真時可以很輕易地追蹤每個信號所對應(yīng)的源碼。

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

    關(guān)注

    12

    文章

    9306

    瀏覽量

    86069
  • 波形
    +關(guān)注

    關(guān)注

    3

    文章

    379

    瀏覽量

    31660
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    9647
收藏 人收藏

    評論

    相關(guān)推薦

    請教VCSverdi怎么聯(lián)合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中進行自動偵錯,請問我怎么安裝Verdi這個軟件以及如何啟動license,并且怎么寫testbench文件才可以產(chǎn)生FSDB文
    發(fā)表于 01-22 14:53

    怎樣去使用Makefile+VCS+Verdi做個簡單的Test Bench?

    怎樣去使用Makefile+VCS+Verdi做個簡單的Test Bench?有哪些操作步驟?
    發(fā)表于 06-18 06:28

    VCS+Verdi如何安裝?怎么破解?

    VCS+Verdi如何安裝?怎么破解?
    發(fā)表于 06-21 06:11

    VCS仿真卡住,為什么無法生成verdi波形文件呢?

    在make com編譯成功后,terminal卡住了一直沒有反應(yīng),這是什么情況有大佬知道嗎?VCS仿真卡住,為什么無法生成verdi波形文件呢?
    發(fā)表于 06-21 08:14

    在Linux上用vcs+verdi對demo_nice進行仿真沒有成功的原因?

    請教大神,我在Linux上用vcs+verdi對demo_nice進行仿真,但是沒有成功 我是用hibrd.sdk把demo_nice編譯成.verilog文件的,其內(nèi)容如下 另外我還對tb
    發(fā)表于 08-12 08:07

    新思科技采用VCSVerdi 結(jié)合,推出與眾不同的芯片設(shè)計

    Verdi 交互調(diào)試解決方案非常適合我們的大型設(shè)計,讓我們的仿真團隊能夠縮短回歸周轉(zhuǎn)時間,從而大大提升我們驗證工作的效率。”
    的頭像 發(fā)表于 08-28 15:22 ?3667次閱讀

    AImotive采用新思科技VCS?仿真Verdi?調(diào)試驗證其下一代自動駕駛

    新思科技(Synopsys, Inc., 納斯達克股票代碼:SNPS)近日宣布,AImotive已采用新思科技VCS?仿真Verdi?調(diào)試(Verification Continuu
    的頭像 發(fā)表于 01-13 15:57 ?2098次閱讀

    如何通過自動化腳本實現(xiàn)Questasim和Verdi聯(lián)合仿真

    verdi聯(lián)合仿真。 由于verdi工具支持FSDB格式的波形文件,所以在仿真時要把文件的信號轉(zhuǎn)存到FSDB格式的波形文件中,這里需要借
    的頭像 發(fā)表于 06-13 17:00 ?4682次閱讀
    如何通過自動化腳本實現(xiàn)Questasim和<b class='flag-5'>Verdi</b>的<b class='flag-5'>聯(lián)合</b><b class='flag-5'>仿真</b>

    利用vcs+verdi仿真工具蜂鳥E200系列處理器仿真分析

    開源RISC-V Hummingbird E203(蜂鳥E203)的仿真工具是開源的iverilog,這里利用vcs+verdi仿真工具進行仿真
    的頭像 發(fā)表于 11-17 10:28 ?3038次閱讀

    全網(wǎng)最實用的Verdi教程1

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的
    的頭像 發(fā)表于 05-05 14:49 ?1.7w次閱讀
    全網(wǎng)最實用的<b class='flag-5'>Verdi</b>教程1

    全網(wǎng)最實用的Verdi教程2

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的
    的頭像 發(fā)表于 05-05 14:53 ?9115次閱讀
    全網(wǎng)最實用的<b class='flag-5'>Verdi</b>教程2

    全網(wǎng)最實用的Verdi教程3

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的
    的頭像 發(fā)表于 05-05 14:53 ?5946次閱讀
    全網(wǎng)最實用的<b class='flag-5'>Verdi</b>教程3

    如何用vcs+verdi仿真Verilog文件并查看波形呢?

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的頭像 發(fā)表于 05-08 16:00 ?6550次閱讀
    如何用<b class='flag-5'>vcs+verdi</b><b class='flag-5'>仿真</b>Verilog文件并查看波形呢?

    如何用vcs+verdi仿真Verilog文件

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件內(nèi)容如下:
    的頭像 發(fā)表于 05-11 17:03 ?1994次閱讀
    如何用<b class='flag-5'>vcs+verdi</b><b class='flag-5'>仿真</b>Verilog文件

    Verdi環(huán)境配置、生成波形的方法

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的
    的頭像 發(fā)表于 05-29 09:48 ?4277次閱讀
    <b class='flag-5'>Verdi</b>環(huán)境配置、生成波形的方法
    锡林浩特市| 百家乐官网1个人| 百家乐官网创立几年了| 百家乐好津乐汇| 普洱| 大桥下做生意风水好吗| 大发888 迅雷快传| 哪个百家乐官网投注比较好| 百家乐线上代理网站| 大发8880634| 百家乐官网制胜法宝| 闲和庄百家乐娱乐城| 普陀区| 百家乐棋牌交友| 汉阴县| 百家乐分析软件下| 冠通棋牌世界| 网上玩百家乐官网的玩法技巧和规则| 百家乐3式打法微笑心法| 百家乐官网长龙有几个| 百家乐视频中国象棋| 赌球论坛| 百家乐百乐发破解版| 财神真人娱乐城| 真人百家乐现金游戏| 利澳娱乐城| 波音百家乐现金网| 皇冠投注網| 太阳城百家乐出千技术| 临漳县| 百家乐赌场凯时娱乐| 百家乐官网娱乐城彩金| 澳门百家乐必赢技巧| 网上百家乐官网真实度| 百家乐最新破| gt百家乐官网平台假吗| A8百家乐赌场娱乐网规则| 百家乐官网有方式赢钱吗| 易球百家乐娱乐城| 百家乐官网百家乐官网视频| 百家乐游戏作弊|