Projeto de Testabilidade Automatic Test Pattern Generation Guido Araujo Outubro 2005 The Brazil-IP Network Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias The Brazil-IP Network Projeto, Fabricação e Comercialização de CIs PROJETO FABRICAÇÃO TESTE MERCADO FAB 1 DH 99% erros !! Erro: volta !! FAB 2 1% erros !! Permite negociar preço e prazo !! The Brazil-IP Network Testabilidade Como garantir que todos os milhões de fios e transistores deste die estão corretos ? The Brazil-IP Network Aspectos Econômicos • Custo do teste – Geração e aplicação • As alternativas: – – – – US$ 0.3 US$ 3.0 US$ 30.0 US$ 300.0 The Brazil-IP Network para detectar o defeito no chip para detectar o defeito na placa para detectar o defeito no sistema 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) Cost (US$) 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 The Brazil-IP Network 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 The Brazil-IP Network Modelos de Falha • • • • • • Stuck-at Stuck-open Stuck-on Bridging Gate delay Path delay The Brazil-IP Network 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 x1 x2 0 X G1 1 G3 2 4 5 x3 3 G2 The Brazil-IP Network 6 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 1 Vetor de teste { x1 x2 0 X G1 1 G3 2 4 5 x3 3 G2 The Brazil-IP Network 6 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 Vetor de teste { 1 x1 0 x2 0 X G1 D 1 G3 2 4 5 x3 3 G2 The Brazil-IP Network 6 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 Vetor de teste { 1 x1 0 x2 0 x3 0 X G1 D 1 G3 2 4 1 3 G2 The Brazil-IP Network 6 D 5 ERRO !! Modelos de Falha (cont.) • Agora é com você (5 min.) ! – Quem eu ? Sim, você mesmo…. 4 está s-a-1 G1 Vetor de teste ? { x1 1 1 x2 2 X 4 5 x3 3 G2 The Brazil-IP Network G3 6 Modelos de Falha (cont.) • Modelo s-at para CMOS – Modelar redes nMOS ou pMOS como portas V DD Usando rede nMOS Vy Vx 1 Vx 2 The Brazil-IP Network x1 x2 1 3 2 1 X y Modelos de Falha (cont.) • Stuck-open (s-op) – Modela transistores em aberto x1 V DD 1 Vx 2 10 = x2 em s-a-1 y x2 11 = x x2 em s-a-0 1 2 Vy Vx 1 01 = x1 em s-a-1 x1 x2 y Teste para 1 1 0 0 1 1 } 1 1 0 1 0 1 3 4 The Brazil-IP Network Demora a descarregar É preciso fazer isto antes 1 s-op } 3 s-op ou 4 s-op } 2 s-op Modelos de Falha (cont.) • Stuck-on (s-on) – Modela transistores em curto V DD 1 x1 x2 s-on 0 1 T3 2 Vy Vx 1 3 Vx 2 Vy = 4 IDDQ The Brazil-IP Network 2Rn Rp + 2Rn VDD Modelos de Falha (cont.) • Stuck-on (s-on) – Modela transistores em curto V DD 1 x1 x2 s-on 1 1 T1 2 Vy Vx 1 3 Vy = 2Rn Rp + 2Rn Vx 2 4 IDDQ The Brazil-IP Network VDD Modelos de Falha (cont.) • Stuck-on (s-on) – Modela transistores em curto V DD 1 Vy = x1 x2 s-on 0 1 T3 1 1 T1 2Rn Rp + 2Rn 2 Vy Vx 1 3 Como distinguir ? Vy = 2Rn Rp + 2Rn Vx 2 VDD 4 IDDQ The Brazil-IP Network VDD Modelos de Falha (cont.) • Stuck-on (s-on) – Modela transistores em curto V DD 1 Vy = x1 x2 s-on 0 1 T3 1 1 T1 2Rn VDD Rp + 2Rn 2 Vy Vx 1 3 Vy = 2Rn VDD Rp + 2Rn Vx 2 4 IDDQ Como distinguir ? Usar Built-In Current Sensing BICS 10%-15% atraso De outra forma somente cobre 50% dos s-on The Brazil-IP Network Modelos de Falha (cont.) • Bridging – Modela curto entre sinais de circuitos CMOS VDD 5 Vx1 Vy1 VDD 6 7 8 VDD Vy 9 1 2 10 Vx2 3 Vx3 4 The Brazil-IP Network Vy2 101 = Valor intermediário entre 0 Vdd mais para 0 (bridge comporta-se como wire-and) Modelos de Falha (cont.) • Bridging – Modela curto entre sinais de circuitos CMOS VDD 5 Vx1 011 = Valor intermediário entre 0 Vdd mais para Vdd (bridge comporta-se como wire-or) Vy1 VDD 6 7 8 VDD Vy 9 1 2 10 Vx2 3 Vx3 4 The Brazil-IP Network Vy2 Modelos de Falha (cont.) • Bridging – Modela curto entre sinais de circuitos CMOS VDD 5 Vx1 011 = Valor intermediário entre 0 Vdd mais para Vdd (bridge comporta-se como wire-or) Vy1 VDD 6 7 8 VDD Vy USAR BICS ! 9 1 2 10 Vx2 3 Vx3 4 The Brazil-IP Network Vy2 101 = Valor intermediário entre 0 Vdd mais para 0 (bridge comporta-se como wire-and) 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) A G1 X G3 4 5 B G2 The Brazil-IP Network 6 Modelos de Falha (cont.) •Transisiton (gate) delay Vetores de teste { 1 A G1 X 4 5 B G2 The Brazil-IP Network G3 6 Modelos de Falha (cont.) •Transisiton (gate) delay Vetores de teste { 1 A G1 X G3 4 5 0 The Brazil-IP Network B G2 6 Modelos de Falha (cont.) •Transisiton (gate) delay Atraso na porta !! Vdd Vetores de teste { 1-1 A G1 X G3 4 5 0-1 The Brazil-IP Network B G2 6 Modelos de Falha (cont.) • Path Delay – Captura problemas de transição lógica (RC) – Aplicar uma transição (0 – 1 ou 1 – 0) Vdd A G3 4 5 The Brazil-IP Network 6 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 The Brazil-IP Network Modelo de Falhas em CMOS(cont.) REDUCE 1. Associar um índice único para cada transistor da rede 2. Substituir cada conexão série-paralelo por um único transistor, associando um conjunto de índices com o novo transistor 3. Repetir (2) até que nenhuma nova redução seja possível 4. Rotular todos os nós da rede reduzida com inteiros e cada entrada com letras 5. 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 6. Derivar a função Gf como a soma de produtos de (5) The Brazil-IP Network Modelo de Falhas em CMOS(cont.) • Exemplo de redução V DD VDD 1 pMOS 3 A {1,2,3} 2 Gf = A Vf Vx 4 1 nMOS Vx 2 Vx 3 6 5 B {4,5,6} Gf = B The Brazil-IP Network Modelo de Falhas em CMOS(cont.) EQUIVALENT 1. 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 2. Usando portas AND e OR combine as saídas dos circuitos em (1) para implementar Gf The Brazil-IP Network Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência V DD 1 pMOS 3 2 Vf Vx 4 1 nMOS Vx Vx 2 6 5 x2 5 x3 6 Gf = B 4 3 x1 The Brazil-IP Network Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência V DD x2 1 x3 2 Gf = A 1 3 pMOS 3 x1 2 Vf Vx 4 1 nMOS Vx 2 Vx 3 6 The Brazil-IP Network 5 Modelo de Falhas em CMOS(cont.) • Exemplo de equivalência V DD x2 1 x3 2 Gf = A 1 3 pMOS 3 x1 2 Vf Vx Somente é preciso um dos dois 4 1 nMOS Vx Vx 2 6 5 x2 5 x3 6 Gf = B 4 3 x1 The Brazil-IP Network Modelo de Falhas em CMOS(cont.) • Mapeamento de falhas V DD x2 x3 1 a b Gf = B c 3 d x1 2 Vf Vx 4 1 Vx 2 Vx 3 6 The Brazil-IP Network 5 Falha no circuito Falha no modelo x1 s-a-1 (0) linha c s-a-1 (0) Vf s-a-0 (1) T1 s-on (op) T6 s-on (op) linha d s-a-0 (1) linha b s-a-0 (1) 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 The Brazil-IP Network Equivalência e Colapso de Falhas • Falhas equivalentes – Conjunto de falhas que resultam no mesmo efeito na saída do circuito 1 x1 x2 X G1 1 2 0 X G3 4 1 X x3 1 X X5 0 3 G2 The Brazil-IP Network 6 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 The Brazil-IP Network Equivalência e Colapso de Falhas (cont.) • Colapso de falhas Somente precisa nos checkpoints !! G3 x1 1 x2 x3 G3 6 X x1 G1 0 1 X 2 0 X x2 G3 4 1 6 7 1 6 X G1 1 0 2 x3 6 7 X4 G3 X 1 x4 X 0 3 5 X G2 The Brazil-IP Network 6 5 1 x4 X 3 G2 6 Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias The Brazil-IP Network 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 The Brazil-IP Network 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 The Brazil-IP Network 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 The Brazil-IP Network Algoritmo D (cont.) • Cobertura Singular – Maneira compacta de representar a tabela verdade x1 x2 1 3 y 2 x1 x2 y 1 2 3 0 0 1 0 x 1 0 1 1 x 0 1 1 0 1 1 1 0 1 1 0 (a) Tabela verdade The Brazil-IP Network (b) Cobertura singular Algoritmo D (cont.) • Cubo-D de uma falha – Vetor de entrada que ativa a falha com D ou D x1 x2 1 X 3 X X 2 y 1 2 3 0 x D y em s-a-0 x 0 D 1 1 D y em s-a-0 y em s-a-1 ou x1, x2 em s-a-0 0 1 D 1 0 D Cubos-D The Brazil-IP Network x1 em s-a-0 x1 em s-a-0 Algoritmo D (cont.) • Cubos-D propagação – Propagar vetores de teste para a saída da porta 1 2 1 D x1 x2 1 2 The Brazil-IP Network 3 y 3 D 1 D D D D D 0 D D D 0 D D D D Algoritmo D (cont.) • Resumo dos cubos 0 1 D D X 1 D D D D 1 D 1 D D X D 1 D D 1 D X D X x1/x2 Y – Cubos-D da falha 0 – Cubos-D de propagação x1 x2 The Brazil-IP Network 1 2 3 y Algoritmo D (cont.) • Intersecção de cubos-D – A = (a1, a2, …., an) e B = (b1, b2, …., bn) – ai e bi {0, 1, x, D, D } . ai ai x bi ai bi x bi ai bi ai se ai = bi ai bi Φ se ai <> bi The Brazil-IP Network A = (0, 1, D, D, x, x, 0) B = (0, 1, D, D, x, 0, x) C = (0, 1, D, 0, 1, x, 0) A . B = (0, 1, D, D, x, 0, 0) A.C = Φ Algoritmo D (cont.) Algoritmo D 1. Determinar os cubos-D de uma falha 2. D-drive – Intersecção dos cubos-D com os cubos de propagação das porta sucessoras 3. Consistência – Justificar os valores lógicos derivados em (1) nas entradas primárias do circuito The Brazil-IP Network Algoritmo D (cont.) • Cubos-D falha x1 x2 x3 1 Porta Cubo G1 G1 4 2 G3 6 3 5 G2 G2 G3 1 2 3 4 a 1 x D b x 1 D c 0 0 D d 0 D e 1 D 6 f 0 x D g x 0 D h 1 1 D Cubos-D falha The Brazil-IP Network 5 Algoritmo D (cont.) • Cubos-D propagação G1 x1 1 x2 2 Porta Cubo 4 5 x3 G1 G3 3 G2 6 1 2 i D 0 j 0 D 3 4 6 D G2 k D G3 l D 1 m 1 D Cubos-D propagação The Brazil-IP Network 5 D D D Algoritmo D (cont.) • Chegou a hora de rodar o algoritmo ! – Ativar falha – D-drive – Justificar PIs G1 x1 1 x2 2 0 X G3 4 5 x3 3 G2 The Brazil-IP Network 6 Algoritmo D (cont.) • Ativar falha – Usar o cubo-D da falha x1 x2 0 G1 1 D c 2 Cubo 0 0 X 4 6 5 x3 3 G2 The Brazil-IP Network n=c G3 1 2 0 0 3 4 D 5 6 Algoritmo D (cont.) • D-drive – Propagar usando cubo-D de propagação x1 x2 0 G1 1 D c 2 Cubo G3 0 0 X l 5 x3 3 G2 D-Drive The Brazil-IP Network D 4 6 1 2 3 4 5 n=c 0 0 D k= n.l 0 0 D 1D 6 Algoritmo D (cont.) • Justify – Justificar PIs usando cubos-D propagação x1 x2 0 G1 Cubo 1 D c 2 G3 0 0 X 4 l x3 3 0 D 2 n=c 0 k= n.l m=k.d 3 4 5 6 0 D 0 0 D 1 D 0 0 D 1 D 5 m G2 6 1 0 1 Justify The Brazil-IP Network vetor de teste = (0, 0, 0) Algoritmo D (cont.) • Agora é com vocês (10 min.) ! G1 x1 1 x2 2 1 X G3 4 5 x3 3 G2 The Brazil-IP Network 6 PODEM • Path Oriented Decision Making – É um algoritmo de banch-and-bound no qual são avaliados vetores de teste rejeitando aqueles para os quais: (a) Bloqueia-se a observabilidade da saída The Brazil-IP Network D 1 0 2 1 PODEM (cont.) • Path Oriented Decision Making – É um algoritmo de banch-and-bound no qual são avaliados vetores de teste rejeitando aqueles para os quais: (a) Bloqueia-se a observabilidade da saída (b) O valor lógico propagado é igual ao valor da falha The Brazil-IP Network D 1 0 2 0 1 1 1 2 0 X PODEM (cont.) • Path Oriented Decision Making – É um algoritmo de banch-and-bound no qual são avaliados vetores de teste rejeitando aqueles para os quais: (a) Bloqueia-se a observabilidade da saída D 1 0 2 0 (a) O valor lógico propagado é igual ao valor da falha 1 1 1 2 ….. (b) Não se consegue propagar um sinal de volta para as PIs D 4 5 3 1 G2 0 G3 6 1 x3 The Brazil-IP Network 0 X conflito D PODEM (cont.) start • Exemplo x1 1 0 x1 1 9 x2 1 x3 0 2 x4 1 3 1 4 x3 0 6 7 X 1 0 0 1 1 0 10 0 x5 x2 8 x4 0 1 1 x5 0 1 Vetor de teste (1, 0, 0, 1, 1) The Brazil-IP Network FAN • Fanout-Oriented Test Generation – É uma variação de PODEM com as seguintes extensões (a) Ao invés de parar nas PIs, backtracking pode parar em linhas internas (b) Ao invés de tentar satisfazer um objetivo, FAN usa múltiplos procedimentos de backtrace The Brazil-IP Network FAN (cont.) • Algumas definições – Bound line: linha que é alcançada a partir de pelo menos um feixe – Free line: linha que não é bound – Head line: free line que alimenta uma bound line diretamente Head lines ….. Bound lines The Brazil-IP Network FAN (cont.) • Exemplo E H F K A J G B C M 0 1 L CONFLITO ! A PODEM FAN 1 1 J 0 B 0 1 1 FAZER TESTE DE J = 0 PRIMEIRO C 0 The Brazil-IP Network 1 Fluxo em ATPG • ATPG aleatório – – – – Gera padrão aleatório Determina falhas cobertas Guarda padrão Cobertura até: 60% • ATPG Determinístico – Termina o resto até 99.99% – Usa algoritmos determinísticos (ex. Algoritmo-D) Padrão aleatório Simulação de falhas n Detecta alguma falha ? s Aceita padrão s Cobertura aceitável ? n 60% ? ATPG Determinístico The Brazil-IP Network Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias The Brazil-IP Network Teste Funcional • Vantagens – Reduzir o tempo de geração do teste – Produção mais rápida de vetores de teste para o circuito • Método – Identificar vetores de ativação funcional – Executar o Algoritmo-D para o módulo – Realizar simulação de falhas para identificar falhas capturadas The Brazil-IP Network Teste Funcional • Exemplo – Detectar a falha c2-a-0 na saída c2 do FA1 xn –1 cn x1 yn – 1 FA sn – 1 MSB position The Brazil-IP Network cn ” 1 c2 x y1 x0 y0 c1 FA FA s1 s0 LSB position c0 Teste Funcional (cont.) • Computar entrada para Algortimo-D A – Cobertura singular e cubos-D falha – D-cubos de propagação 0 1 D D X 1 0 1 1 0 D D D D X X D D D 0 D D D 1 1 X 0 X X X X X X A/B S 0 The Brazil-IP Network X HA C A/B 0 1 D D X 0 0 1 0 D 0 D D 0 0 0 D D D 0 D 0 X 0 X X C 1 0 X 0 X D X X B X S Teste Funcional • Método – Cubo de propagação para D em C2: x1y1 = 10 e c1 = 1 – Propaga D adiante usando x2y2 = 00, etc… – Justifica c1 = 1 fazendo x0y0 = 10 e c0 = 1 xn –1 y1 x1 yn – 1 1 FA cn ” 1 c2 x y0 0 D cn x0 c1 FA FA 1 sn – 1 MSB position The Brazil-IP Network s1 s0 LSB position c0 Teste Funcional • Método – Cubo de propagação para D em C2: x1y1 = 10 e c1 = 1 – Propaga D adiante usando x2y2 = 00, etc… – Justifica c1 = 1 fazendo x0y0 = 10 e c0 = 1 xn –1 y1 x1 yn – 1 1 FA cn ” 1 c2 x y0 0 1 0 D cn x0 c1 FA FA 1 sn – 1 MSB position The Brazil-IP Network s1 s0 LSB position 1 c0 Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias The Brazil-IP Network ATPG Sequencial • Modelo – Usado em máquinas estado – Os sinais internos dependem não somente das entradas (PIs) mas também das variáveis de estado (SIs). – Ativar a falha depende de ajustar PI e SI – Tem que levar a máquina para o estado adequado !! PI PO x SI (n) SI (n+1) FFs The Brazil-IP Network ATPG Sequencial (cont.) • E agora ? – Desenrolar a máquina por vários estados – Usar ATPG combinacional (Algoritmo-D) e torcer !! – Cobertura menor e mais demorado PO(0) PI(0) SI (1) The Brazil-IP Network PI(2) PI(3) PO(2) x x x SI (0) PO(1) PI(1) SI (2) PO(3) x SI (3) SI (4) Resumo • Introdução à teste • Modelos de falha • Equivalência e colapso de falhas • Algoritmos para ATPG • Teste funcional • ATPG sequencial • Teste de memórias The Brazil-IP Network Teste de Memórias • Modelo de falhas funcional – Curto/aberto nas células e entre elas – Decodificador em aberto – Sensitividade ao padrão • Muito frequente • READ/WRITE em uma célula altera valor de todas as outras – Recuperação de escrita • READ após WRITE não retorna valor escrito – Doença do sono • Valores na célula são perdidos antes do hold-time The Brazil-IP Network Testes de Memória (cont.) • Column bar: – Testa falhas stuck-at e curtos entre células adjacentes 1. WRITE 1’s (0’s) nas colunas pares (ímpares) 2. READ todas as células 3. Repete (1) e (2) com valores complementares The Brazil-IP Network 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Testes de Memória (cont.) • Xandrez: – Testa falhas stuck-at e curtos entre células adjacentes (diagonal) The Brazil-IP Network 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 Testes de Memória (cont.) • Ping-pong: – Verifica impacto em todas as outras células – WRITE ci – READ cj, j <> i Complexidade: n2 1 WRITE n – 1 READs n vezes 1 n (1 + (n – 1)) The Brazil-IP Network Testes de Memória (cont.) • Row-Column Ping-pong: – Verifica impacto nas outras células da linha/coluna – WRITE ci – READ cj, j <> i Complexidade: n3/2 1 WRITE 2 (n1/2 – 1) READs n vezes 1 n (1 + 2 (n1/2 – 1) ) The Brazil-IP Network Testes de Memória (cont.) • Marching ones and zeros: – Testa leitura e escrita em todas as células sequencialmente 1. For for I = 0, 1, 2,…., n - 1 WRITE (ci 0) Complexidade: 14n 2. For i = 0, 1, 2,…., n – 1 do READ (ci = 0), if not error ! WRITE (ci 1) READ (ci = 1), if not error ! 3. For i = n - 1, n - 2,…., 1 do READ (ci = 1), if not error ! WRITE (ci 0) READ (ci = 0), if not error ! 4. Repete (1) - (3) com valores complementares The Brazil-IP Network 3n WRITEs 4n READs 2 vezes 2 (3n + 4n) Testes de Memória (cont.) • Walking ones-and-zeros: – Testa leitura e escrita avaliando impacto do teste 1. For i = 0, 1, 2,…., n - 1 WRITE (ci 0) 2. 4. For i = 0, 1, 2,…., n – 1 do WRITE (ci 1) READ (cj = 0) j <> i, if not error ! READ (ci = 1) WRITE (ci 0) Repete (1) - (2) com valores complementares The Brazil-IP Network Complexidade: n2 3n WRITEs n READs n-1 FULL PING-PONG 2 vezes 2 (3n + n + n (n –1)) Testes de Memória (cont.) • Galloping ones-and-zeros: – Testa leitura e escrita em todas as células avaliando impacto – For i = 0, 1, 2,…., n - 1 WRITE (ci 0) 2. 4. For i = 0, 1, 2,…., n – 1 do WRITE (ci 1) For j = i, i+1, i+2,…., n – 1 do READ (cj+1 = 0), if not error ! READ (ci = 1), if not error ! Repete (1) - (2) com valores complementares The Brazil-IP Network Complexidade: n2 2n WRITEs n READs n-1 FULL PING-PONG 2 vezes 2 (2n + n (n –1))