As a verification engineer, I have always found creating coverage code to be one of the more time consuming tasks to actually execute on for two reasons:
1. While the general process of coverage creation is conceptually simple; in practice, actually figuring out what to can turn out to be more difficult then first anticipated.
2. Sitting down and actually coding all those coverage points can become somewhat tedious. This is especially true if you need to go beyond the basic coverage constructs and use the various coverage options.
Assuming that many of you may have had similar experiences, today I would like to talk a little about a Cadence tool that has really helped to address these problems. The tool is “Enterprise Planner”, and it’s one of the main components inside Enterprise Manager that support Cadence’s Metric Driven Verification (MDV) methodology. The MDV methodology contains a lot of good practices, automation tools, as well as other helpful information to get you started in creating a good verification plan and tracking your verification to that plan.
If you have had similar experiences as me, someone, somewhere has probably mentioned creating a verification plan as being the solution to problem (1) above. However, for the purposes of this discussion, I am going to skip over this initial issue (and address it in a future post) but I will briefly digress and encourage you to further explore Cadence’s MDV solution in one or more of the following ways.
A. Check out this online article in Electronic Design News: The OVM shines spotlight on automated metric-driven verificationB. Explore the wealth of MDV knowledge found in the SOC Verification Kits from Cadence (available on Sourcelink). C. (Contact your friendly local Cadence AE for a more personal introduction to MDV and related best practices.)
Back to subject at hand:Let me continue by assuming that either through Enterprise Planner or by some other means that we have a good verification plan and are now ready to implement that functional coverage in e. This is where Enterprise Planner provides the following unique features specifically for the e verification engineer.
1. Ability to create base e code infrastructure needed for coverage collection2. Ability to implement e functional coverage via GUI entry3. Ability to export that e code in single or multiple files for integration into existing environment.4. Ability to read in existing e code to use as building blocks for new coverage
The following slide is a very high-level summary of the process of how this is done (click on the image to enlarge):
Let’s take a second to connect this slide with your verification process. Specifically, using Enterprise Planner, a verification engineer can: A. Quickly create a verification plan representing the desired goals of the verification effort (FYI: this can be quickly done with Enterprise Planner’s "Spec Annotation" capability , which in a nutshell is awesome way to create a detailed verification plan that is closely linked to your design documentation.)B. Start implementing the e code that can be used to create the basic structures in the environmentC. Create cover groups that contain complex coverage points using the various coverage optionsD. Export all of that code into a well structured set of files that are commented and ready for use.
The key thing to realize is all of (A) through (D) can be done with only a basic knowledge of the e language. Pretty cool if you ask me!!
Finally, to better illustrate this whole process, please check out the following introductory video. If you like what you see, I welcome you to contact me for the very detailed, step-by-step training video that's available upon request (which will be included in a future release of the SOC Kit). If the video does not launch please click here.
Until next time!!
Brett LammersAdvanced Verification Core Competency Team MemberCadence Design Systems, Inc