UVM phases

Is it possible to code an UVM environment without any phases? what are the disadvantages?

In reply to priyap:

No. The environment gets built in the build phase. Nothing would exist as nothing would get built…

In reply to wpiman:

… and nothing can be executed in this case.

In reply to priyap:

Is it possible to code an UVM environment without any phases? what are the disadvantages?

Technically, it is possible, but it depends what you mean by a UVM environment. You can certainly use features of the UVM like the reporting and resource DB that do not involve phasing. I recommended this to people who are not ready to start from scratch when they have an existing non-UVM testbench. And you can create a component hierarchy by using the class consturctor instead of the recommended practice of using the build_phase, but then you loose the override capability of the build_phase because you cannot override a class constructor.

But if you try to create any class-based testbench, you quickly run into problems that the phasing solves. Mainly, how to communicate with other class objects that may or may not exist at the time you want to communicate with them, and how to know when to end a test.

In reply to dave_59:

Thank you Dave.