Close

Presentation

Enhancing and accelerating Verification with ad-hoc Python scripting
DescriptionThe objective of this paper is to show how it is possible to enhance and accelerate verification by exploiting Python scripting.
Digital verification engineers are very often required to write a huge amount of repetitive code. This is particularly evident for verification structures used to verify memory elements, such as register maps, OTPs or NVMs. The main risk related to this task is the likeliness of committing mistakes while writing the same thing, slightly changed, over and over. Moreover, small changes in specification may lead to a large amount of code to be rewritten.
The solution found lies in a proficient use of the Python language to analyze and elaborate specification files to produce all the code needed for verification, both UVM and Formal.
Two cases are presented: the first one is a specific application for register maps. The second use case is a generic approach to covergroups and assertions writing automation.
Results can be summarized as follows: it was found that both the initial time and maintenance time are reduced across the duration of a single project. Additionally, by sharing the scripts among different team members, the script writing effort becomes neglectable. Lastly, having your own scripts allows you to customize them to your own needs.
Overall, the usage and reusage of python scripts reduces verification time, leading to a shorter time-to-market.
Event Type
Engineering Track Poster
TimeTuesday, June 255:41pm - 5:41pm PDT
LocationLevel 2 Exhibit Hall
Topics
Back-End Design
Embedded Systems
Front-End Design
IP