Week 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

Testability Measures

Ganesh C. Patil
History
 During early years, design and test were separate
 The final quality of the test was determined by keeping

track of the number of defective parts shipped to the


customer
 Defective parts per million (PPM) shipped was a final

test score.
 This approach worked well for small-scale integrated

circuit
 During 1980s, fault simulation was used
 Failed to improve the circuit’s fault coverage beyond

80%
 Increased test cost and decreased test quality lead to
DFT engineering

Monday, August 29, 2022


2
Cont…..
 Various testability measures & ad hoc testability
enhancement methods
 – To improve the testability of a design
 – To ease sequential ATPG
 –Difficult to reach more than 90% fault coverage
 Structured DFT
 – To conquer the difficulties in controlling and
observing the internal states of sequential circuits
 – Scan design is the most popular structured DFT
approach
 DFT has migration recently
 – From gate level to register-transfer level (RTL)

Monday, August 29, 2022


3
Testability Analysis
 Testability:
 A relative measure of the effort or cost of testing a logic circuit
 Testability Analysis:
 The process of assessing the testability of a logic circuit
 Testability Analysis Techniques:
 Topology-based Testability Analysis
 – SCOAP - Sandia Controllability/Observability Analysis
Program
 – Probability-based testability analysis
 Simulation-based Testability Analysis

Monday, August 29, 2022


4
Testability Analysis – SCOAP

 Controllability
 Reflects the difficulty of setting a signal line to a
required logic value from primary inputs

 Observability
 Reflects the difficulty of propagating the logic value of
the signal line to primary outputs

Monday, August 29, 2022


5
Purpose
 Need approximate measure of:
 Difficulty of setting internal circuit lines to 0 or 1
by setting primary circuit inputs
 Difficulty of observing internal circuit lines by
observing primary outputs
 Uses:
 Analysis of difficulty of testing internal circuit parts
– redesign or add special test hardware
 Guidance for algorithms computing test patterns
– avoid using hard-to-control lines
 Estimation of fault coverage
 Estimation of test vector length
Monday, August 29, 2022
6
Origins
 Rutman 1972 -- First definition of controllability
 Goldstein 1979 -- SCOAP
 First definition of observability
 First elegant formulation
 First efficient algorithm to compute controllability and
observability
 Parker & McCluskey 1975
 Definition of Probabilistic Controllability
 Brglez 1984 -- COP
 1st probabilistic measures
 Seth, Pan & Agrawal 1985 – PREDICT
 1st exact probabilistic measures
Monday, August 29, 2022
7
Types of Measures-SCOAP
 SCOAP – Sandia Controllability and
Observability Analysis Program
Combinational measures
 Calculates six numerical values for each
signal s in a logic circuit
 CC0(s): combinational 0-controllability of s
 CC1(s): combinational 1-controllability of s
 CO(s): combinational observability of s
 SC0(s): sequential 0-controllability of s
 SC1(s): sequential 1-controllability of s
 SO(s): sequential observability of s
Monday, August 29, 2022
8
Testability Analysis – SCOAP
 The value of controllability measures range
between 1 to infinite
 The value of observability measures range
between 0 to infinite
 The CC0 and CC1 values of a primary input are
set to 1
 The SC0 and SC1 values of a primary input are
set to 0
 The CO and SO values of a primary output are
set to 0

Monday, August 29, 2022


9
SCOAP Controllability Calculations
 Controllability calculations begins from PIs
and ends at POs
 Levelize the circuit
 i.e. Assign level 0 to PI and give levels to the next
gates in the paths still PO
 Apply the SCOAP controllability calculations
for Logic gate Rules

Monday, August 29, 2022


10
SCOAP Controllability Calculation
Rule for AND Gate a b z
CC0(a), CC1 (a) 0 0 0
a
CC0(z), CC1 (z) 0 1 0
AND
z
b 1 0 0
CC0(b), CC1 (b)
1 1 1

CC0 (z)= min[CC0 (a), CC0 (b)] + 1

CC1 (z)= CC1 (a) + CC1 (b) + 1

Monday, August 29, 2022


11
SCOAP Controllability Calculation
Rule for OR Gate a b z
CC0(a), CC1 (a) 0 0 0
a
CC0(z), CC1 (z) 0 1 1
OR
z
b 1 0 1
CC0(b), CC1 (b)
1 1 1

CC0 (z)= CC0 (a) + CC0 (b) + 1

CC1 (z)= min[CC1 (a), CC1 (b)] + 1

Monday, August 29, 2022


12
SCOAP Controllability Calculation
Rule for NAND Gate a b z
CC0(a), CC1 (a) 0 0 1
a CC0(z), CC1 (z)
NAND 0 1 1
z
b 1 0 1
CC0(b), CC1 (b)
1 1 0

CC0 (z)= CC1 (a) + CC1 (b) + 1

CC1 (z)= min[CC0 (a), CC0 (b)] + 1

Monday, August 29, 2022


13
SCOAP Controllability Calculation
Rule for NOR Gate a b z
CC0(a), CC1 (a)
0 0 1
a CC0(z), CC1 (z)
NOR 0 1 0
z
b 1 0 0
CC0(b), CC1 (b)
1 1 0

CC0 (z)= min[CC1 (a), CC1 (b)] + 1

CC1 (z)= CC0 (a) + CC0 (b) + 1

Monday, August 29, 2022


14
SCOAP Controllability Calculation
Rule for XOR Gate a b z
CC0(a), CC1 (a)
0 0 0
a
CC0(z), CC1 (z) 0 1 1
XOR
z
b 1 0 1
CC0(b), CC1 (b)
1 1 0

CC0 (z)= min[CC0(a)+CC0(b), CC1(a)+CC1(b)] + 1


CC1 (z)= min[CC0(a)+CC1(b), CC1(a)+CC0(b)] + 1

Monday, August 29, 2022


15
SCOAP Controllability Calculation
Rule for XNOR Gate a b z
CC0(a), CC1 (a)
0 0 1
a CC0(z), CC1 (z)
XNOR 0 1 0
z
b 1 0 0
CC0(b), CC1 (b)
1 1 1

CC0 (z)= min[CC0(a)+CC1(b), CC1(a)+CC0(b)] + 1


CC1 (z)= min[CC0(a)+CC0(b), CC1(a)+CC1(b)] + 1

Monday, August 29, 2022


16
SCOAP Controllability Calculation
Rule for NOT Gate a z
0 1
a NOT z 1 0
CC0(a), CC1 (a) CC0(z), CC1 (z)

CC0 (z)= CC1 (a) + 1

CC1 (z)= CC0 (a) + 1

Monday, August 29, 2022


17
SCOAP Controllability Calculations
 Controllability calculations begins from PIs
and ends at POs
 Levelize the circuit
 i.e. Assign level 0 to PI and give levels to the next
gates in the paths still PO
 Apply the SCOAP controllability calculations
for Logic gate Rules

Monday, August 29, 2022


18
Controllability Rules of Logic Gates

Monday, August 29, 2022


19
Controllability Rules of Logic Gates

Monday, August 29, 2022


20
Controllability Example-1
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


21
SCOAP Controllability Calculations
 Controllability calculations begins from PIs
and ends at POs
 Levelize the circuit
 i.e. Assign level 0 to PI and give levels to the next
gates in the paths still PO
 Apply the SCOAP controllability calculations
for Logic gate Rules

Monday, August 29, 2022


22
Levelize the Circuit
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


23
Controllability Through Level 0
Circled numbers give level number. (CC0, CC1)

x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


24
Controllability Through Level 2
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


25
Final Combinational Controllability
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


26
Controllability Example-2

Monday, August 29, 2022


27
Levelize the Circuit

Monday, August 29, 2022


28
Controllability Through Level 0

Monday, August 29, 2022


29
Controllability Through Level 1

Monday, August 29, 2022


30
Controllability Through Level 2

Monday, August 29, 2022


31
Final Combinational Controllability

Monday, August 29, 2022


32
SCOAP Observability Calculations
 Observability is calculated in a reverse pass
starting from POs and moving backward to
the PIs.
 First set Pos Observability to ‘0’.
 Levelize from outputs towards the inputs
 Apply the SCOAP Observability calculations
for Logic gate Rules

Monday, August 29, 2022


33
SCOAP Observability Calculation
Rule for AND Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 0
a CO(z)
AND 0 1 0
z
b 1 0 0
CC0(b), CC1 (b),
CO(b) 1 1 1

CO (a)= CO (z) + CC1 (b) + 1

CO (b)= CO (z) + CC1 (a) + 1

Monday, August 29, 2022


34
SCOAP Observability Calculation
Rule for OR Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 0
a CO(z)
OR 0 1 1
z
b 1 0 1
CC0(b), CC1 (b),
CO(b) 1 1 1

CO (a)= CO (z) + CC0 (b) + 1

CO (b)= CO (z) + CC0 (a) + 1

Monday, August 29, 2022


35
SCOAP Observability Calculation
Rule for NAND Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 1
a CO(z)
NAND 0 1 1
z
b 1 0 1
CC0(b), CC1 (b),
CO(b) 1 1 0

CO (a)= CO (z) + CC1 (b) + 1

CO (b)= CO (z) + CC1 (a) + 1

Monday, August 29, 2022


36
SCOAP Observability Calculation
Rule for NOR Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 1
a CO(z)
NOR 0 1 0
z
b 1 0 0
CC0(b), CC1 (b),
CO(b)
1 1 0

CO (a)= CO (z) + CC0 (b) + 1

CO (b)= CO (z) + CC0 (a) + 1

Monday, August 29, 2022


37
SCOAP Observability Calculation
Rule for XOR Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 0
a CO(z)
XOR 0 1 1
z
b 1 0 1
CC0(b), CC1 (b),
CO(b) 1 1 0

CO (a)= CO (z) + min[CC0(b), CC1(b)] + 1

CO (b)= CO (z) + min[CC0(a), CC1(a)] + 1

Monday, August 29, 2022


38
SCOAP Observability Calculation
Rule for XNOR Gate a b z
CC0(a), CC1 (a),
CO(a) CC0(z), CC1 (z), 0 0 1
a CO(z)
XNOR 0 1 0
z
b 1 0 0
CC0(b), CC1 (b),
CO(b) 1 1 1

CO (a)= CO (z) + min[CC0(b), CC1(b)] + 1

CO (b)= CO (z) + min[CC0(a), CC1(a)] + 1

Monday, August 29, 2022


39
SCOAP Observability Calculation
Rule for NOT Gate a z
CC0(a), CC1 (a),
CC0(z), CC1 (z), 0 1
CO(a)
CO(z)
a NOT z 1 0

CO (a)= CO (z) + 1

Monday, August 29, 2022


40
SCOAP Observability Calculation
Rule for Fanout
CO(z )
Branches
1
z1
CO(z2)
z2
CO(a) CO(z3) z3
CO(z4)
z4

CO(zn)
zn
CO (a)= min[CO(z1), CO(z2), CO(z3),-----CO(zn)]
Monday, August 29, 2022
41
Observability Rules of Logic Gates

Monday, August 29, 2022


42
Observability Rules of Logic Gates

Monday, August 29, 2022


43
Observability Example-1
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


44
Levelize the Circuit Example-1
Number in square box is level from primary outputs (POs). (CC0, CC1) CO

x1

x2

z1

z2

x3 z3

Monday, August 29, 2022


45
Combinational Observability for Level 1
Number in square box is level from primary outputs (POs).
(CC0, CC1) CO

x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


46
Combinational Observability for Level 2
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


47
Final Comb. Controllability/Observability
x1

x2

z1

z2

z3
x3

Monday, August 29, 2022


48
Observability Example-2

Monday, August 29, 2022


49
Levelize the Circuit

Monday, August 29, 2022


50
Observability Through Level 0

Monday, August 29, 2022


51
Observability Through Level 1

Monday, August 29, 2022


52
Observability Through Level 2

Monday, August 29, 2022


53
Observability Through Level 3

Monday, August 29, 2022


54
Final Comb. Controllability/Observability

Monday, August 29, 2022


55
Thank you !!!

Monday, August 29, 2022


56

You might also like