This course is designed and is delivered by practicing experts in Verification, as per the industry requirements. Importance is given to cover the concepts, methodology and good emphasis on hands-on training, with at least 60% of the time allocated to the guided lab sessions and a project to be done by the participants.
Training Delivery Model:
- Weekends (Sundays): Instructor-Led classroom training
- Labs follow each Lecture session on that module
- Weekdays: Lab support through Email and WhatsApp
- Flexible learning with 24/7 Lab Access from home through VPN
- Hand-outs of training materials will be provided.
- Reference Materials will be shared.
Who Can Attend This Course:
- B.Tech or M.Tech Freshers/Students/Interns looking to start a career in VLSI.
- Working Professionals from VLSI industry, currently working in some area (RTL Design, FPGA Design, Synthesis, STA, Board Level Testing, etc.), but want to switch to VLSI Verification.
- Faculty working in Engineering colleges desiring to understand the industry flows and methodologies in Verification.
- Currently working Electrical and electronics engineers desiring to make a career in VLSI verification.
- B.E / B.Tech in Electronics / Electrical / Instrumentation
- M.Tech / M.S in VLSI / Embedded Systems / Electronics / Similar
Knowledge on below topics is Required.
- Working knowledge of Linux.
- Knowledge of Digital Electronics Fundamentals.
- Knowledge of Verilog and the ability to design Circuits using Verilog.
Part – 1 – Basic Verification:
Module 1: Introduction to Basic Verification Flow
ASIC flow, Verification flow, RTL Quality checking, and Verification planning.
Module 2: Testbench Architecture Basics
General Test bench Architecture and Verification plan creation
Module 3: Verification Matrices for Chip Sign-off
Verification coverage, System Verilog assertions, and Verification metrics.
Module 4: Complete Verification Environment
PART 2 – Basic System Verilog
Module 5: Introduction to System Verilog
Overview of HDL and HVL, Need for SystemVerilog, SV capabilities and highlights, SV as one solution HDVL.
Module 6a: System Verilog Basics
Lexical Conventions, Data types, Aggregate Data types, Casting, SV operators and their precedence. Processes, Understanding the Procedural Statements and Control flow, process execution threads and Fine Grain process controls. Interfaces and Modports, Virtual interfaces, Clocking blocks
Module 6b: Design and verification building blocks
Module, program, interface, subroutines, packages, configurations, compilation and elaboration, Declaration Namespaces, Simulation time, time units and time precision
Module 7: SV Classes and Randomization and constraints
Classes, objects, handles and built-in methods for efficient TB development. Efficient memory management in SV. Different randomization techniques and constructs. Inline randomization, seeding, random methods, and random stability.
Module 8: Riding SV on Chariot of OOPs
Tasks and functions and their enhancements in System Verilog. Introduction to OOP concepts of data abstraction, data encapsulation, data hiding, inheritance, and polymorphism.
Module 9: Coverage-based Verification
Introduction to code and functional coverage. Functional coverage in SV. Cover groups, cover points, cover bins, and cross-coverage constructs. Different ways of sampling the coverage and measuring the verification closure.
PART-3 – Advanced System Verilog
Module 10: Specialised communication packing and bug isolation in SV
Interprocess Synchronization and communication – Semaphore, Mailboxes and Named Events, Scheduling semantics Event-based simulation scheduling semantics— System Verilog’s stratified event scheduling algorithm— Determinism and non-determinism of event ordering— Possible sources of race conditions— PLI callback control points
Module 11: Faster verification using System Verilog Assertions
Introduction to Assertions. Advantages of assertions. Immediate and Concurrent Assertions. Writing assertion Sequences, Different ways of writing Assertions and its constructs and calling methods.
Module 12: Application Programming Interfaces
Introduction to DPIs, DPI layers, importing and exporting mechanism from System Verilog to other languages. Usage and advantages of using DPIs and its Limitations.
Part-4 – UVM
Module 13: Verification Methodology, UVM Basics
Need for a Verification methodology, UVM as a template, Introduction and evolution of UVM. Basic concepts of UVM.
Module 14: UVM Components, Agents, Sequencer, Sequence. Macros, TLM
Understanding UVM Test Bench – Objects, Components – Drivers, Sequencers, Sequences, Sequence item, Monitors, transactions, Introduction to Macros, Configuration Database, Resource Database. Introduction to Transaction Level modeling, Concept of TLM in UVM. TLM communications and connections – Interfaces, Ports, Exports, Imps, Analysis Ports, Building a Test-bench for a real-time design with these UVM components.
Module 15: UVM Phasing, UVM Factory, and Advanced sequence control
Need for Phasing, Importance of phases and usage of Phases in a typical Test Bench environment, Common Phases, Run time phases, User-Defined Phases. Introduction to Factory, Importance of dynamic binding and factory usage. Registering, creating and configuring with Examples. Handling and triggering multiple sequences and sequence body methods efficiently. Virtual Sequences
Module 16: Register Modeling using UVM Register Layer
UVM Register Layer, Blocks, Address maps, Register Files, Registers, Fields, DUT Integration – Register Adapter, Register Sequences, Predictor Classes.
Module 17: Reporting, UVCs
Reporting in UVM, different verbosity and log controls. Introduction to UVC. Guidelines and rules. UVC environment, UVC layering, Real-time example of UVC.
Module 18: Complete UVC building
For a given Design, building a UVC – using best practices, developing fully configurable, reusable UVC and UVM Test Bench environment.
Tools to be used:
- Synopsys VCS.
- At least 3 hrs of labs/day throughout the course.
- Additional Lab Hours through VPN, to enable you to spend more time on labs from home. This is on top of Trainer led lab sessions during Sundays.
The trainer is a working professional with hands-on VLSI Verification and training experience of 19+ years.
The trainer is passionate about teaching and has mentored many engineers, both freshers as well as experienced professionals to help them improve their skills, knowledge, and performance. Having led multiple complex projects, she is well abreast of the evolving requirements of the industry.
She is passionate about sharing her knowledge and experiences and at the same time is an excellent communicator who enjoys the challenges of teaching and mentoring the new generation.
- Course learning will be assessed as per Bloom’s Taxonomy
- Course completion certificate from ChipEdge