Ovm to uvm conversion

Hi,
I’m trying to convert OVM to UVM. I’ve found ovm2uvm.pl script in the uvm-1.1 library and also the following instruction from the cookbook.

$UVM_HOME/bin/ovm2uvm.pl --backup --all_text_files --write --top_dir=tb_build where tb_build is the directory having ovm files.

I don’t understand that where to apply the above syntax i.e whether to include in the ovm makefile or somewhere?.

Can anyone guide me how to apply the above syntax and make the perl script to execute?

Regards,
Mahee

Hi,

If anyone want to convert OVM TB to UVM TB please do the following;
→ If the OVM code is in the directory name “env” then apply the following command;
perl $UVM_HOME/bin/ovm2uvm.pl -top_dir /…/…/…/env -all -write

→ After applying; all the O’s will turned to U’s and also the macros and tlm ports and fifos will turned to equivalent uvm syntax.

Manually we have to do the following;

→ we have to change all the connect,build,run tasks or functions to uvm equivalent phases.
→ Replace the set_config_object and get_config_object with uvm_config_db set and get methods.
->Replace global_stop_request with phase.raise and drop objections.

I hope the above things will helpful to viewers.

regards,
mahee.

It’s worth adding that BEFORE you do the conversion you should audit your OVM code to ensure that it doesn’t contain any OVM decremented features which are not supported in UVM. It’s better to fix those in OVM before making the one way conversion.

You may also find the following group of articles helpful.

http://verificationacademy.com/uvm-ovm/OVM2UVM/Overview