Professional Documents
Culture Documents
Tom Fitzpatrick
Verification Evangelist
info@verificationacademy.com | www.verificationacademy.com
UVM Testbench - Architectural Design
For Each Interface:
• How does the interface work?
• What information is transferred?
• Transaction variants? DUT
• Uni/bidirectional? Pipelined? APB
SPI
For the Design: IRQ I/F
Test
Test
Test
Test
Test
Test
Test
Environment
Coverage
Test
seq Collector
Seqs
Agent
Bkgrnd
seq Configuration
Seqs Object
Monitor DUT
Env Config Config Sequencer
A Config A Config Driver
Agent2
Test Configuration
Monitor
Seqs Object
Environment
Coverage Sequencer
Collector Driver
Score
Agent1
Bkgrnd Configuration
Seqs Monitor
Object
Agent2
Test Configuration
Seqs Object
Monitor DUT
Score
Coverage Sequencer
Collector Driver
Score
Agent1
Bkgrnd Configuration
Seqs Monitor
Object
Sequencer
endclass Driver DUT
endclass
Sequencer
Driver DUT
endclass
Sequencer
Driver DUT
super.new(name, parent);
Environment
Coverage
Collector
endfunction Score
Agent1
Config
A2 Config
DUT
endclass
A1 Config
"m_agent1", this);
Agent2
…
Environment
Coverage
Collector
endfunction:build_phase Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
m_cov = my_cov::type_id::create(“m_cov”,
Agent2
this);
Environment
Coverage
Collector
endfunction:build_phase Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
Agent2
Environment
Coverage
Collector
Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
my_env m_env;
my_agent1_config m_a1_cfg;
my_agent2_config m_a2_cfg;
my_env_cfg m_cfg; Config
A2 Config
A1 Config
super.new(name, parent);
Environment
Coverage
Collector
endfunction Score
Agent1
Config
A2 Config
DUT
endclass
A1 Config
m_env = my_env::type_id::create("m_env",
Environment
this);
Agent2
endfunction
Environment
Coverage
Collector
Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
super.build_phase(phase); Coverage
Collector
endfunction Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
endtask Agent2
Environment
Coverage
Collector
Score
endclass
Agent1
Config
A2 Config
DUT
A1 Config
Tom Fitzpatrick
Verification Evangelist
info@verificationacademy.com | www.verificationacademy.com