Overview
?????
In this hands-on workshop, you will learn how to develop a VMM SystemVerilog test environment structure which can implement a number of different test cases with minimal modification. Within this VMM environment structure, you will develop stimulus factories, check and coverage callbacks, message loggers, transactor managers, and data flow managers. Once the VMM environment has been created, you will learn how to easily add extensions for more test cases.
????? After completing the course, you should have developed the skills to write a coverage-driven random stimulus based VMM testbench that is robust, re-useable and scaleable.
Objectives
At the end of this workshop the student should be able to:
- Develop an VMM environment class in SystemVerilog
- Implement and manage message loggers for printing to terminal or file
- Build a random stimulus generation factory
- Build and manage stimulus transaction channels
- Build and manage stimulus transactors
- Implement checkers using VMM callback methods
- Implement functional coverage using VMM callback methods
Audience Profile
?????
Design or Verification engineers who develop SystemVerilog testbenches using VMM base classes
Prerequisites
?????
To benefit the most from the material presented in this workshop, students should:
Have taken the SystemVerilog Testbench workshop
OR
- Generating OpenVera testbench templates
- Creating/Using OpenVera Virtual Ports
- Developing testbench components as OOP classes
- Creating Coverage Group for functional coverage
Course Outline
1
- SystemVerilog class inheritance review
- VMM Environment
- Message Service
- Data model
2
- Stimulus Generator/Factory
- Check & Coverage
- Transactor Implementation
- Data Flow Control
- Scenario Generator
- Recommendations