UVM学习(1)uvm_test

UVM学习(1)uvm_test

这个例子主要是在平台中使用run_test启动uvm_test

uvm_test.sv如下:

package test_package;
import uvm_pkg::*;
`include "uvm_macros.svh"
	class test_base extends uvm_test;
		`uvm_component_utils(test_base)
		function new(string name="test_base",uvm_component parent=null );
			super.new(name,parent);
		endfunction
	endclass
endpackage

module uvm_test;
import uvm_pkg::*;
`include "uvm_macros.svh"
import test_package::*;
initial begin 
	int a;
	`uvm_info("UVM_TOP", "test started", UVM_LOW)	
 	run_test("test_base");
	`uvm_info("UVM_TOP", "test finished", UVM_LOW)
end
endmodule

需要注意的是,最后一行的打印是无法执行的,因为平台在执行完test_base后就退出了。

UVM也提供对不加参数的run_test的支持,在这种情况下,UVM会利用UVM_TESTNAME从命令行中寻找测试用例的名字,创建它的实例并运行,代码如下:

uvm_test.sv


package test_package;
import uvm_pkg::*;
`include "uvm_macros.svh"
	class test_base extends uvm_test;
		`uvm_component_utils(test_base)
		function new(string name="test_base",uvm_component parent=null );
			super.new(name,parent);
		endfunction
	endclass
endpackage

module uvm_test;
import uvm_pkg::*;
`include "uvm_macros.svh"
import test_package::*;
initial begin 
	int a;
	`uvm_info("UVM_TOP", "test started", UVM_LOW)	
 	run_test();
	`uvm_info("UVM_TOP", "test finished", UVM_LOW)
end
endmodule

sim.do如下:

stasim64_2020.1/uvm-1.1c/win64
vlib work
vlog +incdir+D:/uvm1.1/1800.2-2017-1.1/src -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF +incdir + D:/questasim64_2020.1/examples/lab1_uvm_test/uvm_test.sv
vsim  -sv_lib $UVM_DPI_HOME/uvm_dpi work.uvm_test +UVM_VERBOSITY=UVM_HIGH+UVM_TESTNAME=test_base

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值