Sep 14

UVM register model creation – just a few clicks away

For all the UVM enthusiasts, creating mundane code structure such as the classical UVM Registers just got easier. With all due credits to the power of UVM register package, creation of a quality register model from a given specification is time consuming, error-prone task. Yes it is needed for many IPs.

What many users don’t realize however is that a high quality verification platform such as Questa has built-in help to automate this very process. Here is a quick start guide using Questa’s RegAssist feature.

Let’s take a real example from a live, SPI IP, the complete specification can be downloaded (along with RTL) from: http://opencores.org/project,spi 



That sounds way too familiar to your own IP, isn’t it? Let’s look at a sample register specification within this set of registers, e.g. SPI CTRL register:



So far it looks good. However when it gets down to coding it in UVM, here is what one could end up with:



Taking a deeper look at one register alone, here is how it could look for CTRL register:



This is clearly lot of code indeed! Any human being trying to write this down by hand is bound to make errors. Now how would a smart Questa user do?


Create a simple XL sheet for the register as shown below:




Use Questa’s vreguvm utility to read in this XL/CSV file:


That’s all folks – we have just now generated a whopping 700 lines of high quality UVM code!

So next time when you start a UVM register model for an IP, remember to read this blog, use the right tool. BTW, did we say this is all FREE with Questa? So all the more reason for you to use (assuming you are a current Questa user of-course).

We will soon be uploading a set of XL sheets/CSV files for various IPs in to the download manager at this Go2UVM site, so stay tuned and become more productive at work!



1 ping

  1. Go2UVM publishes a smarter, faster way to UVM register model creation | News from the world of Electronics Design Verification

    […] UVM register model creation – just a few clicks away » GO 2 UVM – for VLSI Designers. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>