>

 

 

Random-based Verification:
Writing Functional Coverage for Specman Elite

Course duration: 1 day

Course Curriculum.

This one-day methodology primer shows you how coverage is used in a modern random-based verification environment to verify your complex ASIC, FPGA, and board-level designs. Written specifically for Verisity Specman e based environments, our experienced Verification Methodology Consultants will help guide you through the whys and hows of writing functional coverage tests to increase your verification confidence and productivity.  In this intense, focused course you will learn:

  1.

Random-based Verification Coverage overview helps you understand the rationale for using random-based techniques for verifying today's complex systems, including comparing traditional directed approaches with today's random methods, and how data checking is performed.  We then zero-in on the key reasons why these new techniques raise verification productivity.  We also introduce you to the basics of Verisity's Specman Elite environment for those newly exposed to the tool.

2.

The Verification Plan is the focal point for defining exactly what needs to be tested, and drives the coverage criteria.  In this section, we introduce you to the verification plan (VP) key parts and how to write one.  We then discuss the key layers and phases of implementing the VP, error detections strategies, and 7 principal approaches you're likely to use.

  3.

Functional coverage: how it works is reviewed in this section, including determining what should be covered, how to set attainable coverage goals, and exactly how Specman handles functional coverage.  A group exercise cements your knowledge on how functional coverage works and why it is critical to your verification success.

  4.

Functional Coverage: basic syntax explains much of the gritty detail on how coverage tests are written, reviewing coverage groups, basic, cross and transition coverage items, how to extend coverage groups, coverage configuration, coverage IO commands, and displaying coverage data.  An in-depth individual lab session gives you hands-on experience writing coverage.

  5.

Functional Coverage: when and what explains how to implement coverage via extensions, and how to think in terms of what to cover and when to cover.  We explain in detail the concept of coverage buckets, coverage reporting, and coverage grading.  A lab session brings the day's concepts full-circle.

  6.

Coverage Concerns reviews some of the issues you will face in real-world verification projects using coverage, including addressing verification performance issues, data overloading, memory usage issues, and incremental coverage.  We close this section with an example case study showing how coverage problems and solutions can be very design dependent.  Finally, we review the day's concepts and give you and your team an opportunity to review your verification issues with the Instructor.

Who should attend?

If you need to write coverage in e for your current verification project, you're looking to raise the degree of confidence in your verification project, or if you're simply curious about the roll of Functional Coverage in modern random-based verification methods, then this course is for you. 

The learning environment.

This is an interactive course with numerous individual and group labs that cement the concepts taught in the lecture portion of each session. Students will use the latest version of Verisity’s Specman Elite.

This class can be taught using either Verilog or VHDL as the design language. You can sign-up for or request a class that uses the HDL you prefer, although little reference is made to the HDL model – part of the power of Specman Elite.

How to attend this course.

You can attend a regularly scheduled public course, or schedule your own private session at your facility.  To find out more, contact us toll free now at , or contact us by Clicking Here.

Detailed course outline.

This course is structured as multiple sessions taught over a 6 to 8 hour period. Interactive labs and group exercises are distributed throughout the course. For more information about course content and structure, or if you're interested in customization, please call us toll free at , or contact us by Clicking Here.

 

Section 1:

Random-based Verification Coverage

 

Review of the fundamentals of random-based verification

 

Generating tests with constraints

 

Self-checking with scoreboards and temporal checks

 

How coverage is integrated into the overall test strategy

     
 

Section 2:

The Role of the Verification Plan

 

What is a Verification Plan (VP)?

 

How VPs are created; issues of ownership and format; common mistakes in VP structure.

 

The spiral process for creating a VP.  Hardware phases, verification phases, random with phases.

 

Addressing on-the fly and post-processing self-check strategies

 

Different aspect approaches to verification, including interface-based, feature-based, corner-based.  Design for Verification approaches, directed testcases, and the configuration generator approach.

     
 

Section 3:

Functional Coverage: How it Works

 

The mechanics of coverage and how it fits into the simulator and random-based verification flow.

 

Functional coverage defined and where it takes you.

 

Setting coverage goals.

 

Group Exercise reviewing specification, VI diagram, layers, phases, and aspects, with a full example under review.

     
 

Section 4:

Functional Coverage: Basic Syntax

 

How coverage is enabled (turned on and off) and the four coverage modes.

 

Coding guidelines for coverage.

 

Setting up coverage groups (structs) and selecting coverage options.

 

Determining when to sample data.

 

The three types of coverage items: basic, cross, transition.  How to define them and select cover options and ranges.

 

Using coverage and configuring options.

 

Coverage I/O commands and how to display (show) coverage data

 

Lab Session

     
 

Section 5:

Functional Coverage: Implementation

 

Implementing coverage via extensions to simplify modification.

 

when vs. what: thinking in terms of when to cover and what to cover.

 

Defining when: establishing a point in time when sampled data is stable and valid.  Establishing coverage-specific events; sampling, delayed clocks.  Interface-based coverage;  Race conditions; Emit on what computation; At generation; Hook methods; Handling multiple struct instances.

 

Defining what:  the importance of sampling at the right level;  External coverage points.  Timing and run statistics.  Defining what at generation time. Defining coverage point fields.  Internal coverage points.  On-the-fly coverage items.  Catching errors with the 'illegal' cover option.

 

Identifying holes in your coverage: the importance of holes in identifying what still needs to be done.  Defining coverage goals, evaluating cross-coverage reports.  Setting number of buckets, how to group values into buckets, implications on memory usage.

 

Coverage reports, how they are displayed (GUI, ASCII file), batching and merging multiple runs into one file.  Coverage grading.

 

Lab Session

     
 

Section 6:

Coverage Concerns

 

Addressing verification system performance.  The impact of coding on simulator/environment speed.  The true cost of coverage.  Solutions for improving performance.

 

Dealing with data overload -- what are you going to do with all of that data?  Intelligent data sampling to reduce data load.

 

Minimizing memory usage, profiling memory usage, garbage collection.

 

The role of incremental coverage.

 

Lab Session: Case study

     

Schedule your Verifica course today.

There is no substitute for a private course taught on-site at your facility, particularly when you have 6 or more engineers to train. Simply put, for large groups it’s always less expensive for us to come to you than the other way around. And if you want a custom course, we can arrange it. Do you need to squeeze a four day course into three? No problem. We know how to do it without compromise. And if you need a course on short notice, we can be there sooner than you think. For more information, contact us at:

Verifica – the right kind of verification training, tuned to your needs.  Contact us now.