文章目录
搭建一个简单平台
每个类都有类继承声明
每个类都有注册声明
- 使用component注册:test,env,scoreboard,agent,driver,monitor
- 使用object注册:sequence,sequence_item
每个类有new构造器
Makefile
all: compile simulation
compile:
<tab>vcs -sverilog -ntb_opts uvm -timescale=1ns/1ns +define+UVM_NO_DPI <编译文件>
simulation:
<tab>./simv -l sim.log +UVM_TESTNAME=<testcase class> +UVM_VERBOSITY=UVM_MEDIUM
clean:
<tab>rm -rf simv* csrc* *.log *.key core* *.vpd *.vcd
my_transaction
继承于uvm_sequence_item;
my_sequence
task body()中,主义注意11行和17行s括号的内容
my_sequencer
typedef uvm_sequencer #(transaction) my_sequencer;
my_monitor
无错误
my_driver
注意:
master_agent
注意:
my_env
agent的例化(句柄和对象的create创建)
my_test
env的例化(句柄和对象的create创建)
configure机制配置default_sequence
test
uvm_pkg的import
编译文件的`include