// constructor
function new (string name, uvm_component parent);
super.new(name, parent);
endfunction : new
Why do we have to declare new constructor in every extended UVM class as its already available in UVM base classes
// constructor
function new (string name, uvm_component parent);
super.new(name, parent);
endfunction : new
Why do we have to declare new constructor in every extended UVM class as its already available in UVM base classes
In reply to bachan21:
Base class arguments do not have default values .
So we provide values via extended class constructor .
In reply to bachan21:
That is the only reason. It is a SystemVerilog requirement. If your base class chooses to have constructor arguments without defaults, your extended class must provide a constructor that passes arguments to the base class constructor.