|
Course duration: 3 days
This
three-day interactive course teaches you how to overcome the
"white page syndrome" – Now that you know Verilog, what’s
next? In this class, you will go through the step-by-step
process required to plan and implement a sophisticated,
self-checking verification environment for first-time success.
The course is rich in
methodology hints and tricks used by our verification experts
who regularly verify 10+ million gate systems – experts with
knowledge that only comes from being the independent
voice in the EDA verification industry. With the help and
guidance of our experienced Verilog verification consultants,
you will learn:
| |
1. |
The basics of writing testbenches presents how
functional verification fits into the overall design
process. The experienced RTL designer or Verilog novice
is then introduced to the concepts of applying stimulus
and observing response in a more sophisticated fashion
than using simple synchronous test vectors. |
|
|
2. |
Advanced behavioral
modeling
techniques introduces unsynthesizable language
constructs that are indispensable when writing
testbenches. Techniques for packaging bus-functional
models to make them easy to reuse across different
testbenches are presented. Defensive modeling techniques
are shown: they help reduce debug time and enhance the
portability of the Verilog code. |
| |
3. |
Advanced verification
techniques are
presented to minimize maintenance and code duplication
between numerous testbenches. Complex verification
sequences are decomposed into high- and mid-level
service procedures on top of the low-level procedural
interface provided by the bus-functional models. The
techniques for properly writing a pin-accurate
full-functional behavioral model are presented. When
properly written, a behavioral model is not even close
to a RTL model, and simulates 10 to 100 times faster. |
| |
4. |
Verilog Expert Topics,
we answer the frequently asked questions from thousands
of students and show you the lesser known techniques
that save you real project time. |
If you need
to verify a design with a high-degree of confidence, implement
testbenches creating reusable verification components,
minimize code development effort, increase productivity and
have little or some prior knowledge of the fundamentals of e
or Specman Elite, then this course is for you.
Successful
completion of Verifica’s course
Introduction to
Verilog Verification Methods
or equivalent experience with Verilog.
This is an
interactive course with numerous labs that cement the concepts
taught in the lecture portion of each session. In our public
courses, you may choose from Synopsys VCS or Model Technology
ModelSim as your simulator for labs. For private on-site
classes, you may use the design environment of your choice:
Cadence Incisive platform or NC-Verilog, Synopsys VCS, or
Model Technology ModelSim. SignalScan or Undertow can also be
used to view waveforms.
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.
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: |
Introduction to Testbenches |
| |
 |
Functional verification in
the overall design process. How does it differ from
formal verification or hardware testing? How do you make
sure that you verify against the design intent? |
| |
 |
File input and output. How
to report and display simulation results. How to write
programmable testbenches. |
| |
 |
Lab Session |
| |
 |
How to apply stimulus
using behavioral constructs. Reporting results in a
meaningful way. Avoiding having to look at waveforms. |
| |
 |
Lab Session |
| |
 |
How to abstract operations
using bus-functional models. Embedded output validation
in a self-checking bus-functional model. |
| |
 |
Lab Session |
| |
 |
Bus-functional models for
CPU buses and interfaces. How to model an asynchronous
protocol and return data uninterpreted. |
| |
 |
Lab Session |
| |
 |
Adding observability
inside a model and white-box verification. Hierarchical
references. |
| |
 |
Lab Session |
| |
 |
Full-timing gate-level
simulation with SDF back-annotation. |
| |
 |
Lab Session |
| |
|
|
| |
Section 2: |
Advanced Modeling Techniques |
| |
 |
Specification of a design that needs to be verified. |
| |
 |
Lab Session: design a
verification plan |
| |
 |
Modeling asynchronous protocols and timing checks. The
disable statement and named blocks. The fork/join
statement. Local declarations. |
| |
 |
Lab Session |
| |
 |
Parameters compared to `defined symbols. A set of tasks
implementing a complete bus-functional model for a CPU.
Defensive modeling techniques. Preventing the simulation
from hanging up forever. |
| |
 |
Lab Session |
| |
 |
Concurrent task activation. Packaging tasks to
facilitate distribution and reuse. |
| |
 |
Lab Session |
| |
 |
Detecting and reporting concurrent task activation.
Defensive modeling techniques for packaged
bus-functional models. |
| |
 |
Lab Session |
| |
 |
Writing configurable bus-functional models. Emulating an
enumerated type for symbolic values. |
| |
 |
Lab Session |
| |
 |
Slave bus-functional models. Timing restrictions imposed
by them. Making sure no data is missed by slave models. |
| |
 |
Lab Session |
| |
|
|
| |
Section 3: |
Advanced Verification
Techniques |
| |
 |
Creating a functional verification infrastructure to
minimize maintenance and duplicated code across several
testbenches. |
| |
 |
Lab Session |
| |
 |
Layering verification
services into high- and mid-level service tasks on top
of the low-level procedural interfaces provided by the
bus-functional models. Writing a task verifying an
arbitrary memory-mapped register and describing the
characteristics of a particular registers. Implementing
the testcase verifying the correct implementation of the
memory-mapped register interface. |
| |
 |
Lab Session |
| |
 |
Verifying the data
transmission capabilities of the design. Verifying all
possible configurations of a design. Stressing the
design at maximum speed. Eliminating wait states created
by output checking. |
| |
 |
Lab Session |
| |
 |
The benefits of behavioral
models. The characteristics of a properly written
behavioral models. Avoiding the RTL mindset when writing
a verification model. Modeling techniques for
memory-mapped registers. |
| |
|
Lab Session |
| |
 |
Bus-functional
models as part of behavioral verification models. Tying
multiple interfaces together in a behavioral model.
Writing a full-functional behavioral model. |
| |
|
Lab Session |
| |
|
|
| |
Section 4: |
Verilog Expert Topics |
| |
 |
What they did not teach you in your last Verilog class:
portability issues in Verilog code. How to make sure
your model works on any Verilog simulator using any
command-line options. |
| |
|
-
Race conditions.
-
Execution order at simulation startup
-
Unspecified behavior in the IEEE standard
-
Pin directions
-
Resolving hierarchical names
|
| |
 |
What is the synthesis subset. Partitioning and
describing combinational and sequential functions.
Inferring flip-flops and describing FSMs. Coding style
issues. |
| |
 |
Modeling clock generators.
Aligning events in synchronized clocks: how to deal with
simulation events skew. |
| |
 |
A real-life example of
misunderstanding how the non-blocking and blocking
assignments work. |
| |
 |
Modeling ROMs. Synthesis
considerations. Simulation efficiency considerations for
functional verification. |
| |
|
|
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.
|