UVM testbench
testbench 一般例化DUT和 UVM test class, 并配置他们之间的connection。
值得注意的事,UVM test在run-time时动态例化。
UVM test
UVM test是top-level的component,典型的做法是,它执行三个反面任务:
- 例化top-level的environment
- 配置environment(通过factory overrides和configuration database)
- 通过invoking sequence来产生stimulus, 经environment作用于DUT
典型做法,做一个base test来例化enviroment和其他common items,然后其他的test在这个base test上extend来invoking目标sequence。
UVM environment
UVM enviroment 是一个层次化的(hierarchical) component,它将各个有相互关系的verification component group到一起。一般包含UVM agent, UVM scoreboard等。
UVM scoreboard
transaction level数据比对
UVM agent
包含 UVM sequencer, UVM driver和UVM monitor.