The Easy Way To Start Using OVM-e Sequences Print
User Rating: / 2
PoorBest 
Thursday, 24 December 2009 15:41

Industry-standard methodologies are great, really. It would be so nice if our entire verification environment (VE) were OVM-e (eRM) compliant, wouldn’t it? But what if there are legacy components in our env that don’t follow any specific methodology and we still want to make them speak OVM-e?

 

What we often want to do is take our legacy driver and monitor (or whatever TCMs that provide this functionality) and make them a nice self-contained Interface eVC with a Sequence mechanism and all that stuff. Now the good news is that usually this is not a big problem. So here are Think Verification’s 5 easy steps to start using sequences in your env:

1. Redefine your transaction - go back to your original transaction definition and make it inherit from any_sequence_item.

2. Get hold of another eVC that’s good for your application and extract its skeleton (delete all protocol-specific code but leave all units, struct method headers, interconnection). Alternatively, use a script such as vBuilder to build a skeleton for you. Think Verification strongly recommends changing all file and struct names to be consistent and add a unique prefix to all objects and types (very useful, also required by eRM rules). A small perl utility can help, try this.

3. Fill your monitor unit with protocol-specific content (e.g. implement the while TRUE loop in the main tcm).

4. Fill your BFM unit with protocol-specific content (e.g. implement the drive_transaction tcm).

5. Prepare a sample test file which extends the MAIN sequence and generates one or more items to test your new eVC.

And one final tip for writing new eVCs - Always have a known-to-be-good eVC nearby as reference!

Voila! Now you have a new eVC and you can send your legacy componets away to the National Museum of Verification History. It’s now time to develop your Sequence Library. Happy Sequencing!

 

 
More articles :

» How To Choose Your Verification Service Provider

If you’re looking for an outsourcing solution for your verification problem then a quick look around will tell you that there are many alternatives out there. The number of verification contractors has grown rapidly over the recent years and today...

» What Makes A Great Verification Team GREAT?

Your tool provider won’t tell you that, nor will those fancy methodology books, but verification is not all about mastering technical skills. True, those will help you very much in your daily work but verification is first and foremost TEAM WORK....

» Be Assertive

You know what they way - sometimes small things can make a big difference. Setting your A/C thermostat to a reasonable temperature can help save energy, sending flowers to someone you care about and so on. This is also true in programming. Sometimes...

» How To Validate Type-Casting In OVM-e

Before type-casting an e variable ("as_a"), we often want to check the validity of the operation (this is quite similar in concept to $cast in SystenVerilog). The reason is simple, in case the casting operation failed we would end up with a fatal...

» Is ABV Becoming Mainstream?

Is Assertion-Based Verification (ABV) becoming mainstream? This question popped up today at Mentor’s ABV . Assertions in general and ABV in particular make another approach that you can use to verify your design. Usually ABV alone is not...