Professional Documents
Culture Documents
Lect 1 Factory Concept
Lect 1 Factory Concept
▪ UVM Factory
▪ Allows an object of one type to be substituted with an
object of derived type without testbench edits/re-
compile
▪ Works on the concept of polymorphism which allows a
derived class object to be accessed using a base class
type handle
▪ Overriding Transactions
▪ Good Packet and Error Packet (derived from Good
Packet)
▪ If sequencer/driver/monitor are parameterized of Good
Packet – then a top level test can replace the good packet
with an errored packet in the test
▪ Overriding Components
▪ If there are multiple driver components (eg: if a design has
a 10G port that can also be configured as 10 1G ports)
▪ Based on config – same environment can build different
drivers by selecting the ones from factory
Introduction to OVM and UVM 02/20/202 4
3
UVM Factory - Coding
▪ Components Registering
`uvm_component_utils(component_name)
▪ Transactions Registering
`uvm_object_utils(transaction_type)
▪ UVM ports and covergroups not registered with factory
▪ Use new() to construct them
▪ Objects Constructor