Professional Documents
Culture Documents
Course Basic Uvm Session2 Uvm Hello World Tfitzpatrick
Course Basic Uvm Session2 Uvm Hello World Tfitzpatrick
Tom Fitzpatrick
Verification Evangelist
info@verificationacademy.com | www.verificationacademy.com
DUT and Verification Environment
module
Top-level
uvm_test Variable part
uvm_env
Class-based
classes Fixed part
dut_if
Structural interface
DUT
module
...
endinterface: dut_if
Top-level
uvm_test
uvm_env
dut_if
DUT
...
endmodule: dut
Top-level
uvm_test
uvm_env
dut_if
DUT
... Top-level
uvm_test
endmodule: top uvm_env
dut_if
DUT
Top-level
uvm_test
uvm_env
dut_if
DUT
endclass: my_env
© 2013 Mentor Graphics Corporation, all rights reserved.
Env
class my_env extends uvm_env;
`uvm_component_utils(my_env)
Top-level
uvm_test
uvm_env
dut_if
DUT
endclass: my_env
© 2013 Mentor Graphics Corporation, all rights reserved.
Env
class my_env extends uvm_env;
`uvm_component_utils(my_env)
Top-level
uvm_test
uvm_env
dut_if
DUT
endclass: my_env
© 2013 Mentor Graphics Corporation, all rights reserved.
Env
class my_env extends uvm_env;
`uvm_component_utils(my_env)
dut_if
DUT
endclass: my_env
© 2013 Mentor Graphics Corporation, all rights reserved.
Env
class my_env extends uvm_env;
`uvm_component_utils(my_env)
DUT
endtask: run_phase
endclass: my_env
© 2013 Mentor Graphics Corporation, all rights reserved.
End-of-Test Mechanism
endtask: run_phase
Top-level
uvm_test
uvm_env
dut_if
DUT
endclass: my_test
© 2013 Mentor Graphics Corporation, all rights reserved.
Test
class my_test extends uvm_test;
`uvm_component_utils(my_test)
Top-level
uvm_test
uvm_env
dut_if
DUT
endclass: my_test
© 2013 Mentor Graphics Corporation, all rights reserved.
Test
class my_test extends uvm_test;
`uvm_component_utils(my_test)
my_env my_env_h;
endfunction: build_phase
dut_if
DUT
endclass: my_test
my_env my_env_h;
DUT
endclass: my_test
my_env my_env_h;
DUT
endclass: my_test
... uvm_test
uvm_env
endclass: my_env
my_test.svh: dut_if
class my_test extends uvm_test;
DUT
...
endclass: my_test
© 2013 Mentor Graphics Corporation, all rights reserved.
Test Instantiation
module top;
import uvm_pkg::*;
import my_pkg::*;
dut_if
DUT
endmodule: top
© 2013 Mentor Graphics Corporation, all rights reserved.
Test Instantiation
module top;
import uvm_pkg::*;
import my_pkg::*;
endmodule: top
© 2013 Mentor Graphics Corporation, all rights reserved.
Running the Simulation
> vlog file.sv
> vsim top
# Loading sv_std.std
# Loading work.uvm_pkg
# Loading work.my_pkg
# Loading work.top
# Loading work.dut_if
# Loading work.dut
# Loading ./work/_dpi/qv_dpi.so
# run -all
# ----------------------------------------------------------------
# UVM-1.1d
# (C) 2007-2013 Mentor Graphics Corporation
# (C) 2007-2013 Cadence Design Systems, Inc.
# (C) 2006-2013 Synopsys, Inc.
# (C) 2001-2013 Cypress Semiconductor Corp.
# ----------------------------------------------------------------
© 2013 Mentor Graphics Corporation, all rights reserved.
Running the Simulation
module
Top-level
uvm_test Variable part
uvm_env
Class-based
classes Fixed part
dut_if
Structural interface
DUT
module
Tom Fitzpatrick
Verification Evangelist
info@verificationacademy.com | www.verificationacademy.com