New release of this popular class with updated course content!
Duration | Requirements | Agenda
| Scheduled Classes... | ||||||||||||||||||||||||||||||
Contact Esperan for more information or to request an on-site class. |
Testimonials
"Much more efficient (and enjoyable) than trying to learn this stuff from a textbook"
"I'm always impressed with Esperan classes - you guys have actually USED SVA, not just knocked up a training class"
Introduction
What is SystemVerilog?
SystemVerilog is a substantial set of extensions for Verilog2001, including new data types; new constructs; relaxed language rules; synthesis enhancements and powerful features to enable new verification methodologies.
What are SystemVerilog Assertions?
SystemVerilog Assertions (SVA) are a feature of SystemVerilog which allows sophisticated, multi-cycle functional checks to be embedded in [System]Verilog code as a powerful aid to design verification. SVA allows simple Verilog boolean expressions to be built into complex definitions of design behaviour, which can used for verification, functional coverage and formal verification.
Overview
This course gives you an in-depth introduction to SVA, together with guidelines and methodologies to help you create, manage and debug effective assertions for complex design properties. The course is packed full of examples, case studies and hands-on lab exercises to demonstrate real life applications of SVA. We also examine different approaches to coding assertions.
Objectives
- To explain the advantages of Assertion Based Verification (ABV) using SystemVerilog Assertions (SVA).
- To describe in detail the structure of a SystemVerilog Assertion and demonstrate, with realistic examples, the full range of language features.
- To demonstrate, with examples, good and bad SVA coding styles and show design techniques for the most efficient creation of complex assertions.
- To describe, with case studies, a scalable methodology for reuse of SVA properties
- To describe common behaviours which SVA cannot describe and how to overcome these issues
- To explain the issues regarding verification completeness
Duration
2 days. We can also offer standard or customized versions of this course onsite or at the location of your choice.
Requirements
Delegates must be familiar with Verilog, and with running and debugging simulations. No prior knowledge of SystemVerilog is required.
Description
This course covers:-
SystemVerilog Assertion (SVA) Fundamentals
Explaining the benefits and issues with Assertion-Based Verification (ABV). Understanding immediate and concurrent assertions. Describing how simple boolean expressions can be built up into powerful, conditional assertions.
Sequences
Exploring SVA sequences, which allow the definition of multi-cycle design properties. Analyzing sequence design properties to understand their strength and weaknesses. Using replication and composition operators to describe complex parallel, alternate and overlapping design protocols.
Coding Guidelines and Methodologies
Demonstrating good and bad coding styles; using parameters and nesting to create compact, reusable assertions and defining a methodology for writing sophisticated assertions.
Application Issues
Exploring common behaviours that SVA alone cannot describe; describing auxiliary code and how this can be used to overcome this and other practical issues; Defining the problem of verification completeness and how this relates to capturing properties.
Agenda
Course Labs
The course labs aim to give you practical experience of assertion writing; practice in managing and debugging SVA assertions in simulation and an understanding of the methodology of applying assertions to realistic designs.
Lab exercises include:-
- Familiarization with managing and debugging SVA assertions in a simulation environment
- Exploration of SVA features using increasingly complex problems, including an SPI interface and also using auxiliary code and SVA to solve a common problem that SVA alone cannot deal with.
Optionally, with access to appropriate software, you can experience the benefits of using assertions with Formal Verification when designing RTL code
