?UVM實戰(zhàn)中實例源碼下載:https://www.hzcourse.com/web/refbook/detail/5651/229
一、環(huán)境配置
終于配置跑通?UVM實戰(zhàn)中的實例了,下面是基于linux+vcs+verdi的環(huán)境配置
1、將下載的源碼文件夾解壓后共享到虛擬機中
2、需要重新配置setup.vcs文件
原始文件:
#!/bin/csh
setenv VCS_HOME /opt/vcs/E-2011.03
setenv UVM_HOME ~/uvm/uvm-1.1d
setenv WORK_HOME `pwd`
setenv SIM_TOOL VCS
set path = (/opt/vcs/E-2011.03/bin ${WORK_HOME}/bin $path)
說明:
- 這個配置文件是基于csh的,安裝的虛擬機不一定支持,支持bash。
修改文件:
#!/bin/bash
export VCS_HOME=/opt/synopsys/vcs
export UVM_HOME=/home/host/verify/example_and_uvm_source_code/uvm-1.1d/
export WORK_HOME=/home/host/verify/example_and_uvm_source_code/puvm
export SIM_TOOL=VCS
export NOVAS_HOME=/opt/synopsys/verdi
export PATH=/opt/synopsys/vcs/linux64/bin:$PATH
說明:
- vcs_home:vcs的安裝路徑
- uvm_home:uvm庫文件的路徑
- work_home:執(zhí)行代碼的工作路徑
- sim_tool:設(shè)置使用的仿真工具是vcs
- novas_home:verdi的安裝路徑
- path:腳本的路徑
- 修改完后要source setup.vcs
3、run文件配置
?
#!/bin/csh
if ( $SIM_TOOL == "QUESTA" ) then
vlib work
vlog -f filelist.f
vsim -sv_lib $UVM_DPI_DIR/uvm_dpi -do $WORK_HOME/bin/vsim.do -c top_tb
endif
if ( $SIM_TOOL == "VCS" ) then
vcs -sverilog $UVM_HOME/src/dpi/uvm_dpi.cc -CFLAGS -DVCS -timescale=1ns/1ps -f filelist.f
./simv
endif
if ( $SIM_TOOL == "NCSIM" ) then
ncverilog +sv -f filelist.f -licqueue -timescale 1ns/1ps -uvm -uvmhome $UVM_HOME
endif
?說明:
- sim_tool:對應不同的仿真工具,在setup.vcs中設(shè)置的是vcs
- 但不能直接使用這個run文件,需要修改
- 使用Makefile來運行
4、Makefile
使用makefile用著更習慣
UVM_HOME = /home/host/verify/example_and_uvm_source_code/uvm-1.1d/
elab:
vcs -top top_tb -full64 -lca -sverilog -debug_access+all -timescale=1ps/1ps -sim_res=1ps -kdb \
$(UVM_HOME)/src/dpi/uvm_dpi.cc -CFLAGS -DVCS \
+incdir+$(UVM_HOME)/src $(UVM_HOME)/src/uvm.sv \
-f filelist.f \
-LDFLAGS"-Wl,--rpth,$(NOVAS_HOME)/share/PLI/VCS/LINUX64"
run:
./simv &
verdi:
verdi -ssf ./tb.fsdb &
clean:
\rm -rf AN.DB
\rm -rf *simv*
\rm -rf DVEfiles
\rm -rf ucli.key
all: clean elab run
說明:文章來源:http://www.zghlxwxcb.cn/news/detail-524162.html
- 設(shè)置uvm_home的路徑
- elab中要把UVM的庫文件incdir進來,設(shè)置了top頂層是top_tb
- 若UVM的庫文件就在VCS的安裝路徑下面可以直接用-ntb_opts uvm
- 需要修改filelist和把dut.sv包含到對應的路徑中
- 在原始的top_tb.sv文件中加入下列initial代碼
- 先刪掉原本的run文件,執(zhí)行make all 再make verdi 即可以用verdi看波形
initial begin
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars;
end
(修改后的)2.2.1代碼運行結(jié)果:
文章來源地址http://www.zghlxwxcb.cn/news/detail-524162.html
到了這里,關(guān)于(一)UVM驗證平臺搭建1的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!