VLSI Design I VLSI Design I VLSI Design I VLSI Design I
VLSI Design I VLSI Design I VLSI Design I VLSI Design I
Overview design for test architectures adbuiltad-hoc, scan based, built-in Goal: You are familiar with testability metrics and adscanyou know ad-hoc test structures as well as scanbased test structures. Built in test structures as BILBO and boundary scan can be applied.
MicroLab, VLSI-23 (1/24)
JMM v1.3
AdAd-hoc testing #1
AdAd-hoc test techniques are a collection of ideas aimed at reducing the test time. Common techniques are:
partitioning large sequential circuits adding test points adding multiplexers providing for easy state access
& =1
co3 Q3 co2
load test 1 0
& =1
. . .
load test & test load test 1 0 & =1 1 0 & =1
& =1
load test 1 0
& =1
Q2 co1
test
& =1
load 1 0
& =1
load test 1 0
& =1
Q1 co0
test
Q1 co0 Q0
test
vdd
& =1
vdd load
1 0
& =1
vdd load
1 0
& =1
Q0 halfhalf-adder
JMM v1.3
AdAd-hoc testing
#2
A control Module A
0 B out
CL
shift out
1 0
JMM v1.3
Scan registers
partial serial scan: sometimes it is not area and speed efficient to implement scan in every location where a register is used (signal processing)
R1 CL R2 CL R5 R6 R3
MicroLab, VLSI-23 (6/24)
JMM v1.3
CL
R4 CL
reg B
B
Comb logic
c1 shiftshift-clk c2
normal operation
c2
Scan Elements
LSSD
D C I A D T C 1 I A L1 & & & & L1 & & T1 D D B L2 & & L2 & & T2 T2
scan FF
D TI
1 0 TE
D Q clk clka
TE D TE TI TE
JMM v1.3
clkb
clkb clka
MicroLab, VLSI-23 (8/24)
1 0
pseudoGenerate pseudo-random data for most circuits by using, e.g., a linear feedback shift register (LFSR). Memory tests use more systematic FSMs to create ADDR and DATA patterns.
pseudoFor pseudo-random input data simply compute some hash of output values and compare against expected value (signature) at end of test. Memory data can be cycle-bychecked cycle-by-cycle.
MicroLab, VLSI-23 (9/24)
JMM v1.3
1 + c1 x + c 2 x 2 + c3 x 3
cn1 x n1 + cn x n
with a small number of XOR gates the cycle time is very fast. Cycle through fixed sequence ns). of states (can be as long as 2n-1 for some ns). moduloHandy for large modulo-n counters. different responses for different initial states different responses for different ci pseudopseudo-random sequence generator (PRSG)
Signature Analysis
signature analysis is used to compact a data stream into a so called signature welldifferent responses for different ci, many wellknown CRC (cyclic redundancy check) polynomials s. correspond to a specific choice of cis. serial in
=1 & c1 D Q clk =1 & c2 D Q clk =1 & c3 D Q clk .... =1 & cn-1 D Q clk cn D Q clk & D Q clk qn-1 zn
MicroLab, VLSI-23 (11/24)
JMM v1.3
=1
parallel in
=1 & c1 =1 D Q clk z1 q1 z2 =1 =1 & c2 D Q clk q2 zn-1 . . . . =1 =1 Cn-1 D Q clk =1 &
qn
LFSR Polynomials
polynomials for maximal long sequences for n equal 1 up to 32 n 1,2,3,4,6,7,15,22 5,11,21,29 10,17,20,25,28,31 9 23 18 8 12 13 14,16 19,27 24 26 30 32 examples of CRCs n 8 16
JMM v1.3
f(x) 1+x+x 1+x+xn 1+x2+xn 1+x3+xn 1+x4+xn 1+x5+xn 1+x7+xn 1+x2+x3+x4+xn 1+x+x4+x6+xn 1+x+x3+x4+xn 1+x3+x4+x5+xn 1+x+x2+x5+xn 1+x+x2+x7+xn 1+x+x2+x6+xn 1+x+x2+x23+xn 1+x+x2+x22+xn CRC 1+x+x4+x5+x7+x8 1+x2+x15+x16 MicroLab, VLSI-23 (12/24)
BILBO
#1
builtbuiltVery popular built-in test structure is the built-in logic block observation (BILBO) from Koenemann BILBO operate in 4 different modes
parallel register mode BILBO register mode PRSG or signature analysis mode BILBO PRSG mode BILBO scan mode reset mode BILBO reset mode
normal operation of circuit
BILBO register mode BILBO signature analysis mode BILBO scan mode BILBO reset mode
MicroLab, VLSI-23 (13/24)
JMM v1.3
BILBO
#2
&
=1 D
Q clk Q1
&
=1 D
Q clk Q2
&
=1 D
=1
mode A B C D
c1 c0 0 1 0 1 0 0 1 1
IDDQ Testing
A-meter (measures IDD) met VDD
GND
Idea: CMOS logic should draw no current when its not switching. So after initializing tricircuit to eliminate tri-state fights, disable pseudopowerpseudo-NMOS gates, etc., the power-supply current should be zero after all signals have settled. Good for detecting bridging faults (shorts). May want to try several different circuit states to ensure all parts of the chip have been observed.
MicroLab, VLSI-23 (15/24)
JMM v1.3
PCB interconnect
serial data in
JMM v1.3
0 1
TDO
TAP controller
MicroLab, VLSI-23 (17/24)
0 1 0
1 0
BoundaryBoundary-scan: IR
Instruction register (IR): minimum 2 bits
to next IR bit data from last cell 0 1 shiftIR clockIR D clk updateIR TRST reset & Q D clk Q IR bit
BoundaryBoundary-scan: DR
TAP data register (DR)
boundary scan registers TDI internal data register bypass register (1 bit) TDO
boundary scan register is a special case of a data register. It allows circuit board interconnections to be tested, external components tested, and the state of the chip digital I/Os to be sampled. The boundary scan register is mandatory. internal data registers are optional and add additional access to the circuit. the bypass register is a 1 bit register used to bypass a whole chip.
BoundaryBoundary-scan: DR
boundary scan input and output cells
out PAD last cell from chip last cell next cell 0 1
shiftDR mode
D Q
clockDR
D Q clk
mode
0 1
to chip
clk
updateDR
next cell 0 1
shiftDR
D Q
clockDR
D Q clk
0 1
out PAD
clk
updateDR
enable
0 1
shiftDR
D Q
clockDR
D Q clk
0 1
clk
updateDR
from chip
0 1
shiftDR
D Q
clockDR
D Q clk
0 1
bidir PAD
clk
updateDR
0 1
last cell shiftDR
D Q clk
clockDR
D Q clk
0 1
to chip
JMM v1.3
updateDR
MicroLab, VLSI-23 (21/24)
Coming Up...
Next time: Top down design. Hardware description languages, logic synthesis. Readings Weste: Weste:
(adscan7.3 through 7.3.3.3 (ad-hoc & scan-based testing) 7.3.4 through 7.3.4.1 (BILBO) (Iddq 7.3.5 (Iddq testing) 7.5 (boundary scan)
VLSIExercises: VLSI-22
pseudoEx vlsi22.1 (difficulty: easy): calculate the pseudorandom sequence of an LFSR with the implemented polynomial 1+x+x3 use the start value x=1 Result: 1,3,7,6,5,2,4,1,...