Verification with SystemVerilog
Verification with SystemVerilog
COURSE CODE: LANG-SVVER
BLT offers a combined course for this material: Designing and Verification with SystemVerilog
This course provides an introduction to SystemVerilog constructs for verification.
This emphasis is on:
- Writing testbenches to verify a design under test (DUT) utilizing the constructs available in SystemVerilog
- Reviewing object-oriented modeling, data types, reusable tasks and functions, randomization, code coverage, assertions, the Direct Programming Interface (DPI), and interprocess communication
In this two-day course, you will gain valuable hands-on experience. Incoming students with a Verilog background will finish this course empowered with the ability to more efficiently verify designs.
2-Day Instructor-led Course | Price USD | Training Credits |
---|---|---|
Hosted Online - $600/day | $1200 | 12 |
In-Person Public Registration - $600/day | $1200 | 12 |
Printed Course Book (A PDF book is included in the course fee) | $100 | 1 |
Private Training | Learn More | Learn More |
Coaching | Learn More | Learn More |
Be the first to know. Sign up for our newsletter.
Who should attend:
Hardware and verification engineers.
Software Tools
- Vivado Design Suite
Hardware
- Architecture: N/A*
- Demo board: None*
* This course does not focus on any particular architecture
Skills Gained
After completing this comprehensive training, you will have the necessary skills to:
- Describe the advantages and enhancements to SystemVerilog to support verification
- Define the new data types available in SystemVerilog
- Analyze and use the improvements to tasks and functions
- Discuss and use the various new verification building blocks available in SystemVerilog
- Describe object-oriented programming and create a class-based verification environment
- Explain the various methods for creating random data
- Create and utilize random data for generating stimulus to a DUT
- Identify how SystemVerilog enhances functional coverage for simulation verification
- Utilize assertions to quickly identify correct behavior in simulation
- Identify how the direct programming interface can be used with C/C++ in a verification environment
- Describe the interprocess communication and threads
Course Outline
Day 1 | Day 2 |
---|---|
Introduction to SystemVerilog for Verification Provides an introduction to the SystemVerilog language. {Lecture} Data Types Explains SystemVerilog data types and arrays, such as fixed-size arrays, dynamic arrays, and associative arrays. {Lecture} Tasks and Functions Reviews SystemVerilog tasks and functions {Lecture, Lab} SystemVerilog Verification Building Blocks Describes SystemVerilog verification building blocks, such as program, interface, clocking, and packages. {Lecture, Lab} Object-Oriented Modeling Introduces object-oriented modeling, such as encapsulation, inheritance, and polymorphism. {Lecture, Lab} | Randomization Illustrates randomization methods, such as randcase, random sequence, and class-based randomization. {Lecture, Lab} Coverage Describes functional coverage and usage of covergroup, coverpoint, and bins. {Lecture, Lab} Assertions Reviews the different types of assertions. {Lecture, Lab} Direct Programming Interface Introduces the Direct Programming Interface (DPI) for interacting with C languages. {Lecture, Demo} Interprocess Communication Describes the interprocess communication between the different processes used to model a complex system. {Lecture} |
Please note: The instructor may change the content order to provide a better learning experience.
Prerequisites:
- Designing with Verilog course
- RTL coding using Verilog HDL
- Basic digital design concepts
- Understanding of flip-flops and logic gates
- Basic understanding of synchronous design