Академический Документы
Профессиональный Документы
Культура Документы
Virendra Singh
Indian I tit t f S i I di Institute of Science Bangalore virendra@computer.org E0 286: Test & Verification of SoC Design Lecture - 3
Jan 25, 2010 E0-286@SERC 1
VLSI Testing
Fault Equivalence
Number of fault sites in a Boolean gate circuit = #PI + # t #gates + # (f (fanout b t branches). h ) Fault equivalence: Two faults f1 and f2 are equivalent if all tests that detect f1 also q detect f2. If faults f1 and f2 are equivalent then the corresponding faulty functions are identical. Fault collapsing: All single faults of a logic circuit can be divided into disjoint equivalence subsets, subsets where all faults in a subset are mutually equivalent. A collapsed fault set contains one fault from each equivalence subset. subset
Jan 25, 2010 E0-286@SERC 2
Equivalence Rules
sa0 sa0 sa1 sa1 sa0 sa1 sa0 sa1
AND
sa0 sa1
OR
sa0 sa1
WIRE
NOT
sa1 sa0
NAND
sa0 sa1
NOR
FANOUT
Jan 25, 2010 E0-286@SERC
Equivalence Example
sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 0 1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 20 Collapse ratio = ----- = 0.625 32
E0-286@SERC 4
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
Fault Dominance
If all tests of some fault F1 detect another fault F2, then F2 i said t d F2 th is id to dominate F1 i t F1. Dominance fault collapsing: If fault F2 do dominates F1, then F2 is removed from the ates ,t e s e o ed o t e fault list. When dominance fault collapsing is used, it is sufficient to consider only th i ffi i t t id l the input f lt of t faults f Boolean gates. See the next example. In a tree circuit (without fanouts) PI faults form a dominance collapsed fault set. If two faults dominate each other then they are equivalent. i l t
Jan 25, 2010 E0-286@SERC 5
Dominance Example
F1 s-a-1 All tests of F2 F2 s-a-1 110 101 001 000 100 010 011
s-a-1 s-a-1
Only test of F1
Checkpoints
Primary inputs and fanout branches of a combinational circuit are called checkpoints. Checkpoint theorem: A test set that detects all single (multiple) stuck-at faults on all checkpoints of a combinational circuit, also detects all single (multiple) stuck-at faults in that circuit.
Total fault sites = 16 Checkpoints ( ) = 10
E0-286@SERC
Detection of a stuck-open fault requires t D t ti f t k f lt i two vectors. Detection of a stuck-short fault requires the stuck short measurement of quiescent current (IDDQ).
E0-286@SERC
Stuck-Open Example
Vector 1: test for A s-a-0 (Initialization vector) pMOS FETs s 1 0 0 0 Vector 2 (test for A s-a-1)
VDD
A B
Stuckopen
nMOS FETs
Jan 25, 2010
Stuck-Short Example
Test vector for A s-a-0 pMOS FETs s 1 0
VDD
Stuckshort
A B
nMOS FETs
Jan 25, 2010 E0-286@SERC
Fault Simulation
E0-286@SERC
13
Simulation Defined
Definition: Simulation refers to modeling of a design, its function and performance. A software simulator is a computer program; an emulator is a hardware simulator. Simulation is used for design verification:
Validate assumptions Verify logic Verify performance (timing) Logic or switch level Timing Circuit Fault
Types of simulation:
E0-286@SERC
14
Computed responses
True-value simulation
Input stimuli
E0-286@SERC
15
Modeling Levels
Modeling level Function, behavior, RTL Logic Circuit description Programming language-like HDL Connectivity of Boolean gates, flip-flops and transistors Transistor size and connectivity, node capacitances Signal values 0, 1 0, 1, 0 1 X and Z Timing Clock boundary Zero delay Zero-delay unit-delay, multipledelay Zero-delay Application Architectural and functional verification Logic verification and test Logic verification g Timing verification Digital timing and analog g circuit verification
16
Switch S it h
0, 0 1 and X
Timing Circuit
g gy Transistor technology Analog voltage data, connectivity, node capacitances Tech. Data, active/ passive component connectivity Analog voltage, voltage current
E0-286@SERC
Event-driven simulation
Compiled-Code Algorithm
Step 1: Levelize combinational logic and encode in a compilable programming language Step 2: Initialize internal state variables (flipp ( p flops) Step 3: For each input vector Set i S t primary i input variables t i bl Repeat (until steady-state or max. iterations)
Execute compiled code
E0-286@SERC
18
Thank You
Jan 25, 2010 E0-286@SERC 19