by Mark Litterick, Verification Consultant, Verilab GmbH
Many companies have a goal to migrate to UVM but this must be achieved without disrupting on-going projects and environments. In our current clients we have all possible combinations of migration paths, a desire to move new projects to UVM and a definite need to support OVM for a good few years. This article presents an interesting OVM to UVM migration story where we successfully translated a whole family of verification components from OVM 2.1.2 to UVM, assessed the impact, and then reworked the original OVM code, which was still live in a series of ongoing derivative projects, to make the ongoing translations totally automatic and part of the project release mechanism.
The key was to push all functional modifications possible into the OVM world including code that is deprecated in the UVM like the old sequence library utilities, and to perform minimal UVM work in the very last layer. This approach means that the ongoing project can still endure with OVM, but new projects and near future derivatives can go straight to UVM. In fact the translation layer is such that with only a few limitations we can actually translate back from UVM to OVM in order to deliver VIP to other projects that do not yet have the ability to migrate to UVM.
While it is generally accepted that the Universal Verification Methodology (UVM) is the way