Professional Documents
Culture Documents
Course Overview
This course covers the verification process used in validating the functional correctness in today's complex
Application Specific Integrated Circuits (ASICs). Topics include fundamentals of simulation based functional
verification, stimulus generation, results checking, coverage, debug, and assertions. Provides the students with
real world verification problems to allow them to apply what they learn.
Instructor
Dr. Meeta Yadav
Email: myadav@ncsu.edu
Office hours: TBD
TAs
TBD
Prerequisite
ECE 520 ASIC Design or equivalent. A good working knowledge of Verilog or VHDL is essential. This is
not suitable as a first course in a hardware description language.
Entertainment
Communication Broadcasting
Computing Telematics
Location-Based Services
Image Processing
75%
50% of
of them
ASICshave
require
logical
moreor than
functional
one respin
bugs
[Collet 2005]
6
2010, Meeta Yadav 6
1. Making sure there are no bugs in the design
8
2010, Meeta Yadav 8
Functional Verification
Mentors QuestaSim
SystemVerilog
Testbench functionality
Generate stimulus
Apply stimulus to the Design Under Test (DUT)
Stimulus Generation
Application
Stimulus
Design
Under
Test
Testbench functionality
Generate stimulus
Apply stimulus to the Design Under Test (DUT)
Capture the response
Check for correctness
Golden Model
Stimulus Generation
Correctness Check
Application
Response
Stimulus
Capture
Design
Under
Test
Testbench functionality
Generate stimulus
Apply stimulus to the Design Under Test (DUT)
Capture the response
Check for correctness
Measure the progress against the overall verification goals
Golden Model
Stimulus Generation
Correctness Check
Application
Response
Stimulus
Capture
Design
Under
Test
Write Assertions
Testbench functionality
Generate stimulus
Apply stimulus to the Design Under Test (DUT)
Capture the response
Check for correctness
Measure the progress against the overall verification goals
Golden Model
Stimulus Generation
Correctness Check
Assertions
Application
Response
Stimulus
Capture
Design
Under
Test
Golden Model
Stimulus Generation
Correctness Check
Application
Response
Stimulus
Capture
Un-pipelined
LC3 processor
Golden Model
Stimulus Generation
Correctness Check
Application
Response
Stimulus
Capture
Pipelined
LC3 processor
Golden Model
Stimulus Generation
Correctness Check
Assertions
Application
Response
Stimulus
Capture
Design
Under
Test
Topics
1.
Introduction to Verification
2.
Test Bench Environments
3.
Interfaces
4.
Stimulus Generation
5. Object Oriented Programming
5.
Functional Coverage
6.
Assertions
7.
SystemVerilog Language Constructs
Text
C. Spear, System Verilog for Verification, Springer 2006. "
Comprehensive functional verification the complete industry cycle by Bruce Wile, John C. Goss,
Wolfgang Roesner.Elsevier/Morgan Kaufmann, c2005
SystemVerilog for Verification: A Guide to Learning the Testbench Language Features by Chris
Spear. Springer, 2006
SystemVerilog for Design: A Guide to Using SystemVerilog for Hardware Design and Modeling by
Stuart Sutherland, Simon Davidman, Peter Flake and P. Moorby. Springer, 2006
Verification Methodology Manual for SystemVerilog by Janick Bergeron, Eduard Cerny, Alan Hunter,
Andy Nightingale. Springer, 2005
Midterm
15%
The exams will be open book and open notes
Project 1
15%
Verification of an LC3 microprocessor by developing
a test environment using SystemVerilog. Students
will be required to find embedded bugs in the
design and analyze them.
Project 2a 35%
Verification of an LC3 microprocessor by developing
and Project a complete test environment using SystemVerilog,
2b
writing SVA and gathering functional coverage
metrics. Students will be required to find embedded
bugs, analyze them and report functional coverage
numbers.
Final
20%
The exam will be comprehensive and open books
and open notes.
Source: 2004/2002 IC/ASIC Functional Verification Study, Collett International Research, Used with Permission
30
2010, Meeta Yadav 30
Thank You