UVMF One Bite at A Time: UVM Framework Overview
UVMF One Bite at A Time: UVM Framework Overview
Results
Understand the UVM Framework
— What it is
— What it provides
— It’s architecture
— Documentation available
Before a production
environment is operational
Learning Curve
Productivity Curve
A production environment
is in place
That is learned
while in use
Learning Curve
Productivity Curve
UVM Jumpstart
— Extensions of UVM to hide UVM details
— Avoid common mistakes at all levels
3 Makefiles 54
8 Using the Questa VIP Configurator in tandem with UVMF code generators 73
$UVMF_HOME/docs/UVM_Framework_Users_Guide.pdf
1.1 Overview 4
3.1 Description 12
4.1 Description 13
5.1 Description 19
$UVMF_HOME/docs/UVM_Framework_Code_Generator_YAML_Reference.pdf
top_level_sequence
hvl_top (uvm_sequence) spi_slave_seq dut_config_seq wb_master_seq dut_stats_seq
(module)
initial run_test()
Legend
Env level reuse
Comp level reuse
Not reusable Restricted © 2018 Mentor Graphics Corporation
Block to Top Environment Reuse
hdl_top test_top extends uvmf_test_base extends uvm_test
(module)
Ahb2spi_config Ahb2spi_env (uvm_env)
spi_if() (uvm_object)
Spi_driver_bfm_if()
Ahb2wb_env Wb2spi_env
DUT_config
Spi_monitor_bfm_if()
DUT_Register_Model
DUT() Ahb2wb_config
top_level_sequence
hvl_top (uvm_sequence) spi_slave_seq dut_config_seq ahb_master_seq dut_stats_seq
(module)
initial run_test()
Legend
Env level reuse
Comp level reuse
Not reusable Restricted © 2018 Mentor Graphics Corporation
UVM Framework in Veloce
spi_if()
DUT_config scoreboard predictor
Spi_driver_bfm_if()
DUT_Register_Model
Spi_monitor_bfm_if()
spi_agent_config
spi_agent wb_agent
wb_agent_config
virtual spi_if virtual wb_if
DUT ()
tb_top
(module)
Initial begin
run_test()
end
top_level_sequence
(uvm_sequence)
spi_slave_seq dut_config_seq
wb_master_seq dut_stats_seq
spi_if()
DUT_config
Spi_driver_bfm_if()
Spi_monitor_bfm_if()
DUT ()
tb_top
(module)
Initial begin
run_test()
end
top_level_sequence
(uvm_sequence)
spi_slave_seq dut_config_seq
wb_master_seq dut_stats_seq
/testbench Spi_driver_bf
m_if()
DUT_Register_M
odel
/sequences Spi_monitor_b
spi_agent_config
/tests
fm_if()
spi_agent wb_agent
wb_agent_config
virtual spi_if virtual wb_if
()
UVMF_VIP_LIBRARY_HOME
DUT
/verification_ip hvl_top
(module)
/spi_pkg
end
top_level_sequence
(uvm_sequence)
/environment_packages
/ahb2wb_env_pkg
/wb2spi_env_pkg
/ahb2spi_env_pkg Restricted © 2018 Mentor Graphics Corporation
UVMF Adoption Process
Onsite UVMF overview
— Delivered by Mentor
— Couple hours
Onsite target design overview
— Delivered by customer
— Couple hours
Onsite generation of UVMF simulation bench
— Generated using UVMF code generator
— Couple hours
Add design specific components
— Familiarize design team with simulation bench
— Protocol signaling, prediction, coverage
— Create additional test cases