Вы находитесь на странице: 1из 106

Chapter 2

Design for Testability

1
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 1
Design For Testability - contents
 Introduction
 Testability Analysis
 Design for Testability Basics
 Scan Cells Designs
 Scan Architectures
 Scan Design Rules
 Scan Design Flow
 Special-Purpose Scan Designs
 RTL Design for Testability
 Concluding Remarks
2
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 2
Introduction
 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

3
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 3
Introduction
 History
 Various testability measures & ad hoc testability
enhancement methods
– To improve the testability of a design
– To ease sequential ATPG (automatic test pattern generation)
– Still quite 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
 Design for testability (DFT) has migration recently
– From gate level to register-transfer level (RTL)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 4
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

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 5
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

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 6
Testability Analysis – SCOAP
 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

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 7
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

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 8
Testability Analysis - SCOAP
Combinational Controllability Calculation Rules

0-controllability 1-controllability
(Primary input, output, branch) (Primary input, output, branch)
Primary Input 1 1
AND min {input 0-controllabilities} + 1 Σ(input 1-controllabilities) + 1
OR Σ(input 0-controllabilities) + 1 min {input 1-controllabilities} + 1
NOT Input 1-controllability + 1 Input 0-controllability + 1
NAND Σ(input 1-controllabilities) + 1 min {input 0-controllabilities} + 1
NOR min {input 1-controllabilities} + 1 Σ(input 0-controllabilities) + 1
BUFFER Input 0-controllability + 1 Input 1-controllability + 1
XOR min {CC1(a)+CC1(b), min {CC1(a)+CC0(b),
CC0(a)+CC0(b)} + 1 CC0(a)+CC1(b)} + 1
XNOR min {CC1(a)+CC0(b), min {CC1(a)+CC1(b),
CC0(a)+CC1(b)} + 1 CC0(a)+CC0(b)} + 1
Branch Stem 0-controllability Stem 1-controllability

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 9
Testability Analysis - SCOAP
Combinational Controllability Observability Rules

Observability
(Primary output, input, stem)

Primary Output 0

AND / NAND Σ(output observability, 1-controllabilities of other inputs) + 1


OR / NOR Σ(output observability, 0-controllabilities of other inputs) + 1
NOT / BUFFER Output observability + 1
XOR / XNOR a: Σ(output observability, min {CC0(b), CC1(b)}) + 1
b: Σ(output observability, min {CC0(a), CC1(a)}) + 1
Stem min {branch observabilities}

a, b: inputs of an XOR or XNOR gate

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 10
Testability Analysis – SCOAP
A
1/1/4 .1/1/4 3/3/2 .3/3/2
B
1/1/4
. 1/1/4
1/1/4
5/5/0 Sum

3/3/5
2/5/3
1/1/5 . 1/1/7 5/4/0
Cout
2/3/3
1/1/5
1/1/4
Cin

Example of Combinational SCOPA measures


v1/v2/v3 represents the signal’s 0-controllability (v1),
1-controllability (v2), and observability (v3)
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 11
Testability Analysis - SCOAP
Sequential Controllability and Observability Calculation

r
The combinational and
Reset
a d sequential controllability
b D Q q
measures of signal d:

CK CC0(d) = min {CC0(a), CC0(b)} + 1


SC0(d) = min {SC0(a), SC0(b)}
SCOAP sequential circuit example
CC1(d) = CC1(a) + CC1(b) + 1
SC1(d) = SC1(a) + SC1(b)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 12
Testability Analysis - SCOAP
The combinational and sequential controllability and
observability measures of q:
CC0(q) = min {CC0(d) + CC0(CK) + CC1(CK) + CC0(r), CC1(r) + CC0(CK)}
SC0(q) = min {SC0(d) + SC0(CK) + SC1(CK) + SC0(r) + 1, SC1(r) + SC0(CK)}
CC1(q) = CC1(d) + CC0(CK) + CC1(CK) + CC0(r)
SC1(q) = SC1(d) + SC0(CK) + SC1(CK) + SC0(r) + 1

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 13
Testability Analysis - SCOAP
The data input d can be observed at q by holding
the reset signal r at 0 and applying a rising clock
edge to CK:
CO(d) = CO(q) + CC0(CK) + CC1(CK) + CC0(r)
SO(d) = SO(q) + SC0(CK) + SC1(CK) + SC0(r) + 1

Signal r can be observed by first setting q to 1,


and then holding CK at the inactive state 0:
CO(r) = CO(q) + CC1(q) + CC0(CK)
SO(r) = SO(q) + SC1(q) + SC0(CK)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 14
Testability Analysis - SCOAP
 Two ways to indirectly observe the clock
signal CK at q:
 set q to 1, r to 0, d to 0, and apply a rising clock edge at CK
 set both q and r to 0, d to 1, and apply a rising clock edge at
CK

CO(CK) = CO(q) + CC0(CK) + CC1(CK) + CC0(r) + min{CC0(d) + CC1(q), CC1(d) + CC0(q)}


SO(CK) = SO(q) + SC0(CK) + SC1(CK) + SC0(r) + min{SC0(d) + SC1(q), SC1(d) + SC0(q)} + 1

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 15
Testability Analysis - SCOAP
The combinational and sequential bservability
measures for both inputs a and b:

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


SO(a) = SO(d) + SC1(b)
CO(b) = CO(d) + CC1(a) + 1
SO(b) = SO(d) + SC1(a)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 16
Probability-Based Testability Analysis

 Used to analyze the random testability of


the circuit
 C0(s): probability-based 0-controllability of s
 C1(s): probability-based 1-controllability of s
 O(s): probability-based observability of s
 Range between 0 and 1
 C0(s) + C1(s) = 1

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 17
Probability-based controllability calculation rules
0-controllability 1-controllability
(Primary input, output, branch) (Primary input, output, branch)

Primary Input p0 p1 = 1 - p0
AND 1 – (output 1-controllability) Π (input 1-controllabilities)
OR Π (input 0-controllabilities) 1 – (output 0-controllability)
NOT Input 1-controllability Input 0-controllability
NAND Π (input 1-controllabilities) 1 – (output 0-controllability)
NOR 1 – (output 1-controllability) Π (input 0-controllabilities)
BUFFER Input 0-controllability Input 1-controllability
XOR 1 – 1-controllabilty Σ(C1(a) × C0(b), C0(a) × C1(b))
XNOR 1 – 1-controllability Σ(C0(a) × C0(b), C1(a) × C1(b))
Branch Stem 0-controllability Stem 1-controllability

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 18
Probability-based observability calculation rules

Observability
(Primary output, input, stem)

Primary Output 1

AND / NAND Π (output observability, 1-controllabilities of other inputs)

OR / NOR Π (output observability, 0-controllabilities of other inputs)

NOT / BUFFER Output observability

XOR / XNOR a: Π (output observability, max {0-controllability of b, 1-controllability of b})


b: Π (output observability, max {0-controllability of a, 1-controllability of a})

Stem max {branch observabilities}

a, b: inputs of an XOR or XNOR gate

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 19
Difference between SCOAP testability measures and
probability-based testability measures of a 3-input AND
gate

v1/v2/v3 represents the signal’s 0-controllability (v1), 1-


controllability (v2), and observability (v3)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 20
Simulation-Based Testability Analysis
 Supplement to static or topology-based
testability analysis
 Performed through statistical sampling
 Guide testability enhancement in test
generation or logic BIST
 Generate more accurate estimates
 Require a long simulation time

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 21
RTL Testability Analysis
 Disadvantages of Gate-Level Testability
Analysis
 Costly in term of area overhead
 Possible performance degradation
 Require many DFT iterations
 Long test development time

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 22
RTL Testability Analysis
 Advantages of RTL Testability Analysis
 Improve data path testability
 Improve the random pattern testability of a scan-
based logic BIST circuit
 Lead to more accurate results
– The number of reconvergent fanouts is much less
 Become more time efficient
– Much simpler than an equivalent gate-level model

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 23
RTL Testability Analysis - Example

a0 b0 ai bi an-1 bn-1

c0 c1 ci ci+1 cn-1 cout


… … sn

s0 si sn-1

Ripple-carry adder composed of n full-adders

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 24
RTL Testability Analysis - Example
The probability-based 1-controllability measures of
si and ci+1, denoted by C1(si) and C1(ci+1), are
calculated as follows:
C1(s i ) = α + C1(ci ) - 2 × (α × C1(ci ))
C1(c i + 1) = α × C1(ci ) + C1(a i ) × C1(b i )

α = C1(a i ) + C1(b i ) - 2 × C1(a i ) × C1(b i )


α is the probability that (a i ⊕ b i ) = 1
C1(s i ) is the probability that (a i ⊕ b i ⊕ c i ) = 1

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 25
RTL Testability Analysis - Example
The probability-based 0-controllability of each
output l, denoted by C0(l), in the n-bit ripple-carry
adder is 1- C1(l).

O(l, si) is defined as the probability that a signal


change on l will result in a signal change on si.

Since O(a i , s i ) = O(bi , s i ) = O(ci , s i ) = O(si )


where i = 0, 1, ... , n - 1
This calculation is left as a problem at the end of this chapter.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 26
Design for Testability Basics
 Ad hoc DFT
 Effects are local and not systematic
 Not methodical
 Difficult to predict
A structured DFT
 Easily incorporated and budgeted
 Yield the desired results
 Easy to automate

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 27
Ad Hoc Approach
 Typical ad hoc DFT techniques
 Insert test points
 Avoid asynchronous set/reset for storage
elements
 Avoid combinational feedback loops
 Avoid redundant logic
 Avoid asynchronous logic
 Partition a large circuit into small blocks

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 28
Ad Hoc Approach – Test Point Insertion
Logic circuit
.
Low-observability node B

.
Low-observability node A .
Low-observability node C

OP1 OP2 OP3


DI
DI DI OP2 shows the
SI 0 SO structure of an
1 SI SO D Q SI SO OP_output
1
SE SE observation,
SE which is
SE
CK
. . . . composed of a
Observation shift register multiplexer
(MUX) and a D
flip-flop.
Observation point insertion

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 29
Ad Hoc Approach – Test Point Insertion
Logic circuit A MUX is inserted
Low-controllability node B between the source
Source x Destination and destination ends.
Original connection
Low-controllability node C During normal
Low-controllability node A operation, TM = 0,
such that the value
CP1 CP2 CP3 from the source end
DI DI
0 DO DI drives the destination
DO DO
1 end through the 0
CP_input SI SO SI
D Q . SO SI SO port of the MUX.
TM TM
TM
. . During test, TM = 1
TM
. . such that the value
CK
Control shift register from the D flip-flop
drives the destination
end through the 1
Control point insertion port of the MUX.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 30
Structured Approach
 Scan design
 Convert the sequential design into a scan design
 Three modes of operation
– Normal mode
 All test signals are turned off
 The scan design operates in the original functional configuration
– Shift mode
– Capture mode
 In both shift and capture modes, a test mode signal TM is
often used to turn on all test-related fixes

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 31
Structured Approach - Scan Design
Assume that a stuck-at
X1 Combinational logic Y1 fault f in the combinational
X2 Y2
0 X3 logic requires the primary
f input X3, flip-flop FF2,
and flip-flop FF3, to be set
0 FF3 to 0, 1, and 0.
Q D
The main difficulty in
1 FF2
testing a sequential circuit
Q D stems from the fact that it
FF1
. is difficult to control and
observe the internal state
Q D
. of the circuit.
CK

Difficulty in testing a sequential circuit


VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 32
Structured Approach - Scan Design
Test stimulus application
n
1 1
Test stimulus Shift register composed of n scan cells Test response

n
Test response upload

1. Converting How to detect stuck-at fault f :


selected storage (1) switching to shift mode and shifting in the desired test
elements in the design stimulus, 1 and 0, to FF2 and FF3, respectively
into scan cells. (2) driving a 0 onto primary input X3
1. Stitching them (3) switching to capture mode and applying one clock
pulse to capture the fault effect into FF1
together to form scan (4) switching back to shift mode and shifting out the test
chains. response stored in FF1, FF2, and FF3 for comparison with
the expected response.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 33
Scan Cell Design
A scan cell has two inputs: data input
and scan input
 In normal/capture mode, data input is selected to update the
output
 In shift mode, scan input is selected to update the output

 Three widely used scan cell designs


 Muxed-D Scan Cell
 Clocked-Scan Cell
 LSSD Scan Cell

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 34
Muxed-D Scan Cell
This scan cell is composed of a D
DI 0
D Q Q/SO flip-flop and a multiplexer.
SI 1

SE CK
The multiplexer uses an additional
Edge-triggered scan enable input SE to select
muxed-D scan
between the data input DI and the
cell
scan input SI.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 35
Muxed-D Scan Cell
In normal/capture mode,
SE is set to 0. The value
CK
present at the data input
DI is captured into the
SE internal D flip-flop when
a rising clock edge is
DI D1 D2 D3 D4 applied.

SI T1 T2 T3 T4 In shift mode, SE is set to


1. The scan input SI is
D1 T3
used to shift in new data
Q/SO
to the D flip-flop, while
the content of the D flip-
Edge-triggered muxed-D scan cell flop is being shifted out.
design and operation

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 36
Muxed-D Scan Cell
This scan cell is composed of a
DI
SI
0
1
D Q . Q
multiplexer, a D latch, and a D
flip-flop.
CK
SE D Q SO In this case, shift operation is
conducted in an edge-triggered
CK . manner, while normal operation
and capture operation is
conducted in a level-sensitive
manner.
Level-sensitive/edge-triggered
muxed-D scan cell design

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 37
Clocked-Scan Cell

DI
In the clocked-scan
Q/SO
SI cell, input selection is
conducted using two
DCK SCK independent clocks,
DCK and SCK.
Clocked-scan cell

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 38
Clocked-Scan Cell
In normal/capture mode,
the data clock DCK is used
to capture the contents
present at the data input DI
into the clocked-scan cell.

In shift mode, the shift


clock SCK is used to shift
in new data from the scan
input SI into the clocked -
scan cell, while the content
of the clocked-scan cell is
Clocked-scan cell design and being shifted out.
operation

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 39
LSSD Scan Cell
An LSSD scan cell is
used for level-sensitive
latch base designs.
D . . .
L1
SRL
+L1
This scan cell contains
C . two latches, a master 2-
port D latch L1 and a slave
I . .
L2
+L2 D latch L2. Clocks C,
A and B are used to select
A . . between the data input D
and the scan input I to
B drive +L1 and +L2. In an
LSSD design, either +L1
or +L2 can be used to
Polarity-hold SRL drive the combinational
(shift register latch) logic of the design.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 40
LSSD Scan Cell
C In order to guarantee race-free
operation, clocks A, B, and C are
A applied in a non-overlapping
manner.
B

D D1 D2 D3 D4 The master latch L1 uses the system


clock C to latch system data from the
I T1 T2 T3 T4 data input D and to output this data
onto +L1. Clock B is used after clock
+L1 D1 T3 A to latch the system data from latch
L1 and to output this data onto +L2.
+L2 T3

Polarity-hold SRL design and


operation

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 41
Comparing three scan cell designs
Advantages Disadvantages

Muxed-D Scan Compatibility to modern Add a multiplexer


Cell designs delay
Comprehensive support
provided by existing design
automation tools
Clocked-Scan No performance degradation Require additional
Cell shift clock routing
LSSD Scan Insert scan into a latch-based Increase routing
Cell design complexity
Guarantee to be race-free

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 42
Scan Architectures
 Full-Scan Design
 All or almost all storage element are converted into scan cells
and combinational ATPG is used for test generation
 Partial-Scan Design
 A subset of storage elements are converted into scan cells
and sequential ATPG is typically used for test generation
 Random-Access Scan Design
 A random addressing mechanism, instead of serial scan
chains, is used to provide direct access to read or write any
scan cell
43
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 43
Full-Scan Design
 All storage elements are replaced with scan cells
 All inputs can be controlled
 All outputs can be observed
 Advantage:
 Converts sequential ATPG into combinational ATPG
 Almost full-scan design
 A small percentage of storage elements are not replaced
with scan cells
– For performance reasons
 Storage elements that lie on critical paths
– For functional reasons
 Storage elements driven by a small clock domain that are
deemed too insignificant to be worth the additional scan
insertion effort
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 44
Muxed-D Full-Scan Design
X1 Y1
X2 Combinational logic
X3
Y2 The three D flip-
FF1 FF2 FF3 flops, FF1, FF2 and
D Q D Q D Q
FF3, are replaced
CK . . with three muxed-D
scan cells, SFF1,
SFF2 and SFF3,
respectively.
Sequential circuit example

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 45
Muxed-D Full-Scan Design
To form a scan chain,
X1 Y1
PI X2 PO the scan input SI of
X3 Combinational logic Y2
SFF2 and SFF3 are
PPI PPO
connected to the output
Q of the previous scan
cell, SFF1 and SFF2,
SFF1 SFF2 SFF3
respectively. In
DI DI DI
SI SI Q . SI Q . SI Q . SO addition, the scan input
SE SE SE SI of the first scan cell
SE
CK
. . . . SFF1 is connected to
the primary input SI,
and the output Q of the
last scan cell SFF3 is
(a) Muxed-D full-scan circuit connected to the
primary output SO.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 46
Muxed-D Full-Scan Design
• Primary inputs (PIs) • Primary outputs (POs)
– the external inputs to the – the external outputs of the
circuit circuit
– can be set to any required logic – can be observed
values – are observed directly in
– set directly in parallel from the – parallel from the external
external inputs
outputs
• Pseudo primary inputs • Pseudo primary
(PPIs) outputs (PPOs)
– the scan cell outputs
– the scan cell inputs
– can be set to any required logic
values – can be observed
– are set serially through scan – are observed serially through
chain inputs scan chain outputs

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 47
Muxed-D Full-Scan Design

PI V1: PI V2: PI
SE
S H C H S H C
CK
SFF1.Q 0 1 1 1 L L 1 0 1 1 L
SFF2.Q X 0 1 1 H H L 1 0 0 L
SFF3.Q X X 0 0 L L H L 1 1 H

V1: PPI V2: PPI


PO PPO
observation observation

S: shift operation / C: capture operation / H: hold cycle

(b) Test operations

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 48
Muxed-D Full-Scan Design
Circuit Scan TM SE
Operation cell
type mode

Normal Normal 0 0

Shift Shift 1 1
Operation

Capture Capture 1 0
Operation

Circuit operation type and scan cell mode

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 49
Clocked Full-Scan Design
In a muxed-D full-
X1 Y1 scan circuit, a scan
PI X2 PO enable signal SE is
X3 Combinational logic Y2
PPI PPO used.

In a clocked full-
scan design, two
SFF1 SFF2 SFF3 operations are
DI DI DI
SI SI Q . SI Q . SI Q . SO
distinguished by
DCK SCK DCK SCK DCK SCK properly applying
DCK
SCK
. . . . the two independent
clocks SCK and
DCK during shift
mode and capture
Clocked full-scan circuit mode.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 50
LSSD Full-Scan Design
 Single-latchdesign
 Double-latch design

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 51
LSSD Full-Scan Design
X1 X3 The output port
Combinational logic 1 Combinational logic 2 Y2
X2 Y1 +L1 of the master
latch L1 is used to
SRL1 SRL2 SRL3
drive the
D D D combinational
SI I +L2 I +L2 I +L2 SO
C C C logic of the
A +L1 A +L1 A +L1
B B B design. In this
C1 .. .. case, the slave
A
B . latch L2 is only
C2
used for scan
testing.
Single-latch design

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 52
In normal mode, the C1
LSSD Full-Scan Design and C2 clocks are used
in a non-overlapping
Manner.
During the shift
X1 Y1 operation, clocks A and
X2 Combinational logic
X3 Y2 B are applied in a non-
overlapping manner,
SRL1 SRL2 SRL3 the scan cells SRL1 ~
D D D
. SRL3 form a single
SI I +L2 . I +L2 . I +L2 SO
scan chain from SI to
C C C
A +L1 A +L1 A +L1 SO.
B B B
During the capture
C1 .. .. operation, clocks C1
A
C2 or B . . and C2 are applied to
load the test response
from the combinational
Double-latch design logic into the scan
cells.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 53
LSSD Design Rules
 All storage elements must be polarity-hold latches.
 The latches are controlled by two or more non-
overlapping clocks.
 A set of clock primary inputs must follow three
conditions:
 All clock inputs to SRLs must be inactive when clock PIs are
inactive
 The clock input to any SRL must be controlled from one or
more clock primary inputs
 No clock can be ANDed with another clock or its
complement

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 54
LSSD Design Rules
 Clock primary inputs must not feed the data inputs to
SRLs either directly or through combinational logic.
 Each system latch must be part of an SRL, and each
SRL must be part of a scan chain.
 A scan state exists under certain conditions:
 Each SRL or scan out SO is a function of only the preceding
SRL or scan input SI in its scan chain during the scan
operation
 All clocks except the shift clocks are disabled at the SRL
clock inputs

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 55
Partial-Scan Design
 Was once used in the industry long before
full-scan design became the dominant scan
architecture.
 Can also be implemented using muxed-D
scan cells, clocked-scan cells, or LSSD scan
cells.
 Either combinational ATPG or sequential
ATPG can be used.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 56
Partial-Scan Design
A scan chain is onstructed
X1 Y1 with two scan cells SFF1 and
PI X2 PO
X3 Combinational logic Y2 SFF3, while flip-flop FF2 is
PPI PPO left out.
It is possible to reduce the test
generation complexity by
SFF1
. FF2 SFF3
splitting the single clock into
DI DI
two separate clocks, one for
SI SI Q DI Q SI Q . SO controlling all scan cells, the
SE SE other for controlling all non-
SE
CK
. . . scan storage elements.
However, this may result in
additional complexity of
routing two separate clock
An example of muxed-D partial- trees during physical
scan design implementation.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 57
Partial-Scan Design
 Scan cell selection
 A functional partitioning approach
– A circuit is composed of a data path portion and a control portion
– Storage elements on the data path are left out of the scan cell
replacement process
– Storage elements on the control path can be replaced with scan cells
 A pipelined or feed-forward partial-scan design approach
– Make the sequential circuit feedback-free by selecting the storage
elements to break all sequential feedback loops
– First construct a structure graph for the sequential circuit
 A balanced partial-scan design approach
– Use a target sequential depth to simply the test generation process for
the pipelined or feed-forward partial-scan design

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 58
Partial-Scan Design - Structure Graph
A feedback-free sequential circuit
 Use a directed acyclic graph (DAG)
 The maximum level in the structure graph
is referred to as sequential depth
A sequential circuit containing feedback
loops
 Use a directed cyclic graph (DCG)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 59
Sequential circuit and its structure graph

C1 FF3 C3 FF5 1 3 5
FF1

FF2 C2
2 4
FF4

(a) Sequential Circuit (b) Structure graph


Sequential depth is 3
The sequential depth of a circuit is equal to the maximum number of clock
cycles that needs to be applied in order to control and observe values to and
from all non-scan storage elements
• The sequential depth of a full-scan circuit is 0

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 60
Partial-Scan Design
 Advantage:
 Reduce silicon area overhead
 Reduce performance degradation
 Disadvantage:
 Can result in lower fault coverage
 Longer test generation time
 Offers less support for debug, diagnosis
and failure analysis

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 61
Random-Access Scan Design
 Advantages of RAS:
 Can control or observe individual scan cells without affecting
others
 Reduce test power dissipation
 Simplify the process of performing delay test
 Disadvantages of traditional RAS:
 High overhead in scan design and routing
 No guarantee to reduce the test application time
 Progressive Random-Access Scan( PRAS )
was proposed to alleviate the disadvantages
in traditional RAS

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 62
Traditional random-access scan architecture
PI Combinational logic PO
All scan cells are
organized into a
SC SC … SC two-dimensional
array. A ┌ log2n ┐ -
Row (X) decoder

CK
SC SC … SC SI bit address shift
SCK register, where n is


SO the total number of
SC SC … SC scan cells, is used to
specify which scan
Column (Y) decoder cell to access.
Address shift register AI

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 63
Progressive Random-Access Scan (PRAS)
Structure is similar to that of a static
SD SD
random access memory (SRAM) cell
or a grid addressable latch.
RE
Ф Ф In normal mode, all horizontal row
D Q enable (RE) signals are set to 0,
Ф Ф Ф Ф forcing each scan cell to act as a
normal D flip-flop.

In test mode, to capture the test


response from D, the RE signal is set
PRAS scan cell design to 0 and a pulse is applied on clock
Φ, which causes the value on D to be
loaded into the scan cell.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 64
Progressive Random-Access Scan (PRAS)
Sense-amplifiers & MISR PO
… Rows are enabled in a

Row enable shift register

SC SC SC fixed order.

Combinational logic
SC SC … SC
It is only necessary to


supply a column address
… SC
SC SC
to specify which scan cell

TM Test Column line drivers PI
in an enabled row to
SI/SO control … access.
CK logic Column address decoder

CA

PRAS Architecture

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 65
PRAS - test procedure
for each test vector vi (i = 1, 2, …, N) {
/* Test stimulus application */
For each test
/* Test response compression */ vector, the test
enable TM;
for each row rj (j = 1, 2, …, m) {
stimulus
read all scan cells in rj / update MISR; application and
for each scan cell SC in rj
/* v(SC): current value of SC */
test response
/* vi(SC): value of SC in vi */ compression are
if v(SC) ≠ vi(SC) conducted in an
update SC;
} interleaving
/* Test response acquisition */ manner when the
disable TM;
apply the normal clock; test mode signal
} TM is enabled.
scan-out MISR as the final test response;

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 66
Scan Design Rules
Design Style Scan Design Rule Recommended Solution

Tri-state buses Avoid during shift Fix bus contention during shift

Bi-directional I/O ports Avoid during shift Force to input or output mode
during shift
Gated clocks (muxed-D full-scan) Avoid during shift Enable clocks during shift

Derived clocks (muxed-D full- Avoid Bypass clocks


scan)
Combinational feedback loops Avoid Break the loops
Asynchronous set/reset signals Avoid Use external pin(s)
Clocks driving data Avoid Block clocks to the data portion

Floating buses Avoid Add bus keepers


Floating inputs Not recommended Tie to Vcc or ground
Cross-coupled NAND/NOR gates Not recommended Use standard cells

Non-scan storage elements Not recommended for full-scan Initialize to known states,
Design bypass, or make transparent

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 67
Tri-State Buses
SFF1
DI
Bus contention occurs when
EN1 two bus drivers force opposite
SI Q
SE … logic values onto a tri-state
D1 bus.
SFF2
Functional
DI Bus contention is designed not
enable
logic
. SI Q . EN2
to happen during the normal
SE … Bus
operation, and is typically
. D2
avoided during the capture
SFF3
operation.
DI
SI SI Q . EN3
SE . SE … However, during the shift
CK . D3 operation, no such guarantees
can be made.
Original Circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 68
Tri-State Buses
SFF1 Bus keeper EN1 is forced to 1 to
DI
EN1
enable the D1 bus driver,
SI Q
SE while EN2 and EN3 are

D1 set to 0 to disable both D2
SFF2 and D3 bus drivers, when
Functional
DI SE = 1.
enable
logic
. SI Q . EN2
SE . …
. D2
Bus A bus without a pull-up,
SFF3 pull-down, or bus keeper
DI may result in fault
SI SI Q . EN3
SE . SE . …
coverage loss, the bus
CK . D3
keeper is added.

Modified circuit fixing bus contention

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 69
Bi-Directional I/O Ports
Conflicts may occur at a
bidirectional I/O port during the
DI shift operation.
SI Q
SE
Since the output value of the
CK BO . I/O scan cell can vary during the
BI
shift operation, the output tri-
state buffer may become active,
resulting in a conflict if BO and
the I/O port driven by the tester
have opposite logic values.
(a) Original circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 70
Bi-Directional I/O Ports
Fix this problem by forcing the
tri-state buffer to be inactive
SE when SE = 1, and the tester is
DI used to drive the I/O port during
SI Q the shift operation.
SE
BO . I/O
During the capture operation, the
CK BI applied test vector determines
whether a bi-directional I/O port
is used as input or output and
controls the tester appropriately.
(b) Modified circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 71
Gated Clocks

A DFF
D Q
LAT D Q
Clock EN CEN

gating D Q GCK
logic G
Although clock gating is a
D Q good approach for reducing
CK . . . power consumption, it prevents
the clock ports of some flip-
flops from being directly
controlled by primary inputs.
(a) Original circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 72
Gated Clocks The clock gating function
should be disabled at least
during the shift operation.
TM
or
SE B DFF
D Q LAT D Q
CEN
Clock EN D Q GCK

gating G
logic
D Q
CK . . .

(b) Modified Circuit An OR gate is used to force


CEN to 1 using either the test
mode signal TM or the scan
enable signal SE.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 73
Derived clocks
DFF1
A derived clock is a clock
D Q signal generated internally
from a storage element or a
D Q . ICK .
DFF2
clock generator.

CK D Q These clock signals need


to be bypassed during the
entire test operation.

(a) Original circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 74
Derived clocks

DFF1
A multiplexer selects CK,
D Q which is a clock directly
D Q . ICK 0 . controllable from a
primary input, to drive
CK . 1
DFF2
DFF1 and DFF2, during
TM D Q the entire test operation,
when TM = 1.

(b) Modified circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 75
Combinational Feedback Loops
Depending on whether the
number of inversions on a
Combinational logic combinational feedback loop
is even or odd, it can
.
D
.S introduce either sequential
behavior or oscillation into a
design.
(a) Original circuit Since the value stored in the
loop cannot be controlled or
determined during test, this
The best way is to can lead to an increase in test
rewrite the RTL generation complexity or
code. fault coverage loss.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 76
Combinational Feedback Loops
It can be fixed by using a
Combinational logic test mode signal TM.

D . 0 .S This signal permanently


1 disables the loop
Q DI
SI throughout the entire
SI
TM SE SE shift and capture
operations, by inserting a
CK scan point to break the
loop.

(b) Modified circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 77
Asynchronous Set/Reset Signals

DI SFF1
SI Q RL Asynchronous set/reset
SE signals of scan cells that
R SFF2 are not directly controlled
DI from primary inputs can
SI Q
SE prevent scan chains from
shifting data properly.
CK .
(a) Original circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 78
Asynchronous Set/Reset Signals
TM To avoid this problem, these
SFF1
asynchronous set/reset signals are
DI
SI Q RL forced to an inactive state during the
SE shift operation.
R SFF2
DI Use an OR gate with an input tied to
SI Q
SE the test mode signal TM .When TM =
1, the asynchronous reset signal RL
CK . of scan cell SFF2 is permanently
disabled during the entire test
operation.
(b) Modified circuit

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 79
Scan Design Flow Original
design

Scan design rule checking and repair

Testable
design
Scan synthesis

Scan configuration

. Scan replacement

Constraint
. Scan reordering Layout
information
&
control . Scan stitching
information

Scan
design

. Scan extraction Test generation

Scan verification

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 80
Scan Design Flow
 Scan Design Rule Checking and Repair
 Identify and repair all scan design rule violations to convert
the original design into a testable design
 Also performed after scan synthesis to confirm that no new
violations exist
 Scan Synthesis
 Converts a testable design into a scan design without
affecting the functionality of the original design
– Scan Configuration
– Scan Replacement
– Scan Reordering
– Scan Stitching

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 81
Scan Design Flow
 Scan Extraction
 Is the process used for extracting all scan cell instances from all scan
chains specified in the scan design
 Scan Verification
 A timing file in standard delay format (SDF) which resembles the timing
behavior of the manufactured device is used to
– Verifying the scan shift operation
– Verifying the scan capture operation

 Scan Design Costs


 Area overhead cost:
 I/O pin cost
 Performance degradation cost
 Design effort cost

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 82
Scan Design Rule Checking and Repair
CK1
CD1 An arrow means a data
transfers from one clock
CCD1 CCD2 domain to a different clock
CK2 domain.
CD2 CD3 CCD5

7 clock domains, CD1 ~ CD7


CCD3 CCD4
CK3
CD4 CD5 CD6 CD7 5 crossing-clock-domain data
paths, CCD1 ~ CCD5

Clock grouping example

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 83
Scan Synthesis
 Includes four separate and distinct steps:
 Scan Configuration
– The number of scan chains used
– The types of scan cells used to implement these scan chains
– Which storage elements to exclude from the process
– How the scan cells are arranged
 Scan Replacement
– Replaces all original storage elements in the testable design with their
functionally-equivalent scan cells
 Scan Reordering
– The process of reordering the scan chains based on the physical scan
cell locations, in order to minimize the amount of interconnect wires
used to implement the scan chains
 Scan Stitching
– Stitch all scan cells together to form scan chains

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 84
Scan Synthesis - Scan Configuration
Mixing negative-edge and positive-edge scan cells in a scan chain

SC1 SC2 This circuit structure comprising a


DI DI negative-edge scan cell followed by a
SI Q X SI Q Y
SI positive-edge scan cell.
SE SE

CK .
Circuit Structure

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 85
Scan Synthesis - Scan Configuration
Mixing negative-edge and positive-edge scan cells in a scan chain

Y will first take on the state X at


the rising CK edge, before X is
loaded with the SI value at the
CK falling CK edge.
X D1 D2 D3
If we accidentally place the
Y D1 D2 D3 positive-edge scan cell before
the negative-edge scan cell,
both scan cells will always
incorrectly contain the same
Timing Diagram value at the end of each
shift clock cycle.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 86
Scan Synthesis - Scan Configuration

A lock-up latch is inserted


Clock domain 1 Clock domain 2
between adjacent cross-
SCp Lock-up latch SCq
clock-domain scan cells, in
DI DI
SI SI Q X
D Q
Y
SI Q
Z order to guarantee that any
SE SE clock skew between the
clocks can be tolerated.
CK1 .
CK2

Circuit Structure

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 87
Scan Synthesis - Scan Configuration

CK1 During each shift clock


cycle, X will first take on
CK2 the SI value at the rising
CK1 edge. Then, Z will take
X D1 D2 D3
on the Y value at the rising
Y D1 D2 D3
CK2 edge.

Z D1 D2 D3

Timing diagram

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 88
Special-Purpose Scan Designs
 Enhanced scan
 Snapshot scan
 Error-resilient scan

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 89
Enhanced Scan
 Why enhanced scan is introduced?
 Testing for a delay fault requires a pair of test
vector at speed
 Be able to capture the response to the transiton at
operating frequency
 What is new?
 Allow the typical scan cell to store two bits of data
 Achieved through the addition of a D latch

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 90
Enhanced-scan Architecture and Operation
X1 Y1 The first test vector V1 is first
X2
.. Combinational logic
Y2
.. shifted into the scan cells (SFF1
. .Y
Xn m ~ SFFs) and then stored into the
LA1 LA2 LAs additional latches (LA1 ~ LAs)
D D D when the UPDATE signal is set
UPDATE . C
Q
C
Q
… C
Q
to 1.
SFF1
. SFF2 SFFs
The second test vector V2 is
DI DI DI
SDI
. SI Q . SI Q . … SI Q shifted into the scan cells while
SE SE SE SE the UPDATE signal is set to 0.
CK . . . …

Enhanced-scan architecture

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 91
Enhanced Scan - Advantages & Disadvantages

 Advantages
 High delay fault coverge achieved by applying any
arbitrary pair of test vectors
 Disadvantages
 Requiring an additional scan-hold D latch
 Difficulty of maintaining the timing relationship
between UPDATE and CK
 Over-test problem caused by false paths

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 92
Snapshot scan
 Why snapshot scan is introduced?
 Capture a snapshot of the internal states
 Without disruption of the functional operation
 What is new?
 Add a scan cell (2-port D latches) to each storage
element of interest
 Implement scan-set architecture

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 93
(1) Test data can be shifted into
Snapshot scan and out of the scan cells
(SFF1 ~ SFFs) from the SDI
and SDO pins using TCK.
(2) The test data can be
X1 Y1
transferred to the system
X2
.. Combinational logic .. Y2
. . latches (L1 ~Ls) in parallel
Xn Ym
L1 L2 Ls
through their 2D inputs
1D Q . 1D Q . 1D Q . using UCK.
C1 C1 C1 (3) The system latch contents
C2 C2 C2
2D 2D 2D can be loaded into the scan
CK .. .. … flip-flops through their 1D
UCK … inputs using DCK.
SFF1 SFF2 SFFs
(4) The circuit can be operated
1D 1D 1D
SDI 2D Q . 2D Q . … 2D Q . SDO in normal mode using CK to
C1 C1 C1 capture the values from the
C2 C2 C2
DCK .. .. …

combinational logic into the
TCK system latches (L1 ~ Ls).
Scan-set architecture
VLSI Test Principles and Architectures
EE141 Ch. 2 - Design for Testability - P. 94
Snapshot scan - Advantages & Disadvantage
 Advantages
 Significantly improve the circuit's diagnostic
resolution and silicon debug capability
 Allow on-chip, on-board and in-system
debug and diagnosis
 Disadvantage
 Increased area overhead

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 95
Error-Resilient scan
 Why is error-resilient scan introduced?
 Soft errors are transient single-event upsets with various
causes
 Soft errors increase as shrinking IC geometry and increasing
frequency
 Reliability concerns are created for protecting a device from
soft errors
 What can error-resilient scan do?
 Observe soft errors occurring in memories and storage
elements
 Observe a transient fault in a combinational gate captured by
a memory or storage element

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 96
C-element truth table

Error-Resilient Scan O1 O2 Q

0 0 1
1 1 0
0 1 Previous value retained
SCB Scan portion 1 0 Previous value retained
LA LB
SI
SCA
1D
C1 Q
C1
1D
Q
O2. . SO
C-element Keeper
2D
CAPTURE C2 .
. . Q
PH1
1D
.
UPDATE PH2 C1
. . C1 Q 2D
Q
O1

D . 1D C2 In test mode, TEST is set to


CLK . 1, and the C-element acts as
System flip-flop
TEST an inverter.
In system mode, TEST is set
Error-resilient scan cell to 0, and the C-element acts
as a hold-state comparator.

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 97
Error-Resilient scan - Advantages & Disadvantages

 Advantages
 Provide online detection and correction of
soft errors
 Embed with scan testing capability
 Disadvantages
 Require many test signals and clocks
 Area overhead

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 98
RTL Design for Testability
 Why are RTL designs needed?
 Growth of device number
 Tight timing
 Potential yield loss
 Low-power issues
 Increased core reusability
 Time-to market pressure

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 99
Comparison of design flows at RTL and Gate-level

RTL design

Logic synthesis RTL design


Gate-level design Testability repair
Testability repair
Testable RTL design
Testable design
Logic/scan synthesis
Scan synthesis

Scan design Scan design

Gate-level testability repair RTL testability repair


design flow design flow

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 100
RTL Scan Design Rule Checking
 Fast synthesis
 Mapped onto combinational primitives and
high-level models
 Identify testability problems
 Static solutions (without simulation)
 Dynamic solutions (with simulation)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 101
RTL Scan Design Repair – An Example
 original

always @(posedge clk)


if (q == 4'b1111)
start D
clk_15 <= 1; clk_15
Q Q d
else
begin
clk_15 <= 0; clk
q <= q + 1;
end
always @(posedge clk_15)
d < = start;

(a) Generated clock (RTL code) (b) Generated clock (Schematic)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 102
RTL Scan Design Repair – An Example
 Atuomatic repair at the RTL using TM
always @(posedge clk)
if (q == 4'b1111)
start D
clk_15 <= 1; Q
clk_15
Q d
else
begin
clk_15 <= 0; clk . 0
1
clk_test

q <= q + 1;
end TM
assign clk_test = (TM)? clk : clk_15;
always @(posedge clk_test)
d < = start;

(c) Generated clock (RTL code) (d) Generated clock repair (Schematic)

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 103
RTL Scan Synthesis

 RTL scan synthesis


 The scan equivalent of each storage element
refers to an RTL structure
 The scan chains are inserted into the RTL design
 Pseudo RTL scan synthesis
 Specify pseudo primary inputs and pseudo primary
outputs
 Can cope with many other DFT structures
 Perform one-pass or single-pass synthesis

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 104
RTL Scan Extraction and Verification
 Scan extraction
 Rely on performing fast synthesis on the RTL scan design
 Generate a software model for tracing the scan connection

 Scan verification
 Rely on generating a flush testbench to simulate flush tests
 The flush testbench can be used for both RTL and gate-level
designs
 Apply broadside-load test for verifying the scan capture
operation at RTL

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 105
Concluding Remarks
 DFT has become vital for ensuring
product quality
 Scan design is the most widely used
DFT technique
 New design and test challenges
 Further reduce test power, test data volume
and test application time
 Cope with physical failures of the
nanometer design era

VLSI Test Principles and Architectures


EE141 Ch. 2 - Design for Testability - P. 106

Вам также может понравиться