What are the features inherited from VMM to UVM

Hi All,

I heard that UVM is inherited from both VMM and UVM. When I go through the UVM user guide, I don’t see any difference between OVM and UVM. What are the features inherited from VMM? VMM has very good features like start_xactor() stop_exactor() and channels, RAL etc… Do We expect those features in new versions of UVM?? if not where do we get the interoperability between UVM and VMM? It may be foolish question please any one clarify this.

regards,
Lal Kumar,
Verification Engineer.

This question might be better answered at UVMworld.org.

Some notable VMM features are the message catchers and callbacks (which is also available in OVM).

Accellera has not yet released a VMM<->UVM interoperability library though there are some early access versions available.

I would say the key difference between OVM and UVM is what is now called uvm_reg. This was based on the VMM’s RAL model, but did have to be re-worked to utilize the UVM’s sequence and phasing sematics. Another difference between the OVM and UVM (alothough not from the VMM) is the new parametrized resource and configuration mechanism. You can now configure more than just simple integers, strings and objects; and use them in sequences without being tied the component hierarchy.

Accellera did release an OVM 2.0.2 ↔ VMM 1.1 interoperability kit. They do not have and are not working on a UVM<->VMM interoperability kit. I would think activity in UVM development would have to settle down before anyone invest in the time to develop such a kit. Integrating the phasing mechanisms is a key part of making that work, and that’s what they are still working on in the UVM.