UVM实战中的makefile文件

all : clean vcs run

vcs :
	vcs  \
		-ntb_opts uvm-1.1 \
		-f filelist.f  \
		-timescale=1ns/1ps \
		-full64  +vc  +v2k  -sverilog -debug_acc+all\
		-l vcs.log +vcs+vcdpluson
verdi:
	verdi -f filelist.f -ssf tb.fsdb &
rung:
	./simv -gui +UVM_TESTNAME=my_case0 -l run.log

run:
	./simv +UVM_TESTNAME=my_case0

clean  :
	 rm  -rf  *~  core  csrc  simv*  vc_hdrs.h  ucli.key  urg* *.log  novas.* *.fsdb* verdiLog  64* DVEfiles *.vpd

dve_run:
	dve -vpd vcdplus.vpd & 

1.在UVM实战中添加makefile文件进行快速仿真。

2.添加filelist.f文件,里面包含了UVM组件和dut的路径

../../../ch2/dut/dut.sv 
./top_tb.sv
./my_if.sv 
./my_transaction.sv 
./my_driver.sv 
./my_monitor.sv 
./my_sequencer.sv 
./my_agent.sv 
./my_scoreboard.sv 
./my_model.sv
./my_env.sv 
./base_test.sv 
./my_case0.sv 

里面的../代表上一层路径,而./代表了当前路径。

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UVM实战Makefile是用于编译、构建和运行UVM测试用例的文件。它描述了测试流程所需的所有对象和库,并确定了测试用例的执行顺序。以下是一个简单的UVM实战Makefile示例: ``` # 设置编译器和链接器 CC = g++ LD = g++ # 设置编译选项 CFLAGS = -Wall -O2 LDFLAGS = -lstdc++ -lm # 设置测试用例的名称 TESTS = test1 test2 test3 # 设置UVM库路径 UVM_LIB_PATH = /usr/local/uvm-1.2/lib # 设置UVM文件UVM_LIB = uvm_pkg.a # 设置测试用例的源文件 SRCS = test1.cpp test2.cpp test3.cpp # 设置对象文件的名称 OBJS = $(SRCS:.cpp=.o) # 设置编译目标 all: $(OBJS) $(TESTS) # 编译测试用例 test1: test1.o $(LD) -o $@ $< -L$(UVM_LIB_PATH) -l$(UVM_LIB) $(LDFLAGS) test2: test2.o $(LD) -o $@ $< -L$(UVM_LIB_PATH) -l$(UVM_LIB) $(LDFLAGS) test3: test3.o $(LD) -o $@ $< -L$(UVM_LIB_PATH) -l$(UVM_LIB) $(LDFLAGS) # 清除编译后的文件 clean: rm -f $(OBJS) $(TESTS) # 编译规则 .cpp.o: $(CC) -c $(CFLAGS) $< -o $@ ``` 在上述示例Makefile文件首先设置了编译器和链接器的变量。然后,它定义了编译选项和链接选项,并设置了测试用例的名称。接下来,它指定了UVM库的路径和文件名,并列出了测试用例的源文件Makefile的目标是all,它将编译所有的测试用例并生成对象文件。每个测试用例都有一个自己的规则,它将源文件编译为可执行文件。最后,Makefile定义了清除编译后文件的规则和编译规则。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值