>

 

 

Introduction to Specman EliteTM
Verification Methods
Including Verisity eRMTM

Course duration: 3 days

Course Curriculum.

This three-day interactive course teaches you the basics of the e language, the Specman Elite environment and the basic skills you need to implement testbenches for complex ASIC, FPGA and board-level designs. The course is rich in methodology hints and tricks used by our verification experts who regularly verify 10+ million gate systems. With the help and guidance of our verification experts, you will learn:

  1.

The introduction to e and Verisity’s Specman Elite presents the tool, its interfaces, and its language. This section explains why you would use Specman Elite over an HDL and describes the relationship between Specman Elite and your simulator. You see how to invoke the tool and use the GUI. This section also gives you a jump start on the most basic commands.

2.

e – The Language describes structs, units and methods, and working with data packets.

  3.

e – The Language Actions details the syntax and structure of the language in a familiar single-thread, sequential environment similar to C or PERL. This section also introduces an important feature, unique to Verisity’s Specman Elite, that allows existing code to be user-extended without modification. In addition to learning how to extend structs, methods, and types, you’ll learn about language actions.

  4.

The "spec" in Specman Elite comes from the ability to generate data values and sequences that follow a set of constraints. This section presents how your design specification is turned into a set of constraints. Lists are introduced for the generation of sequences and physical fields are used to map high-level data types to bit-level data streams. The basic concepts of automatic random data generation, object-oriented data representation and inheritance are also presented.

  5.

The notion of time in Specman Elite is introduced with the concept of events. Events, coupled with temporal expressions and time-consuming methods, can express the most complex time-based relationships and bus-functional models.

  6.

Verifying your design involves interfacing your Specman Elite testbench with your Verilog or VHDL model. This section presents how to access signals in the HDL simulation and how X's and Z's are handled. Events and expects are used for verifying the temporal dimension of your design's response.

  7.

Functional coverage is an important concept that is well supported by Verisity’s Specman Elite. Just as code coverage is used to measure how well a testsuite executes the code of your design, functional coverage is used to measure how thoroughly a testsuite exercises your design.

  8.

Methodology guidelines identifies key guidelines and steps through a complete example to illustrate making the best use of Specman Elite.

  9.

Miscellaneous utilities introduces you to the built-in productivity-enhancing features of Specman Elite and how to best implement a verification environment with it.

Who should attend?

If you need to verify a design with a high-degree of confidence using Specman Elite, implement testbenches, and have little or no prior knowledge of the fundamentals of e or Verisity’s Specman Elite, then this course is for you.

The learning environment.

This is an interactive course with numerous 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. Be sure you sign-up for or request a class that uses the HDL you prefer.

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 three days. 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:

Specman Elite -- The Tool.

 

Why use a high-level verification language. Introduction to the Specman Elite tool. The relationship between Specman Elite and your simulator.

 

Lab Session

     
 

Section 2:

e - The Language.

 

Syntax rules. Comments. Code hierarchy.

 

Structs and global structs. Predefined and enumerated types. Lists and list indices. Units and using units and structs.

 

Methods and using methods. Variables. Printing using the out and print commands.

 

Lab Session

     
 

Section 3:

e - The Language Actions.

 

Operator precedence. Controlling loops. Using actions. Accessing HDL objects.

 

Extending types, lists, structs and methods. Inheritance using conditional blocks and like.

 

Lab Session

     
 

Section 4:

The "spec" in Specman.

 

Data generation and constraints. Hard and soft constraints. Compound constraints.

 

List operators. Generating sequences using lists. Implicit variables.

 

Lab Session

 

Physical data fields versus logical data fields. Packing and unpacking.

 

Lab Session

     
 

Section 5:

The Notion of Time.

 

Declaring events. Temporal expressions and operators. Evaluation of temporal expressions.

 

Time-consuming methods (TCMs). Invoking and synchronizing TCMs. fork/join in Specman Elite. Modeling state machines.

 

Synchronizing events with the HDL simulator. Events and error checking. Predefined events.

 

Lab Session

     
 

Section 6:

Verifying your Design

 

Working with Verilog (or VHDL). Attaching events to HDL events. Referencing HDL signals.

 

Calling Verilog tasks (or VHDL procedures) from Specman Elite. Specman Elite timescale. Using a waveform viewer. Dealing with X's and Z's.

 

Switching between the Specman Elite and HDL simulation. Saving and restarting.

 

Data checking. Using a reference model. Run-time expected data generation.

 

Temporal checking. Expects.

 

Lab Session

     
 

Section 7:

Functional Coverage

 

Definition of functional coverage. Functional coverage versus code coverage. Functional coverage and the verification plan.

 

Coverage groups and coverage commands. Incremental coverage metrics. Reporting functional coverage metrics.

 

Lab Session

     
 

Section 8:

Methodology Guidelines.

 

Structuring your verification environment. Verisity eRM guidlelines.  Configuration management. Directory structure. File naming conventions.

 

Coding guidelines specific to Specman Elite. Initializing testcases. Run-time generation.

 

Writing a verification plan. Implementing your verification plan. Constraint-driven random verification. Feedback from functional coverage. Self-checking strategies. Regressions.

 

Compiled versus interpreted simulation.

 

A complete example highlighting how to best use Specman Elite. Reviews the design, testbenches, models, coverage, and injecting errors. Runs the example at these and other key steps.

 

Lab Session

     
 

Section 9:

Miscelaneous Utilities

 

Pattern matching and other string operators. File I/O. Interfacing to a subshell. Defining macros to extend the language.

 

Lab Session

     

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.