Where is the ovm_top come from?

Referring to the OVM file, named ovm_globals.svh (http://www.specman-verification.com/source_bank/ovm-2.1.2/ovm-2.1.2/src/base/ovm_globals.svh.php)

I see a lot of method, exp:
ovm_top.ovm_report_info(id, message, verbosity, filename, line);
ovm_top.ovm_report_warning(id, message, verbosity, filename, line);
ovm_top.ovm_report_fatal(id, message, verbosity, filename, line);

May I know, where does the ovm_top branch from?

Hi Xierian,

ovm_top is the singleton instance of the class ovm_root, it is created by OVM automatically.
The ovm_top serves as an implicit top-level component. Any component whose parent is specified as NULL becomes a child of ovm_top. Thus implicitly, all OVM components in simulation are descendants of ovm_top.

ovm_top provides the phasing mechanism for all the components, several convenience methods such info. reporting, run_test etc.

Refer the following page (OVM library reference guide) for more details:
https://verificationacademy.com/verification-methodology-reference/ovmworld/docs_2.1.2/html/files/base/ovm_root-svh.html

Thanks,
Rajkumar.