基于UVM+VCS基本平台,运行《UVM实战》中的第一个UVM代码并输出结果

105 篇文章 13 订阅

(1)下载puvm.tar.gz和uvm-1.1d.tar.gz压缩包 ,使用分别使用tar zxvf puvm.tar.gz和 tar zxvf uvm-1.1d.tar.gz解压到当前目录下

(2)找到puvm->src->ch2->dut->dut.sv文件,将该文件拷贝到puvm->src->ch2->section2.2->2.2.1目录下
(3)打开puvm->src->ch2->section2.2->2.2.1->Makefile.vcs文件并按照下面的方法进行编辑,编辑完后,在终端敲入:make -f Makefile.vcs

UVM_HOME =/home/ICer/ic_prjs/uvm_prj/example_and_uvm_source_code/uvm-1.1d
include  /home/ICer/ic_prjs/uvm_prj/example_and_uvm_source_code/uvm-1.1d/examples/Makefile.vcs

all: clean comp run
 
comp:
	$(VCS) +incdir+. \
	dut.sv	top_tb.sv my_driver.sv
 
run:
	$(SIMV)
	$(CHECK)
 
TEST = /usr/bin/test
N_ERRS = 0
N_FATALS = 0
# -fsdb_old    -ntb_opts 
VCS =	vcs -full64 -sverilog -ntb_opts -timescale=1ns/1ns \
	+acc +vpi \
	+define+UVM_OBJECT_MUST_HAVE_CONSTRUCTOR \
	+incdir+$(UVM_HOME)/src $(UVM_HOME)/src/uvm.sv \
	$(UVM_HOME)/src/dpi/uvm_dpi.cc -CFLAGS -DVCS
 
SIMV = 	./simv +UVM_TESTNAME=dut +UVM_VERBOSITY=$(UVM_VERBOSITY) -l vcs.log
 
URG  = urg -format text -dir simv.vdb
 
CHECK = \
	@$(TEST) \( `grep -c 'UVM_ERROR :    $(N_ERRS)' vcs.log` -eq 1 \) -a \
		 \( `grep -c 'UVM_FATAL :    $(N_FATALS)' vcs.log` -eq 1 \)
 
clean:
	rm -rf *~ core csrc simv* vc_hdrs.h ucli.key urg* *.log 

(3.a)设置UVM_HOME的路径:
UVM_HOME =/home/ICer/ic_prjs/uvm_prj/example_and_uvm_source_code/uvm-1.1d
(3.2)将uvm-1.1d目录下的Makefile.vcs添加进来,这些命令用于编译uvm库
include  /home/ICer/ic_prjs/uvm_prj/example_and_uvm_source_code/uvm-1.1d/examples/Makefile.vcs
(4)最后在终端敲入:./simv
(5)最终显示结果如下:

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值