• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Verification
  3. Ouch that’s Hot! Register Access Heatmap
teamspecman
teamspecman

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
Specman
Specman e
vr_ad
specman elite

Ouch that’s Hot! Register Access Heatmap

18 Oct 2020 • 1 minute read

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


 


 

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information