Testabilidade Design for Testability (DFT) Guido Araujo Julho 2003 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 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 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 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 IEEE 1149.1 (cont.) Test Data Input Test Mode Signal Test Clock Test Data Output Boundary Scan Cell • Operação – – – – Normal mode: Scan Mode: Capture Mode: Update Mode: IN Sin IN QA to to to to OUT Sout Sout OUT Boundary Scan Cell • Operação – – – – Normal mode: Scan Mode: Capture Mode: Update Mode: IN Sin IN QA to to to to OUT Sout Sout OUT Boundary Scan Cell • Operação – – – – Normal mode: Scan Mode: Capture Mode: Update Mode: IN Sin IN QA to to to to OUT Sout Sout OUT Boundary Scan Cell • Operação – – – – Normal mode: Scan Mode: Capture Mode: Update Mode: IN Sin IN QA to to to to OUT Sout Sout OUT Modo de Teste Externo (EXTEST) X s-a-0 Modo de Teste Externo (EXTEST) X s-a-0 1 Scan Modo de Teste Externo (EXTEST) Update X s-a-0 1 Scan Modo de Teste Externo (EXTEST) Update Capture X s-a-0 1 0 Capture Modo de Teste Externo (EXTEST) TDO Capture/Update Update Capture X s-a-0 1 0 Capture Modo de Teste Interno (RUNBIST) X s-a-0 Modo de Teste Interno (RUNBIST) X s-a-0 Capture TDI Modo de Teste Interno (RUNBIST) X s-a-0 Update Capture TDI Modo de Teste Interno (RUNBIST) X s-a-0 Update Capture Capture TDI Modo de Teste Interno (RUNBIST) Capture/Update X s-a-0 Update Capture Capture TDI TDO Modo de Teste Amostragem Modo de Teste Amostragem Capture Capture Capture Modo de Teste Amostragem TDO Capture/Update Capture/Update Capture Capture Capture TDO 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 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 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 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 +…… Pseudo-aleatório (cont.) Funcionamento LFSR: 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 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 Métodos de Compressão • One’s count • Parity check • Signature analysis Ones-count • Assinatura (1C) – Contagem do número de 1’s na saída R’ Ones-count (cont.) • Assinatura (1C) – Contagem do número de 1’s na saída – S(m,r) = C (m,r) - 1 / 2m - 1 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) = m -> grande 1 / 2 = 50%, alta !! 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 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 / 2m - 1 ~ 2 –n Considere n = 16 : a probabilidade de ocorrer aliasing é 2 –16 = 0,00001 = 0,001% baixa !!