Verdi與vcs、irun和questasim聯合仿真腳本記錄


  Verdi介紹:https://www.synopsys.com/zh-cn/verification/debug/verdi.html  

  Verdi 系統提供了以下基本調試功能:

    • 功能全面的波形查看器使您能夠顯示和分析各個時間段的活動
    • 功能強大的波形比較引擎可以讓您隔離快速信號數據庫 (FSDB) 文件之間的差異
    • 源代碼瀏覽器使您能夠在源代碼和層次結構之間輕松來回移動
    • 靈活的原理圖和方框圖使您能夠使用熟悉的符號顯示邏輯和連接
    • 直觀的氣泡圖幫助您揭示有限狀態機的操作

  三大EDA廠商軟件生成波形可以和verdi配合使用:

    • Sysnopsys--vcs
    • Cadence--irun
    • Mentor--Qustasim

  在平常工作時,正是由於verdi強大的看波形debug的功能,可以通過VCS、irun和Questasim編譯后,產生Verdi可以加載的快速信號數據庫 (FSDB) 文件,並通過Verdi加載以后方便的進行debug。因此記錄一下三大EDA廠商軟件生成fsdb波形的腳本。

  1. VCS腳本:使用UCLI接口

com:
	vcs -sverilog -debug_acc+all -LDFLAGS -rdynamic -full64 \
	    -P $(VERDI_HOME)/share/PLI/VCS/$(PLATFORM)/novas.tab \
	       $(VERDI_HOME)/share/PLI/VCS/$(PLATFORM)/pli.a \
	    -f tb_top.f \
	    +vcs+lic+wait \
	    -l com_vcs.log
sim:
    	./simv +ntb_random_seed=$(SEED) \
	-ucli -i dump_fsdb_vcs.tcl \
	+fsdb+autoflush \
	-l sim_vcs.log 

     對應的 dump_fsdb_vcs.tcl 腳本為

    global env                             # tcl腳本引用環境變量,Makefile中通過export定義   
    fsdbDumpfile "$env(demo_name).fsdb"    # 設置波形文件名,受環境變量env(demo_name)控制   # demo_name在makefile中使用export demo_name=demo_fifo  
    fsdbDumpvars 0 "tb_top"                # 設置波形的頂層和層次,表示將tb_top作為頂層,Dump所有層次
    run                                    # 設置完dump信息,啟動仿真(此時仿真器被ucli控制) 可以run 100ns會在仿真100ns的時候停下來下來

  2. IRUN腳本 使用ncsim接口

com:
	irun -elaborate -access +r \
	-f tb_top.f \
	-top tb_top \
	-licqueue \
	-l com_irun.log


sim:
      	irun -R \
	-input dump_fsdb_irun.tcl \
        +fsdb+autoflush \
	-licqueue \
	-l sim_irun.log

  對應的 dump_fsdb_irun.tcl 腳本為

global env
call fsdbDumpfile "$env(demo_name).fsdb"  # 需要使用call,與vcs區別之一
call  fsdbDumpvars 0 "tb_top"
run   
quit                                      # 需要使用quit,irun不自動結束

  3. questasim腳本

com:
	vlib work
	vmap work work
	vlog -64 -sv +acc \
	-f tb_top.f \
	-l com_questa.log

sim:
	vsim -64 -batch -pli $(VERDI_HOME)/share/PLI/MODELSIM/$(PLATFORM)/novas_fli.so \
	work.tb_top \ 
     -do dump_fsdb_questa.tcl \
     +fsdb+autoflush \
     -l sim_questa.log

  對應的 dump_fsdb_questasim.tcl

gloal env 
fsdbDumpfile "$env(demo_name).fsdb"
fsdbDumpvars 0 "tb_top"
run -all
quit -sim

  4. Verdi加載fsdb腳本

run_verdi:
    verdi \
    -sv \                            # 支持sv
    -nologo \                      # 關掉歡迎界面
    -f tb_top.f \    # 加載設計文件列表
    -ssf tb_top.fsdb

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM