820 likes | 954 Vues
Projeto de Testabilidade. Automatic Test Pattern Generation. Guido Araujo Outubro 2005. Resumo. Introdução à teste Modelos de falha Equivalência e colapso de falhas Algoritmos para ATPG Teste funcional ATPG sequencial Teste de memórias. MERCADO. FABRICAÇÃO. TESTE. PROJETO. FAB 1.
E N D
Projeto de Testabilidade Automatic Test Pattern Generation Guido Araujo Outubro 2005
Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias
MERCADO FABRICAÇÃO TESTE PROJETO FAB 1 DH 99% erros !! Erro: volta !! FAB 2 1% erros !! Permite negociar preço e prazo !! Projeto, Fabricação e Comercialização de CIs
Testabilidade Como garantir que todos os milhões de fios e transistores deste die estão corretos ?
Aspectos Econômicos • Custo do teste • Geração e aplicação • As alternativas: • US$ 0.3 para detectar o defeito no chip • US$ 3.0 para detectar o defeito na placa • US$ 30.0 para detectar o defeito no sistema • US$ 300.0 para detectar o defeito no campo
Aspectos Econômicos (cont.) • Cálculo do custo • Defect-Level (DL): % de componentes entregues com defeito • Yield (Y): rendimento do processo de manufatura • Fração testada (T): % de possíveis defeitos que foram testados DL = 1 – Y (1-T) T = 1 – log (1 – DL) / log Y Exemplo: DL = 2%, Y = 10% T = 0.9912 Desirable DL = 10 / 106 ou 0.001% Na indústria: DL = 200 / 106 Cost (US$) T (%)
Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias
Modelos de Falha • Stuck-at • Stuck-open • Stuck-on • Bridging • Gate delay • Path delay
x x 1 3 x 2 Modelos de Falha (cont.) • Stuck-at (s-at) • Modela muito bem curtos e aberturas de fios • Pode ser aplicado tanto a nível de porta como em circuitos CMOS 1 está s-a-0 G1 0 1 2 X G3 4 6 5 3 G2
x x 1 3 x 2 Modelos de Falha (cont.) • Stuck-at (s-at) • Modela muito bem curtos e aberturas de fios • Pode ser aplicado tanto a nível de porta como em circuitos CMOS 1 está s-a-0 G1 0 { 1 1 2 X G3 4 6 Vetor de teste 5 3 G2
x x 1 3 x 2 Modelos de Falha (cont.) • Stuck-at (s-at) • Modela muito bem curtos e aberturas de fios • Pode ser aplicado tanto a nível de porta como em circuitos CMOS 1 está s-a-0 G1 0 { D 1 1 2 X G3 0 4 6 Vetor de teste 5 3 G2
x x 1 3 x 2 Modelos de Falha (cont.) • Stuck-at (s-at) • Modela muito bem curtos e aberturas de fios • Pode ser aplicado tanto a nível de porta como em circuitos CMOS 1 está s-a-0 G1 0 { D 1 1 2 X G3 0 4 6 D Vetor de teste 5 1 0 ERRO !! 3 G2
x x 1 3 x 2 Modelos de Falha (cont.) • Agora é com você (5 min.) ! • Quem eu ? Sim, você mesmo…. 4 está s-a-1 G1 { 1 1 2 X G3 4 Vetor de teste ? 6 5 3 G2
V x 1 V DD V y x x 2 1 x 2 V y Modelos de Falha (cont.) • Modelo s-at para CMOS • Modelar redes nMOS ou pMOS como portas Usando rede nMOS 1 2 1 3 X
V x 1 V DD V x x x y x x x 2 2 2 1 1 1 x 2 V y Modelos de Falha (cont.) • Stuck-open (s-op) • Modela transistores em aberto 01 = em s-a-1 10 = em s-a-1 11 = em s-a-0 2 1 y Teste para x x 1 2 3 } 1 s-op 0 1 1 Demora a descarregar É preciso fazer isto antes 1 0 1 } 3 s-op ou 4 s-op 4 0 1 1 } 2 s-op 1 1 0
V x 1 V V DD DD V x 2 2 R R n n = + 2 V V y y R p Modelos de Falha (cont.) • Stuck-on (s-on) • Modela transistores em curto s-on x x 1 2 2 1 0 1 T3 3 4 IDDQ
V x 1 V V DD DD V x 2 2 R R n n = + 2 V V y y R p Modelos de Falha (cont.) • Stuck-on (s-on) • Modela transistores em curto s-on x x 1 2 2 1 T1 1 1 3 4 IDDQ
V x 1 V V V DD DD DD V x 2 2 2 R R R R n n n n = = + + 2 2 V V V y y y R R p p Modelos de Falha (cont.) • Stuck-on (s-on) • Modela transistores em curto s-on x x 1 2 2 1 0 1 T3 Como distinguir ? T1 1 1 3 4 IDDQ
V x 1 V V V DD DD DD V x 2 2 2 R R R R n n n n = = + + 2 2 V V V y y y R R p p Modelos de Falha (cont.) • Stuck-on (s-on) • Modela transistores em curto s-on x x 1 2 2 1 0 1 T3 T1 1 1 3 4 Como distinguir ? Usar Built-In Current Sensing BICS IDDQ 10%-15% atraso De outra forma somente cobre 50% dos s-on
V x 1 5 V DD V V 6 x x 3 2 7 8 V V V y y1 y2 V V DD DD 9 2 1 10 3 4 Modelos de Falha (cont.) • Bridging • Modela curto entre sinais de circuitos CMOS 101 = Valor intermediário entre 0 Vdd mais para 0 (bridge comporta-se como wire-and)
V x 1 V DD V V x x 3 2 V V V y y1 y2 V V DD DD Modelos de Falha (cont.) • Bridging • Modela curto entre sinais de circuitos CMOS 011 = Valor intermediário entre 0 Vdd mais para Vdd (bridge comporta-se como wire-or) 5 6 7 8 9 2 1 10 3 4
V x 1 V DD V V x x 2 3 V V V y y1 y2 V V DD DD Modelos de Falha (cont.) • Bridging • Modela curto entre sinais de circuitos CMOS 011 = Valor intermediário entre 0 Vdd mais para Vdd (bridge comporta-se como wire-or) 5 6 7 8 USAR BICS ! 9 2 1 10 3 4 101 = Valor intermediário entre 0 Vdd mais para 0 (bridge comporta-se como wire-and)
B A Modelos de Falha (cont.) • Transisiton (gate) Delay • Captura problemas de transição lógica na porta • Aplicar uma transição (0 – 1 ou 1 – 0) G1 X G3 4 6 5 G2
B A Modelos de Falha (cont.) • Transisiton (gate) delay { G1 1 X G3 4 Vetores de teste 6 5 G2
B A Modelos de Falha (cont.) • Transisiton (gate) delay { G1 1 X G3 4 Vetores de teste 6 5 0 G2
B A Modelos de Falha (cont.) • Transisiton (gate) delay Atraso na porta !! Vdd { G1 1 - 1 X G3 4 Vetores de teste 6 5 0 - 1 G2
A Modelos de Falha (cont.) • Path Delay • Captura problemas de transição lógica (RC) • Aplicar uma transição (0 – 1 ou 1 – 0) Vdd G3 4 6 5
Modelo de Falhas em CMOS • Método Reddy-Agrawal-Jain • Mapear falhas em circuitos CMOS no modelo de portas • Falhas s-op e s-on nos transistores e s-at nos sinais são mapeadas para falhas s-at em um modelo de portas • Em seguida algoritmos de ATPG para portas é utilizado para gerar os vetores de teste • Mapeamento • Duas fases: • REDUCE: Redução das redes nMOS/pMOS • EQUIVALENT: Conversão das redes reduzidas para circuitos com portas lógicas
Modelo de Falhas em CMOS(cont.) REDUCE • Associar um índice único para cada transistor da rede • Substituir cada conexão série-paralelo por um único transistor, associando um conjunto de índices com o novo transistor • Repetir (2) até que nenhuma nova redução seja possível • Rotular todos os nós da rede reduzida com inteiros e cada entrada com letras • Determinar cada caminho acíclico de VDD para o nó de saída e expressar o mesmo como produto dos rótulos dos transistores no caminho • Derivar a função Gf como a soma de produtos de (5)
Modelo de Falhas em CMOS(cont.) • Exemplo de redução V DD 1 pMOS {1,2,3} 3 A 2 Gf = A 4 nMOS B {4,5,6} 5 6 Gf = B
Modelo de Falhas em CMOS(cont.) EQUIVALENT • Para cada transistor na rede reduzida rotulado derivar o circuito equivalente a partir do conjunto de índices que o forma da seguinte maneira: • Se a rede for pMOS substituir conexões série (paralela) por portas AND (OR) e complemente as entradas • Se a rede for nMOS substituir conexões série (paralela) por portas AND (OR) e complemente a saída • Usando portas AND e OR combine as saídas dos circuitos em (1) para implementar Gf
x x x 1 3 2 Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência 1 pMOS 3 2 4 5 6 nMOS Gf = B 4 5 6
x x x 1 3 2 Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência 1 2 Gf = A 3 1 pMOS 3 2 4 nMOS 5 6
x x x x x x 1 3 2 1 3 2 Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência 1 2 Gf = A 3 1 pMOS 3 2 Somente é preciso um dos dois 4 5 6 nMOS Gf = B 4 5 6
x x x 2 3 1 Modelo de Falhas em CMOS(cont.) • Mapeamento de falhas a b c d Gf = B 1 3 2 Falha no circuito Falha no modelo 4 x1 s-a-1 (0) linha c s-a-1 (0) Vf s-a-0 (1) linha d s-a-0 (1) 5 6 T1 s-on (op) linha b s-a-0 (1) T6 s-on (op) linha a s-a-1 (0)
Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias
x x 1 3 x 2 Equivalência e Colapso de Falhas • Falhas equivalentes • Conjunto de falhas que resultam no mesmo efeito na saída do circuito G1 1 1 2 X G3 0 1 4 X X X 6 5 1 0 3 X G2
Equivalência e Colapso de Falhas (cont.) • Colapso de falhas • Técnica usada para reduzir o número de falhas que precisam ser consideradas para teste • Vários resultados (teoremas) • Teorema importante: O conjunto de testes s-at para os checkpoints cobre todas as falhas simples em todos os sinais do circuito • Checkpoints: PIs e Branches
x x x x x x 4 1 3 3 1 4 x x 2 2 Equivalência e Colapso de Falhas (cont.) • Colapso de falhas Somente precisa nos checkpoints !! G3 G3 6 6 G1 G1 1 1 0 6 1 2 7 6 X 1 2 0 7 X X G3 X 4 0 G3 1 4 X X 6 5 1 0 6 1 5 3 X 3 X X G2 G2
Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias
Algoritmos para ATPG • Automatic Test Pattern Generation (ATPG) • Gerar vetores de testes para o circuito • Algoritmos para ATPG devem ser capazes de: • ativar uma falha dentro do circuito (controlabilidade) e • identificar alterações nas saídas (observabilidade) • Número de vetores é muito grande (bilhões) • Tempo de teste não pode ser prolongado • Objetivos de ATPG • Maximizar a cobertura (test coverage) dos vetores de test (test set) • Minimizar o test set para uma dada cobertura
Algoritmos para ATPG (cont.) • ATPG usando modelo de portas • Algoritmo D • Método PODEM • Método FAN • ATPG usando modelo de transistores • Método de Chiang-Vrasenic • Método de Agrawal-Reddy
Algoritmo D • Objetivo • Gerar vetores de teste para circuitos baseados em lógica booleana • Funcionamento em duas fases • D-drive: ativação da falha • Justificaticação: verifica se as PIs estão consistentes x
x y 1 x 2 Algoritmo D (cont.) • Cobertura Singular • Maneira compacta de representar a tabela verdade y 1 3 2 x x 1 2 1 0 x 1 0 0 1 3 1 x 0 1 0 1 2 0 1 1 1 1 0 0 1 1 (a) Tabela verdade (b) Cobertura singular
x x x y 1 1 1 D x 2 Algoritmo D (cont.) • Cubo-D de uma falha • Vetor de entrada que ativa a falha com D ou D 1 3 2 y em s-a-0 D 0 x 1 3 y em s-a-0 D x 0 X X y em s-a-1 ou x1, x2 em s-a-0 X 1 1 2 em s-a-0 D 0 1 em s-a-0 D 1 0 Cubos-D
x y 1 D D D D D D D x 2 Algoritmo D (cont.) • Cubos-D propagação • Propagar vetores de teste para a saída da porta 1 3 2 1 D 1 3 D 1 2 D D D 0 0 D D
1 3 y x 1 D D D x 2 2 Algoritmo D (cont.) • Resumo dos cubos • Cubos-D da falha • Cubos-D de propagação x1/x2 X D 1 0 Y 1 0 1 D D D X D D D 1 1 D 1 D D D X X
D Algoritmo D (cont.) • Intersecção de cubos-D • A = (a1, a2, …., an) e B = (b1, b2, …., bn) • ai e bi {0, 1, x, D, } A = (0, 1, D, D, x, x, 0) B = (0, 1, D, D, x, 0, x) C = (0, 1, D, 0, 1, x, 0) . ai bi ai x ai bi bi x A . B = (0, 1, D, D, x, 0, 0) A . C = Φ ai bi ai se ai = bi ai bi Φ se ai <> bi
Algoritmo D (cont.) Algoritmo D • Determinar os cubos-D de uma falha • D-drive • Intersecção dos cubos-D com os cubos de propagação das porta sucessoras • Consistência • Justificar os valores lógicos derivados em (1) nas entradas primárias do circuito
x x 1 3 D D D D x 2 Algoritmo D (cont.) • Cubos-D falha Cubo 1 2 3 4 5 6 Porta a 1 x G1 G1 1 b x 1 G3 4 2 c 0 0 D 6 d 0 D G2 3 5 e 1 G2 f 0 x D G3 g x 0 D h 1 1 Cubos-D falha