0% found this document useful (0 votes)
59 views24 pages

VLSI Design I VLSI Design I VLSI Design I VLSI Design I

The document discusses various techniques for designing integrated circuits to improve testability, including: - Ad-hoc testing techniques like adding test points and multiplexers. - Scan-based techniques like chaining all registers into a shift register to set up inputs and observe outputs. - Built-in self-test techniques using on-chip circuitry like linear feedback shift registers to generate test patterns. - Boundary scan architecture which provides a standard interface for board-level testing through the I/O pins of chips.

Uploaded by

Anand Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views24 pages

VLSI Design I VLSI Design I VLSI Design I VLSI Design I

The document discusses various techniques for designing integrated circuits to improve testability, including: - Ad-hoc testing techniques like adding test points and multiplexers. - Scan-based techniques like chaining all registers into a shift register to set up inputs and observe outputs. - Built-in self-test techniques using on-chip circuitry like linear feedback shift registers to generate test patterns. - Boundary scan architecture which provides a standard interface for board-level testing through the I/O pins of chips.

Uploaded by

Anand Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

VLSI Design I

Design for Test

Hes dead Jim...

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

Design For Test


What can we do to increase testability? increase observability add more pins (?!) add small probe bus, selectively enable different values onto bus use a hash function to compress a sequence of values (e.g., the values of a bus over many clock cycles) into a readsmall number of bits for later read-out readcheap read-out of all state information increase controllability subuse muxes to isolate sub-modules and select sources of test data as inputs provide easy setup of internal state Design strategies for test (design for testability): adad-hoc testing scanscan-based approaches selfbuiltself-test and built-in testing

MicroLab, VLSI-23 (2/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

co3 Q3 co2 Q2 co1

. . .
load test & test load test 1 0 & =1 1 0 & =1

co3 Q3 co2 Q2 co1 Q1 co0 Q0

& =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

MicroLab, VLSI-23 (3/24)

JMM v1.3

AdAd-hoc testing

#2

bus oriented test technique


bus unit 1 unit 2 unit 3 unit 4

multiplexer based testing


A inp 1 0 1 0 Module B B control Module A Module B B inp Module A Module B

A control Module A

0 1 A out test1 test1 test2 test2

0 B out

Module A test: {test1,test2}={0,1}


MicroLab, VLSI-23 (4/24)
JMM v1.3

ScanScan-based test techniques #1


Idea: Idea: have a mode in which all registers are chained into one giant shift register which can be loaded/ readread-out bit serially. Test remaining (combinational) logic by (1) in test mode, shift in new values for all register bits thus setting up the inputs to the combinational logic (2) clock the circuit once in normal mode, latching the outputs of the combinational logic back into the registers (3) in test mode, shift out the values of all register bits and compare against expected results. One can shift in new test values at the same time (i.e., combine steps 1 and 3).
. . . scanscan-out D Q clk normal/test 1 0 D Q

CL
shift out

1 0

QQ DD QQ DD clk clk clk clk


shift in normal/test

clk scanscan-in normal/test


MicroLab, VLSI-23 (5/24)

JMM v1.3

ScanScan-based test techniques #2


serial scan
scanscan-out DD QQ DD QQ clk clk clk clk scanscan-in CL1 DD QQ DD QQ clk clk clk clk CL2 DD QQ DD QQ clk clk clk clk

Scan registers

serial scan chain

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

Level sensitive scan design


A popular approach is the level sensitive scan design technique from T.W. Williams (LSSD)
the circuit is level sensitive (steady state response is independent of circuit and wire delays within a circuit): hazard free each register may be converted to a serial shift register
D T C 1 I A L1 D B L2 T2 reg A
D C I A D C I A D C I A B D C I A D C I A D C I A

reg B
B

Comb logic

shiftshift-clk c1 serial data in

c1 shiftshift-clk c2

shift data into reg A

normal operation

shift reg B out

MicroLab, VLSI-23 (7/24)


JMM v1.3

serial data out

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 clka clka clkb

clkb

clkb clka
MicroLab, VLSI-23 (8/24)

SelfSelf-Test Techniques: BILBO


ScanProblem: Scan-based approach is great for testing combinational logic but can be impractical when trying to test memory blocks, etc. because because fault of the number of separate test values required to get adequate fault coverage. onSolution: use on-chip circuitry to generate test data powerand check the results. Can be used at every power-on to verify correct operation!

1 0

circuit under test

normal/test FSM A FSM B okay

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

Linear Feedback Shift Register (LFSR)


If Cis are not programmable, can eliminate AND gates and some XOR gates... =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 &

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)

MicroLab, VLSI-23 (10/24)


JMM v1.3

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)

normal operation of circuit

scan mode mode

normal operation of circuit

normal operation of circuit

JMM v1.3

BILBO

#2

example of a BILBO element with polynomials 1+x+x4


c1 c0 scan in 0 1 D0 & D1 & D2 & D3 scan out Q clk Q4 & Q clk Q3 & =1 D
MicroLab, VLSI-23 (14/24)
JMM v1.3

&

=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

function scan mode reset PRSG or signature analyzer parallel registers

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

SystemSystem-Level Test: Boundary Scan


The IEEE 1149.1 boundary scan architecture provides a standardized serial scan path through the I/O pins of a chip (also called JTAG) at the board level, chips obeying the standard may be connected in a variety of series and parallel combinations for board testing (replacing bead of nails) standardized tests:
connectivity tests between components sampling and setting chip I/Os selfbuilt-indistribution an collection of self-test or built-in-test results

PCB interconnect

serial test interconnect

IO pad and boundary cell

serial data in
JMM v1.3

serial data out


MicroLab, VLSI-23 (16/24)

Boundary Scan: Test Access Port


The test access port (TAP) is a definition of the interface that needs to be included in an IC
TCK: test clock input TMS: test mode select TDI: test date input TDO: test data output TRST: optional signal for asynchronous reset the TAP

the test architecture


test data registers TDI instruction decode instruction registers clocks/control TCK TMS (TRST)
JMM v1.3

0 1

TDO

TAP controller
MicroLab, VLSI-23 (17/24)

Boundary Scan: TAP controller


State machine for the TAP controller. TMS is the control signal.

test1 test-logic reset 0 1 run0 run-test/idle 1

select-DRselect-DR-scan 0 capturecapture-DR 0 shiftshift-DR 1 exit1exit1-DR 0 pausepause-DR 0 1 exit2exit2-DR 1 updateupdate-DR 1 0 0

select-IRselect-IR-scan 1 0 capturecapture-IR 0 shiftshift-IR 1 exit1exit1-IR 0 pausepause-IR 0 1 exit2exit2-IR 1 updateupdate-IR 1 0

0 1 0

1 0

MicroLab, VLSI-23 (18/24)


JMM v1.3

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

FSM state shiftIR clockIR updateIR

capture- shiftcapture-IR shift-IR

exit1pauseexit2- updateexit1-IR pause-IR exit2-IR update-IR

MicroLab, VLSI-23 (19/24)


JMM v1.3

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.

MicroLab, VLSI-23 (20/24)


JMM v1.3

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

biboundary scan bi-directional cell


next cell

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)

Boundary scan: instructions


Minimum 3 instructions
Bypass (all 0): it is used to bypass any serial data registers in a chip with a 1 bit register. This allows serialspecific chips to be tested in a serial-scan chain without having to shift through the accumulated SR stages in all the chips Extest (all 1): testing of off chip circuitry sample/preload: places the boundary scan registers (at the chips I/O pins) in the DR chain, and samples or preloads the chips I/Os

optional recommended instructions:


Intest: singleIntest: single-step testing of internal circuitry via the boundary scan registers Runbist: selfRunbist: run internal self-testing procedures within a chip

MicroLab, VLSI-23 (22/24)


JMM v1.3

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)

MicroLab, VLSI-23 (23/24)


JMM v1.3

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,...

MicroLab, VLSI-23 (24/24)


JMM v1.3

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy