Introdução à Testabilidade
DFT
Testabilidade
• Um sistema é projectado de acordo com a especificação
• Especificação - define o serviço a prestar
• Quando o sistema deixa de o assegurar diz-se avariado.
• A avaria resulta de:
– um erro nos dados utilizados na máquina de estados do sistema – originado por uma falha nos circuitos que a implementam.
Falhas - tipologia
Falhas: podem ter causa
Física - interferências externas ou avaria dos componentes
Lógica - causadas por erros de especificação ou de implementação (man-made)
A falha caracteriza-se quanto à natureza temporal como:
Permanente: a falha instala-se degradando o componente de forma irreversível
Geralmente por se excederem os limites máximos especificados pelo fabricante.
Temporária: neste caso, a falha pode ainda ser de dois tipos:
Transitória: resulta de influências esporádicas (não danifica CI de forma permanente) Intermitente: manifestação cíclica, quando se reúnem condições pontuais que afectam
Falhas (2)
Admite-se que, em média, dependendo da aplicação:
– As f permanentes representam entre 1 e 10% do total,
– As f transitórias são responsáveis por mais de 70% das temporárias
Erros e Avarias
Erros: são a consequência das falhas, na informação tratada
pela máquina de estados.
Se esta tiver elementos de memória, a informação errada ficará latente, até ser utilizada e originar uma avaria, ou ser rescrita (e substituída).
Avarias: situações imprevistas, catastróficas ou não, que
ocorrem quando um sistema deixa de cumprir o serviço
definido na especificação que lhe deu origem.
Sistema -
níveis hierárquicos
• Confiabilidade tratada nos níveis mais altos
– Implica gerir comportamento global /saídas
• Testabilidade tratada nos níveis mais baixos
Tratamento da Testabilidade
Transístor
Interesse na fase de produção
Porta lógica
Relevante no teste
Bloco Funcional -BF
Circuito (ou parte) relevante na testabilidade por opção de projecto
Tratamento da Confiabilidade
Circuito de Missão (ou Monitorizado) - CM
Circuito projectado após identificação dos BF necessários
Para assegurar as características de testabilidade especificadas.
A distinção entre BF e CM justifica-se porque a testabilidade supõe e frequentemente implica partição do circuito, originando blocos funcionais
Módulo: corresponde ao nível de subsistema
Carta circuito impresso (CCI), módulo multi-componente (MCM), VLSI
Sistema
nível de topo, abrangendo qualquer tipo de equipamento digital ou misto
Desempenha uma tarefa, para que foi projectado Executa ou não um programa.
Ciclo de vida dos CIs
• O ciclo de vida de um circuito divide-se em duas grandes fases:
– Projecto / produção – Vida útil
• A testabilidade incide principalmente na primeira
• Tolerância a falhas ~ utilização dos componentes durante a vida útil • Em termos simplistas, podemos dizer que
– Projecto / produção: pretendemos localizar as falhas
Custos e benefícios
• Custo médio da reparação de componente defeituoso
– Cresce 1(O) a cada fase em que a avaria é detectada
No teste do CI x1
No teste da CCI x10
No teste do sistema x100
No utilizador final x1000
Teste de um Sistema
• Processo de estimular as entradas e analisar as saídas
– Verificar se o funcionamento corresponde à especificação
– Se forem detectados erros e houver interesse, procede-se ao diagnóstico
• Diagnóstico: teste com estímulos específicos para localizar causa do erro
• Principais causas de erro são:
– Especificação incompleta ou inconsistente
– Defeitos de fabrico
– Falhas físicas
Protótipo
• Permite testes em tempo real
• É moroso e dispendioso
• Alterações tendem a ser complexas
• Cada vez mais Projecto e Tecnologia são indissociáveis
• Protótipo construído com componentes discretos não é
representativo de:
– Um circuito implementado em FPGA (e vice-versa)
Simulação
• Substitui-se o protótipo por um modelo do circuito
• O modelo inclui geralmente dois tipos de informação:
Funcional - define as relações lógicas.
Temporal - estabelece as relações dependentes dos atrasos dinâmicos
• Separação facilita o tratamento independente dos modelos
– Diferentes implementações com base num único modelo funcional – Necessário verificar os aspectos temporais inerentes a cada
Tipos de testes
• Teste pós-fabrico: incidir em todo o sistema, abrangendo
– Carta de circuito impresso (CCI, PCB) – Circuito integrado (CI, IC)
• São utilizados vários níveis de teste:
– Paramétricos
• dependem da tecnologia, importantes no fabrico (falhas complexas)
– Lógicos
– De instrução: microprocessadores
• recorrem à transferência de dados entre registos.
Testes natureza lógica
• Os testes lógicos podem ser:
– Estruturais- lidam com a informação das interligações blocos
– Funcionais- baseados na especificação de funcionamento do sistema
• Teste Funcional como forma de monitorização
• Pode ser executado em regime:
– Calendarizado - efectuados em intervalos temporais determinados
• Entre fases de funcionamento normal
Tipos de Falhas básicos
• Curto-circuito à alimentação
– Forçam os nós afectados a valores próximos da massa ou de Vcc
– São tratadas convenientemente pelo modelo de faltas sempre-a (s@)
• Curto-circuito entre linhas de sinal (dados ou controlo)
– Dependem da tecnologia envolvida
– Alteram a topologia do circuito e geram novas funções lógicas
• Circuito combinatório -> sequencial • Circuito síncrono --> assíncrono
– São tratados à parte como faltas em ponte (Bridging)
• Mais complexas: 3, 5, 7, 9 valores
• Circuitos-abertos
Modelos de Faltas
• Falhas (físicas) diversidade
– Dificulta análise e tratamento
• Tratamento matemático/lógico sistematização
– Modelização
• Modelos de Faltas
– Nível de abstracção representação simplificada – Simplificam geração dos vectores de teste
– Perde-se informação sobre as características das falhas
Curto-circuito à alimentação
Outros Modelos de Faltas
• Faltas múltiplas
– Interesse na produção: defeitos de fabrico frequentemente múltiplos
• Podem conduzir a falhas latentes que afectam a detecção de outras
• Pouco relevante em operação, excepto sistemas com unidades replicadas • Podem ocorrer falhas (e subsequentes faltas) de modo comum (fmc).
• Acumulação
– Principal causa de falhas múltiplas
– Esta situação pode ser ultrapassada com testes a intervalos curtos
Modelos Realistas
• Procuram identificar factores particulares
– que definam melhor as falhas
– permitam minimizar o universo de análise • Atrasos na propagação (Delay faults)
• Modelos que separam a função lógica das características temporais
– Portas lógicas: modelos de atrasos de transporte de inércia
• Estes modelos podem ser alargados a blocos funcionais e às pistas
– Atrasos diferenciados entre cada par entrada - saída
– As pistas podem introduzir atrasos superiores ao das portas lógicas
• Modelos para falhas temporárias
– implicam conhecer a respectiva probabilidade de ocorrência
Regra básica de Projecto
• Subida Clk - ler entradas
• Descida Clk - activar saídas
Circuitos de Referência
• ISCAS 85, 89, 93
• C17- o mais básico
• Vectores de Teste
E0 E1 E2 E3 E4 S0 S1#VT VTi (E4...E0) VTo (S1, S0)
0 0 1 0 0 1 0 0
1 1 1 1 1 0 0 0
BIST- Built in Self-Test
• Auto-teste Incorporado
– Sementes – Assinatura• Pros&Cons
– Rápido – Cobertura limitadaBIST
• LFSR
– Linear feedback shift-register
– Geração (VTi): determinística (pseudo-aleatória)
• MISR
– Multi-input shift register
– Verificação (VTo): assinatura
SCAN-BIST
• TCB - Test controlling block
BST versus BIST
• BST
– Série
– Lento
– Controlo externo
– Armazenamento dos VT
+ Exaustivo (fc~100%)
+ Baixa sobrecarga no CI
• BIST
+ Potencialmente rápido
• (multiple-Chain)+ Armazena só assinatura
• Possível sem armazenamento