Super.new(name, parent) point which component class

In reply to taufeeq_khan:

uvm_component parent = null

provides a default value to the parent argument. A component whose parent is null is considered a top-level module. When you create a child component, you pass ‘this’ as the parent argument so UVM knows the component hierarchy

child = child_t::type_id::create("child",this);

We call super.new() in the constructor to make sure that the name and parent arguments get passed down into the constructors of the UVM base classes, which are necessary to manage the hierarchy.

I’d like to point out once again that you shouldn’t call new() directly when instantiating a component. If you do, you’ll miss the Factory functionality. You should call create() and that in turn will call new() on the class type returned by the factory.