Syllabus
Unit 1:
Review of HDL (Verilog) –Need for functional verification – Verification lifecycle and test planning – Testbench architectures: Directed & Constraint Random – Types of coverage: Code coverage – Functional coverage – SystemVerilog for design: data types, control flow, operators – Hierarchy, modules, and connectivity
Unit 2
SystemVerilog for Verification- Testbench components: tasks, functions, interfaces- Object-oriented features in SystemVerilog (classes, inheritance, polymorphism) – Constrained Random Verification-
Inter Process Communication: Threads, mailboxes and semaphores- Building verification environment with SystemVerilog
Unit 3
System Verilog Assertions – immediate assertions – concurrent assertions – Boolean assertions – Sequences – properties – implication operators – nested implications – Functional Coverage: covergroups, bins, cross coverage – Coverage closure strategies and reporting – Memory Design: Behavioural Modelling and Verification environment creation – UVM – Overview, Testbench Architecture, and Component Roles
Course Outcomes
At the end of the course, the student should be able to
- CO1: Understand the fundamentals of functional verification and its methodologies.
- CO2: Design digital modules and corresponding testbenches using SystemVerilog
- CO3: Apply effective methodologies to develop effective verification environments
- CO4: Evaluate verification completeness using assertion-based techniques.
Skills Acquired: Creation of reusable testbenches using SystemVerilog; Verification planning and coverage closure; Application of functional coverage and assertion-based techniques.
CO-PO Mapping:
CO/PO |
PO 1 |
PO 2 |
PO 3 |
PSO1 |
PSO2 |
PSO3 |
CO 1 |
|
|
3 |
2 |
|
|
CO 2 |
|
|
3 |
3 |
3 |
2 |
CO 3 |
|
|
3 |
3 |
3 |
3 |
CO 4 |
|
|
3 |
3 |
2 |
2 |