Professional Documents
Culture Documents
Introduction I t d ti
Virendra Singh
Indian Institute of Science Bangalore
virendra@computer.org
E0 286: Testing & Verification of SoC Design Lecture 3 (Jan 15, 2011)
Jan 15, 2010 E0-286@SERC 1
Emulation
Implement on FPGA or other programmable device need lot of preparation Still verification quality fully depends on Simulation Patterns corner cases problem remains P tt bl i Famous bug: Pentium Floating point bug - $500 m
Jan 15, 2010 E0-286@SERC 2
Design Verification
Specification
Simulation-Based Verification
Bug
Bug
Bug
Bug g
Bug Bug
Initial State
Bug
E0-286@SERC
o Cannot cover all cases o C Corner cases may be b missed o Essential method and good for initially debugging
Jan 15, 2010 E0-286@SERC
E0-286@SERC
E0-286@SERC
Formal Verification
Techniques Deductive Verification (Theorem proving)
Uses axioms, rules to prove system correctness Difficult and time consuming
Model Checking
Automatic technique to prove correctness of concurrent systems Symbolic algorithms (using BDD)
Equivalence Checking
Check if two circuits are equivalent
E0-286@SERC
Test
Verifies V ifi correctness of f manufactured hardware. Two-part process: 1. Test generation: software process executed once during design 2. Test application: electrical tests applied to hardware Test application performed on every manufactured device. Responsible for quality of devices.
E0-286@SERC 10
Real Tests
Based on analyzable fault models, which may not map on real defects. defects Incomplete coverage of modeled faults due to high complexity. Some good chips are rejected. The fraction (o percentage) of such chips s called the (or pe ce tage) o suc c ps is ca ed t e yield loss. p p ( Some bad chips pass tests. The fraction (or percentage) of bad chips among all passing chips is called the defect level.
Jan 15, 2010 E0-286@SERC 12
Thank You
Jan 15, 2010 E0-286@SERC 13