Algoritmos de otimização de planos de teste de unidades funcionais para circuitos BIST. - Gonzalez, José Artur Quilici (2001)
Grandes saltos tecnológicos viabilizaram a integração de circuitos digitais de alta complexidade, com centenas de pinos e milhões de transistores. Sistematicamente, dispositivos eletromecânicos estão sendo substituídos por Circuitos Integrados (CIs) que contêm sistemas inteiros, ampliando o uso generalizada da eletrônica. Com o aumento da complexidade e quantidade de CIs produzidos, a tarefa de detectar de forma rápida e eficiente aqueles chips com problemas assumiu grande importância. Como a Testabilidade [McClu 86] de um CI afeta sua qualidade, um circuito que não é completamente testável, para um determinado modelo de falha, tem menos valor que outro inteiramente testável [De Mi 94]. Em estudos sobre confiabilidade, desempenho, custos e Testabilidade de circuitos VLSI verificou-se que o custo associado ao processo de testes de circuitos VLSI estava praticamente estabilizado, enquanto outros componentes do preço final do chip caíam. Por estas razões, a Testabilidade foi incorporada ao projeto desde suas concepções iniciais, apresentando geralmente resultados com menor Sobreárea e mínimo impacto no desempenho, quando comparado a CIs produzidos sem considerações relacionadas a testes. Uma técnica de teste que dispensa o uso de Equipamento Automático de Teste, conhecida como Autoteste Incorporado (em inglês, Built-In Self-Test BIST), consiste em adaptar partes do próprio CI para gerar Vetores de Teste, comprimir e analisar os resultados. A técnica BIST tem sido empregada com sucesso em ambientes de projeto de Síntese de Alto Nível (High Level Synthesis, HLS), que tende a reduzir o tempo de projeto de um ASIC, auxiliando a determinação da arquitetura RTL [Stru et al. 99]. Nesta dissertação, considera-se uma forma específica de BIST, o structural off-line BIST [Abr et al. 90], em que o Autoteste se dá quando o CI digital é retirado de sua operação normal e colocado em modo teste, para que um Plano de Teste para Unidades Funcionais seja executado (na fase de manufatura e/ou de serviço em campo). O Plano de Teste, baseado em uma descrição estrutural do CI, é gerado por um algoritmo concebido para detectar os registradores que devem ser reconfigurados em Geradores de Padrões de Teste (em inglês, Test Pattern Generators, TPGs) e Analisadores de Assinatura (Signature Analyzers, SAs). O critério de seleção dos registradores baseia-se numa Função Custo, que avalia globalmente o grau de compartilhamento de cada registrador candidato, e a contribuição que a sua eventual escolha causaria no tempo final de teste. Os Registradores de Teste, reconfigurados em Autômatos Celulares (Cellular Automata, CAs), devem operar segundo um Rule Number", neste caso, Regra 90 ou 150. A tarefa do Autoteste paralelo é dividida em duas etapas: na primeira, a cada uma das Unidades Funcionais é associado o melhor momento possível para início de sua sessão de teste, resultando na construção gradativa de uma Matriz de Estado de Teste, e na segunda, com a Matriz de Estado de Teste já totalmente definida, é feita uma análise global para minimizar o número de candidatos a registrador de teste. O resultado final é um Plano de Teste Otimizado definindo as regras dos TPGs (TPG90 e/ou TPG150), o custo em termos de Sobreárea, o início da geração dos Vetores de Teste, sua duração e a Cobertura de Falha mínima.