在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

vcs和verdi的調試及聯合仿真案例

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

環境配置

首先搭建好vcs和Verdi都能工作的環境,主要有license問題,環境變量的設置。在220實驗室的服務器上所有軟件的運行環境都是csh。所以,所寫的腳本也都是csh的語法。

生成波形文件

Testbench的編寫

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

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

`ifdef DUMP_FSDB

initialbegin

$fsdbDumpfile(“test.fsdb”);

$fsdbDumpvars;

end

`endif

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

我們現在所接觸的仿真波形文件主要有

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

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

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

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

在Verdi200907版本之后它的dumper就做了統一化的處理:

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

在我設的vcs環境中(csh)中設計的腳本如下

#!/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中設置環境變量,需把環境變量用{}括起來,這一點我試了很多次,它確實不如bash的解析器更加智能
  • 在220的服務器上,vcs的版本是201006的,而Verdi的版本時間比較低,編譯時會提示,相應的libsscore_vcs201006.so文件找不到。現在我用的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調試

Verdi調試主要分為以下幾步

? Load design and testbench into Debussy;

? 打開nWave,載入對應的FSDB;

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

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

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

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

Verdi就是之前的Debussy,在調試時有著諸多的優點,現在我感覺最基礎的幾點就是它

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

? 可以查看設計的原理圖schematic,這非常方便查看每一個module和wire的所對應的硬件結構,modelsim現在還沒有這個功能。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9308

    瀏覽量

    86071
  • 波形
    +關注

    關注

    3

    文章

    379

    瀏覽量

    31660
  • VCS
    VCS
    +關注

    關注

    0

    文章

    80

    瀏覽量

    9647
收藏 人收藏

    評論

    相關推薦

    請教VCSverdi怎么聯合使用

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

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

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

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

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

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

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

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

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

    新思科技采用VCSVerdi 結合,推出與眾不同的芯片設計

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

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

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

    如何通過自動化腳本實現Questasim和Verdi聯合仿真

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

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

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

    全網最實用的Verdi教程1

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

    全網最實用的Verdi教程2

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

    全網最實用的Verdi教程3

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

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

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

    如何用vcs+verdi仿真Verilog文件

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

    Verdi環境配置、生成波形的方法

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的
    的頭像 發表于 05-29 09:48 ?4284次閱讀
    <b class='flag-5'>Verdi</b>環境配置、生成波形的方法
    主站蜘蛛池模板: 成人mv高清在线 | 美女视频永久黄网站在线观看 | 久草免费色站 | 亚洲你懂的 | 国产色婷婷亚洲 | 欧美大胆一级视频 | 欧美视频一区在线观看 | 国产精品美女一区二区三区 | www亚洲欲色成人久久精品 | 清纯漂亮小美女准备啪啪 | 精品卡1卡2卡三卡免费视频 | 国产亚洲精品线观看77 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中 | 黑人一区二区三区中文字幕 | 免费观看欧美一级片 | 国内真实下药迷j在线观看 国内自拍 亚洲系列 欧美系列 | 亚洲天堂导航 | 成人午夜毛片 | 天天狠操 | 天天摸日日碰天天看免费 | 一级毛片 在线播放 | 在线天堂中文官网 | 网女色 | 欧美黄色片免费观看 | 欧美精品网站 | 日本人69xxxxxxx69 | 欧美一卡2卡三卡四卡五卡 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 亚洲免费视频一区二区三区 | 七月婷婷在线视频综合 | 久操视频网站 | 毛片又大又粗又长又硬 | 性色欧美| 夜夜春夜夜夜夜猛噜噜噜噜噜 | 亚洲第一页视频 | 视频在线观看免费网站 | 欧美性hd| 欧美色碰碰碰免费观看长视频 | 欧美日韩国产乱了伦 | 国产午夜精品久久理论片小说 | 性猛交xxxx乱大交孕妇 | 69自拍视频 |