UVM training is a 9 weeks course provides participants with in depth exposure to all the UVM constructs using practical use case examples. Course includes 15+ assignments covering all the constructs in depth.
Course also includes multiple hands on projects based on APB, AHB test bench development. Also includes TB development for AHB interconnect model.
By working on below projects, student will get familiar with:
- AHB and APB standard protocols
- Industry standard simulation tools like Questasim & VCS
- Develop debug expertise
- UVM based TB development for complex Designs
AHB2.0 is an AMBA protocol used for medium performance applications. I was part of UVC development team. UVC was developed to work as both master and slave. Developed all the UVC components and validated UVC for various AHB features.
What student learns in this project:
- Develop UVC Architecture to be compatible with both master and slave behavior
- List down AHB features and develop testplan for validating AHB UVC
- Develop AHB UVC components
- Integrated AHB Master UVC with slave UVC
- Develop sanity testcases and debug the same
- Develop functional tests and debug the same
APB is an AMBA protocol used for low performance applications. I was part of UVC development team. UVC was developed to work as both master and slave. Developed all the UVC components and validated UVC for various APB features.
What student learns in this project:
- APB Protocol
- APB architecture
- Features
- Signals
- Timing Diagrams
- APB UVC Architecture
- APB UVC Component Coding
- APB UVC Sequence & Test Development
- memory Test bench development
- memory Test bench Architecture
- APB UVC integration
- TB Component Coding
- Testcase coding and debug
FIFO is a design block used for connecting components working at either same or different frequencies. This project covers all the UVM TB setup for asynchronous FIFO. This project is focused on teaching UVM constructs from practical usage perspective.
What student learns in this project:
- Understand the functionality of Synchronous and Asynchronous FIFO
- Understand how to fix clock domain crossing issues in Asynchronous FIFO due to design working in two different clock domains, to avoid race and glitch conditions
- Develop Synchronous and Asynchronous FIFO design using Verilog
- Develop Test bench for Synchronous and Asynchronous FIFO design using Verilog
- Understand how to setup UVM TB for a design with 2 master interface
- Get hands on exposure to all UVM constructs
- Listing down features, scenarios – useful for interviews
- Develop test bench architecture using virtual sequencer
- Develop write and read interface agents
- Integrate both agents to the test bench
- Implement various test cases
- How to use virtual sequencer and virtual sequences in test case coding
- Regression setup and coverage analysis
AHB Interconnect is a configurable design used for connecting multiple AHB based masters to various AHB slaves. Design can be configured can multiple masters and multiple slaves.
What student learns in this project:
- Develop TB Architecture to be compatible with configurable number of master and slaves
- List down design features and develop testplan
- Integrate APB UVC and AHB UVC to set up whole TB
- Configuring AHB UVC to work as a master or slave
- Develop sanity testcases and debug the same
- Develop functional tests and debug the same
- Regression setup and coverage report generation
USB2.0 core is design used for interfacing USB controller with USB2.0 based function. Design consist of multiple registers to implement endpoint and other configuration requirements. I was responsible for developing Register model for USB2.0 registers.
What student learns in this project:
- List down registers, their fields and various attributes
- Develop register model using UVM Register layer base classes.
Please note: this project does not involve USB2.0 verification. It only gives student with exposure to Register model development.