Top - Down and Bottom - Up Approach

Why is the build() phase in OVM executed in a Top - Down fashion and the other phases in Bottom - Up fashion?
Why isn’t the connect phase not executed Top - Down just like build()?
Is there a specific reason to this?

Thanks in Advance
Jijo

The build phase works top down since the testbench hierarchy may be configurable so you need to build the branches before the leaves.

The connect phase is intended to be used for making TLM connections between components, which is why it occurs after build. It works bottom up so that each connect() call can check that its got the correct implementation all the way up the design hierarchy, if worked top down this would not be possible.

In reply to mperyer:

Dear mperyer,

Can you please throw some more light on the explanation for connect phase’s bottom up manner?

Specifically for the the explanation by you:
“It works bottom up so that each connect() call can check that its got the correct implementation all the way up the design hierarchy, if worked top down this would not be possible.”

Regards,
Vishal