Chapter 11 UVM Tests
11.1 Creating Test with Factory
- 利用工厂机制,我们可以只编译一次测试平台,然后使用factory机制运行不同的测试用例,通过向UVM传入+UVM_TESTNAME的string型变量调用工厂机制,并创建对象。
vsim testbench -coverage +UVM_TESTNAME=add_test
vsim testbench -coverage +UVM_TESTNAME=random_test
通过以上两条命令就可以分别创建add_test的对象和random_test的对象。
- 上一节,记录了如何使用OOP的测试平台,通过在testbench顶层文件中调用各个对象的execute函数启动方针平台,在使用UVM之后,我们可以使用run_test()函数启动方针
module top;
import uvm_pkg::*;
`include "uvm_macros.svh"
import tinyalu_pkg::*;
`include "tinyalu_macros.svh"
tinyalu_bfm bfm;
tinyalu DUT(.A(bfm.A),.B(bfm.B),.op(bfm.op)...);
initial begin
uvm_config_db #(virtual interface tinyalu_bfm)::