testabilidade guido araujo julho 2003 design for testability (dft)
TRANSCRIPT
![Page 1: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/1.jpg)
Testabilidade
Guido AraujoJulho 2003
Design for Testability (DFT)
![Page 2: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/2.jpg)
DFT
• Scan-chain– Possibilita ativar uma falha internamente – Usa os flip-flops como uma longo registro deslocamento– Permite levar um determinado valor a um dado flip-flop
• Boundary scan– Estrutura de scan que permite a ATE acessar o chip– Padrão JTAG e variações
• Build-In Self-Test (BIST)– Gerador de teste para minimizar tempo de teste– Embutido dentro do CI
![Page 3: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/3.jpg)
DFT
• Scan-chain (9)– Possibilita ativar uma falha internamente – Usa os flip-flops como uma longo registro deslocamento– Permite levar um determinado valor a um dado flip-flop
• Boundary scan– Estrutura de scan que permite a ATE acessar o chip– Padrão JTAG e variações
• Build-In Self-Test (BIST)– Gerador de teste para minimizar tempo de teste– Embutido dentro do CI
![Page 4: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/4.jpg)
DFT
• Scan-chain– Possibilita ativar uma falha internamente – Usa os flip-flops como uma longo registro deslocamento– Permite levar um determinado valor a um dado flip-flop
• Boundary scan– Estrutura de scan que permite a ATE acessar o chip– Padrão JTAG e variações
• Build-In Self-Test (BIST)– Gerador de teste para minimizar tempo de teste– Embutido dentro do CI
![Page 5: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/5.jpg)
IEEE 1149.1
• O que é ?– Padrão de DFT para uniformizar o desenvolvimento de testes– Nome completo: IEEE 1149.1 Testability Bus Standard
• Objetivo– Facilitar teste integrado de chips e placas– Permitir o reuso do teste do chip na placa
• Define o que ?– Um barramento de teste para placas– Protocolo de funcionamento do barramento– Lógica de controle do chip para interface com o barramento– Células de boundary scan para conectar com os pads I/Os do chip
![Page 6: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/6.jpg)
IEEE 1149.1 (cont.)
Test Data Input
Test Mode Signal
Test Clock
Test Data Output
![Page 7: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/7.jpg)
Boundary Scan Cell
• Operação– Normal mode: IN to OUT
– Scan Mode: Sin to Sout
– Capture Mode: IN to Sout
– Update Mode: QA to OUT
![Page 8: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/8.jpg)
Boundary Scan Cell
• Operação– Normal mode: IN to OUT
– Scan Mode: Sin to Sout
– Capture Mode: IN to Sout
– Update Mode: QA to OUT
![Page 9: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/9.jpg)
Boundary Scan Cell
• Operação– Normal mode: IN to OUT
– Scan Mode: Sin to Sout
– Capture Mode: IN to Sout
– Update Mode: QA to OUT
![Page 10: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/10.jpg)
Boundary Scan Cell
• Operação– Normal mode: IN to OUT
– Scan Mode: Sin to Sout
– Capture Mode: IN to Sout
– Update Mode: QA to OUT
![Page 11: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/11.jpg)
Modo de Teste Externo (EXTEST)
Xs-a-0
![Page 12: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/12.jpg)
Modo de Teste Externo (EXTEST)
Xs-a-0
Scan
1
![Page 13: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/13.jpg)
Modo de Teste Externo (EXTEST)
Xs-a-0
Update
Scan
1
![Page 14: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/14.jpg)
Modo de Teste Externo (EXTEST)
Xs-a-0
UpdateCapture
Capture
1
0
![Page 15: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/15.jpg)
Modo de Teste Externo (EXTEST)
Xs-a-0
UpdateCapture
Capture
Capture/Update
1
0
TDO
![Page 16: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/16.jpg)
Modo de Teste Interno (RUNBIST)
Xs-a-0
![Page 17: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/17.jpg)
Modo de Teste Interno (RUNBIST)
Capture
TDI
Xs-a-0
![Page 18: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/18.jpg)
Modo de Teste Interno (RUNBIST)
Update
Capture
TDI
Xs-a-0
![Page 19: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/19.jpg)
Modo de Teste Interno (RUNBIST)
Capture
Update
Capture
TDI
Xs-a-0
![Page 20: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/20.jpg)
Modo de Teste Interno (RUNBIST)
Capture
Update
Capture
Capture/Update
TDI
TDO
Xs-a-0
![Page 21: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/21.jpg)
Modo de Teste Amostragem
![Page 22: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/22.jpg)
Modo de Teste Amostragem
Capture
Capture
Capture
![Page 23: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/23.jpg)
Modo de Teste Amostragem
Capture
Capture
Capture
Capture/UpdateTDOTDO
Capture/Update
![Page 24: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/24.jpg)
DFT
• Scan-chain– Possibilita ativar uma falha internamente – Usa os flip-flops como uma longo registro deslocamento– Permite levar um determinado valor a um dado flip-flop
• Boundary scan– Estrutura de scan que permite a ATE acessar o chip– Padrão JTAG e variações
• Build-In Self-Test (BIST)– Gerador de teste para minimizar tempo de teste– Embutido dentro do CI
![Page 25: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/25.jpg)
BIST
• Built-In Self Test– Circuito interno para geração e validação de testes – Reduz o uso intensivo do ATE – Pode ser usado para teste de partes difíceis durante
produção (ex. Intel x386, 1,8% da área BIST)– Usado também para auto-teste no campo
![Page 26: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/26.jpg)
Geração de Vetores
• Exaustivo– Fornece todos os vetores de teste– Impossível p/ n >22, n bits de entrada
• Pseudo-aleatório– Fornece uma sequência de vetores (pseudo)aleatórios– Distribuição de 1s e 0s deve ser estudada
![Page 27: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/27.jpg)
Pseudo-aleatório
• Linear Feedback Shift Register (LFSR)– Usado na geração de números pseudo-aleatórios– Formado por FFs D, somadores e multiplicadores escalares mod 2,
implementa polinômios na base 2– Teoria longa e complexa (não será estudada aqui)
1 + c1 x + c2 x2 + c3 x3 +……
![Page 28: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/28.jpg)
Pseudo-aleatório (cont.)
Funcionamento LFSR:
![Page 29: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/29.jpg)
Compressão da Saída
• Compressão da resposta– Objetivo é minimizar tamanho da resposta do CUT– Saída comprimida do CUT é chamada de assinatura (S)– Compressão é feita por circuito interno ao BIST
![Page 30: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/30.jpg)
Compressão da Saída (cont.)
• Aspectos gerais– Incluído no BIST– Não deve afetar desempenho do CUT
– Para qualquer falha tentar que S(R0) != S(R’) !!!
– Mascaramento: quando assinatura errada é mesma que a certa– Reposta errada é alias da resposta correta
• Assumir CUT:– n entradas– 1 saída– m vetores de teste– r bits dos vetores são 1s
![Page 31: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/31.jpg)
Métodos de Compressão
• One’s count
• Parity check
• Signature analysis
![Page 32: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/32.jpg)
Ones-count
• Assinatura (1C)– Contagem do número de 1’s na saída R’
![Page 33: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/33.jpg)
Ones-count (cont.)
• Assinatura (1C)– Contagem do número de 1’s na saída– S(m,r) = C (m,r) - 1 / 2 m - 1
![Page 34: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/34.jpg)
Parity-checking
• Assinatura (PC)– Assinatura é a paridade da cadeia de saída– Detecta erros simples e múltiplos de ímpares– Não consegue detectar erros múltiplos de pares
lim S (m,r) = 1 / 2 = 50%, alta !! m -> grande
![Page 35: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/35.jpg)
Signature Analysis
• LFSR– Usado na análise de assinatura– Clock recebe a sequência de bits da saída, e os bits
mostrados nas saídas Qs dos FFs formam a assinatura
![Page 36: Testabilidade Guido Araujo Julho 2003 Design for Testability (DFT)](https://reader035.vdocuments.site/reader035/viewer/2022062512/552fc10b497959413d8c115d/html5/thumbnails/36.jpg)
Signature Analysis (cont.)
• Vantagens– Estrutura do LFSR distribui todas as possíveis cadeias igualmente
entre todas as assinaturas– Proporção de cadeias erradas é a mesma para cada assinatura– S(m,n) é muito baixo
no. cadeias/assinatura = 2m / 2n = 2 (m - n)
S(m,n) = 2 (m - n) - 1 / 2 m - 1 ~ 2 –n
Considere n = 16 :
a probabilidade de ocorrer aliasing é 2 –16 = 0,00001 = 0,001% baixa !!