Jump to content

Can we instantiate uvm_env in a top level ovm_env class?

Recommended Posts

We are using OVM until yesterday for a big Soc verification.

The top level Soc OVM ENV contains individual IP level OVM components (OVC's) and we are planning to migrate to UVM soon.

Out of the 10 IP OVC's, one of IP components is migrated to UVM.

Can we instantiate this IP UVC into Soc level OVM ENV and test it? Is it practically possible? do we need to wait until all the IP components are migrated to UVC's in order to change the Soc ENV also to a UVM ENV?

Please suggest.

Thanks in advance,


Link to comment
Share on other sites

Unfortunately, there is no backward compatibility layer to mix OVM and UVM components in a single testbench hierarchy. This decision has kept more people stuck in OVM environments than most people realize.

It is possible to loosely couple two separate environments, as long as you never import both UVM and OVM packages into the same scope. You will need to manage all communication between the two testbenches either through RTL/interfaces, or with adapter classes.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...


coexistence of ovm/uvm can be done easily, loosely coupled (for instance ovm tlm talking to uvm tlm) could be done but as soon as there is more interaction like phase synchronization, common-build etc things get complicated. an alternative path to address this problem is to create a facade around uvm and makes it look like ovm. as very simple example you could do a "typedef ovm_component uvm_component;". doing so allows you to run an ovm based tb straight on uvm without changing a single line in the code. obviously the solution works the better the closer you are to the common ovm/uvm core.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...