Introduction To Cmos Vlsi Design
Introduction To Cmos Vlsi Design
CMOS VLSI
Design
Lecture 17:
Design for Testability
David Harris
At a particular frequency,
Leakage problem with dynamic
aggressor and victim waveforms
logic.
align, so failure.
Stuck at 1
Stuck at 0
A2 A1
n2 n3
A0
A1
A0
n1
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 18
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 A1
n2 n3
A0
A1
A0
n1
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 19
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1
A0
n1
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 20
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0
n1
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 21
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0 {0110} {0111}
n1
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 22
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0 {0110} {0111}
n1 {1110} {0110}
n2
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 23
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0 {0110} {0111}
n1 {1110} {0110}
n2 {0110} {0100}
n3
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 24
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0 {0110} {0111}
n1 {1110} {0110}
n2 {0110} {0100}
n3 {0101}{0110}
Y
Minimum set:
17: Design for Testability CMOS VLSI Design Slide 25
Test Example
SA1 SA0 A3 n1
A2
A3 {0110} {1110} Y
A2 {1010}{1110} A1
n2 n3
A0
A1 {0100}{0110}
A0 {0110} {0111}
n1 {1110} {0110}
n2 {0110} {0100}
n3 {0101}{0110}
Y {0110} {1110}
Flop
SI Q
D
Normal mode: flip-flops behave as usual
Scan mode: flip-flops behave as shift register
scan-in
Flop
Flop
Flop
Contents of flops
can be scanned
Flop
Flop
Flop
Logic Logic
inputs Cloud Cloud outputs
Flop
Flop
values scanned
Flop
Flop
Flop
in scanout
(b)
D
Q
d
SCAN
d X
Q
s
s
SI
(c)
s
Flop
Flop
D D D
1
2
3
4
5
6
7
Flop
Flop
D D D
1 110
2
3
4
5
6
7
Flop
Flop
D D D
1 110
2 101
3
4
5
6
7
Flop
Flop
D D D
1 110
2 101
3 010
4
5
6
7
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5
6
7
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6
7
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6 011
7
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6 011
7 111 (repeats)
C[0]
C[1]
Q[2] / SO
Flop
Flop
Flop
SI 1
0 Q[0]
Q[1]
CHIP B CHIP C
CHIP A CHIP D
Serial Data In