Quantcast
Channel: Cadence Functional Verification
Viewing all articles
Browse latest Browse all 652

Ouch that’s Hot! Register Access Heatmap

$
0
0

We’re proud to see that many expert verification teams exploit the powers of UVM vr_ad, in implementing intricate verification environments in e. The vr_ad is an open source package, part of UVM-e. It provides means to access the DUT registers and memory, monitor the accesses and check the DUT registers behavior. It is indeed a flexible powerful utility. But with power comes responsibility. During the verification process, it’s important to know what registers are accessed in the memory and how much. The vr_ad utility is an excellent tool that provides this information. However, as the famous quote says: “The brain processes visual information 60,000 times faster than text” - 3M Corporation, 2001.

Whether this statistic is precise or not, there are cases in which visual presentation indeed is useful. For this reason, we present a new addition on top of the vr_ad utility – the Register Access Heatmap. The Register Access Heatmap displays the read/write access amounts to registers in a heatmap. The following is an example in Gradient mode:

I’d like to see the accesses in a precise format, how would I do that?

To see the exact value in the graph, you can hover over the relevant area. In addition there is an option on top of the graph which enables switching between Gradient and Sharp modes. The Sharp mode displays the exact shades in the heatmap, as following:

The inner workings of the tool:

The tool is made up of python files and an e file, which are connected using the neat python interface for e (make sure you are familiar with Specman Python interface: python interface blog post):

@import_python(module_name="create_heatmap", python_name="heatmap_from_reg_use")
heatmap_from_reg_use(…) is imported;

The e file extends from the vr_ad utility and extracts all accesses to registers:
 

extend vr_ad_sequence_driver {
      send_to_bfm(ad_item:  vr_ad_operation) @clock is also {
           // Save register name and access type
      };
};

From there the data flows through the tubes of the python interface to the python files, which display it in the heatmap.

Running the tool:

The tool is open-source(!) and accessible on GitHub: Register Access Heatmap GitHub. The README attached to the file provides examples of running the tool on files in the vr_ad utility. You are welcome to try them out.

Happy visualizing!

Karen Nativ
Specman Team


 


 


Viewing all articles
Browse latest Browse all 652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>