CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores...

22
Sugestões Seminário Teste baseado em Iddq Teste de microprocessadores Tolerância a falhas em FPGA Processadores Tolerantes a Falhas Teste de Conversores AD e DA Teste de Filtros Analógicos Teste de blocos analógicos Teste de MEMs

Transcript of CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores...

Page 1: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Sugestões – Seminário

• Teste baseado em Iddq

• Teste de microprocessadores

• Tolerância a falhas em FPGA

• Processadores Tolerantes a Falhas

• Teste de Conversores AD e DA

• Teste de Filtros Analógicos

• Teste de blocos analógicos

• Teste de MEMs

Page 2: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Response Compaction

• Severe amounts of data in CUT response to LFSR patterns – example: Generate 5 million random patterns

CUT has 200 outputs

Leads to: 5 million x 200 = 1 billion bits response

• Uneconomical to store and check all of these responses on chip

• Responses must be compacted

Page 3: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Definitions• Signature - Any statistical circuit property distinguishing

between bad and good circuits

• Signature analysis – Compact good machine response into

good machine signature. Actual signature generated

during testing, and compared with good machine signature

• Compaction – Drastically reduce # bits in original circuit

response – loose information

• Aliasing – Due to information loss, signatures of good and

some bad machines match

• Compression – Reduce # bits in original circuit response –

no information loss – fully invertible (can get back original

response)

Page 4: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Transition Counting– Count # transitions from 0 1 and 1 0 as a signature

Page 5: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Digital Integration

• Add up all outputs

• Has high aliasing

+

signaturecut

n n

carry_out

Page 6: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Improved Digital Integration

• Add up all outputs + carry_out→carry_in

• Minimum aliasing: 2-n

+

signaturecut

n n

carry_out carry_in

Page 7: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

LFSR for Response Compaction

• Use cyclic redundancy check code (CRCC) generator

(LFSR) for response compacter

• Treat data bits from circuit POs to be compacted as a

decreasing order coefficient polynomial

• CRCC divides the PO polynomial by its characteristic

polynomial

Leaves remainder of division in LFSR

Must initialize LFSR to seed value (usually 0) before testing

• After testing – compare signature in LFSR to known good

machine signature

• Critical: Must compute good machine signature

Page 8: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Example Modular LFSR

Response Compacter

• LFSR seed value is “00000”

• Usually Type-2 LFSR is used

Page 9: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

0 0 0

1

00110

Output

response

Polinomial division:

c(x)

LFSR Test Compaction

Page 10: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

0 0 0

1

c(x)

0 0 0

Polinomial division:

LFSR Test Compaction

Page 11: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

1 0 0

1 0 0 0

q(x)

c(x)

1

0

Polinomial division:

LFSR Test Compaction

Page 12: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

00 1 0 0

q(x)

00

c(x)

0 1 0

1

Polinomial division:

LFSR Test Compaction

Page 13: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

00

0 0 1 0 q(x)

001

c(x)

0 0 1

1

Polinomial division:

LFSR Test Compaction

Page 14: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

000

0 0 0 1q(x)

0011

c(x)

0 0 0

1

Polinomial division:

LFSR Test Compaction

Page 15: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

0001

1 0 0 0

q(x)

00110

c(x)

1 0 0

1

Polinomial division:

LFSR Test Compaction

Page 16: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

00010

0 1 0 0

q(x)

r(x)

00110

c(x)

0 1 0

1

Polinomial division:

LFSR Test Compaction

Page 17: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

q(x) = +r(x)p(x)

c(x)

p(x) = x5+x2+x c(x) = x3+1

q(x) = x2-x5- x2

r(x) = x

100110 001001

000100

000010

Polinomial division:

LFSR Test Compaction

Page 18: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Multiple-Input Signature

Register (MISR)

• Problem with ordinary LFSR response compacter:

Too much hardware if one of these is put on each

primary output (PO)

• Solution: MISR – compacts all outputs into one

LFSR

Works because LFSR is linear – obeys superposition

principle

Superimpose all responses in one LFSR – final

remainder is XOR sum of remainders of polynomial

divisions of each PO by the characteristic polynomial

Page 19: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Modular MISR Example

Page 20: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Some other possibilities

• Used with scan chains

Built-In Logic Block Observer (BILBO)

D Q

tpg0

sa0

D Q

tpg1

sa1

D Q

tpg2

sa2

D Q

tpg3

sa3

Scan outmux

clk

mode

Scan in

c1

c2

01

Page 21: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

BILBO – Works as Both a PG and a RC

• Built-in Logic Block Observer (BILBO) -- 4 modes:

1. Flip-flop

2. LFSR pattern generator

3. LFSR response compacter

4. Scan chain for flip-flops

Page 22: CMP116: Teste de Sistemas de Hardwarefabris/ENG04057/Aula15.pdf · •Teste de microprocessadores •Tolerância a falhas em FPGA •Processadores Tolerantes a Falhas •Teste de

Complex BIST Architecture

• Testing phase I:

LFSR1 generates tests for CUT1 and CUT2

BILBO2 (LFSR3) compacts CUT1 (CUT2)

• Testing phase II:

BILBO2 generates test patterns for CUT3

LFSR3 compacts CUT3 response