Global training solutions for engineers creating the world's electronics

Easier UVM - for VHDL and Verilog Users: Kinds of component

John Aynsley, Doulos, March 2011


The Various Kinds of UVM Component

Although we introduced the class uvm_component above, that class is not used directly very much in practice. Instead, UVM provides several alternative kinds of component for use in various contexts. Each of these component types is a different SystemVerilog class, and each of these classes extends uvm_component, which means that each inherits all the methods and properties of their base class uvm_component.

Here is a list of the main kinds of UVM component. There are others, but they are less important.

  • uvm_agent
  • uvm_driver
  • uvm_env
  • uvm_monitor
  • uvm_scoreboard
  • uvm_sequencer
  • uvm_subscriber
  • uvm_test

Easier UVM recommends that you select components from the list above rather than just using the vanilla uvm_component. This will make your intent clearer to the reader.

The expected role of each kind of component has been described extensively elsewhere. See for example the Getting Started tutorial.


Next:  From HDL Processes to the UVM Run Phase
Previous:  From Design Entities and Modules to the UVM Component

Back to Easier UVM - for VHDL and Verilog Users

Back to the full list of UVM Resources