pseudo-online testing methodologies for various components of field programmable gate arrays l....
TRANSCRIPT
PSEUDO-ONLINE TESTING METHODOLOGIES FOR VARIOUS
COMPONENTSOF FIELD PROGRAMMABLE
GATE ARRAYSL. Kalyan Kumar, Aditya S. Ramani, Amol J. Mupid,
V. Kamakoti*
Microprocessors and Microsystems 29 (2005)
2
Introdução• Sistemas críticos atuais necessitam de hardware com
lógica complexa e demandam alto grau de tolerância à falhas
• As características de segurança incluem habilidade de:• detectar erros em tempo de execução• localizar precisamente as falhas que causam os erros• reconfigurar rapidamente para evitar as falhas localizadas
• FPGAs são largamente utilizados para este propósito
• Ao contrário dos defeitos de fabricação que podem ser evitados por fios de roteamento de reserva e fusíveis programáveis, falhas operacionais (online) necessitam uma nova configuração
3
Introdução• Normalmente, as aplicações são divididas em diversos
sub-circuitos mapeados no FPGA e utilizam verificadores online para relatar os erros de alguns destes sub-circuitos
• O que são verificadores online?
• um circuito de teste especial • monitora o sub-circuito e relata
a ocorrência de erros• informa a identificação do sub-
circuito com erro
• O que são bordas C & O?• bordas controláveis e
observáveis que circundam um sub-circuito
• inserem valores desejados no sub-circuito e observam as respostas
4
Introdução• Em FPGAS um sub-circuito é uma rede de LUTs
• Depois de encontrado um erro em um sub-circuito p, um BIST é usado para testar o circuito em p que inclui
• blocos lógicos
• linhas de interconexão e de clock
• O BIST é carregado dentro dos elementos lógicos programáveis de p através de reconfiguração parcial
• Reconfiguração parcial é a habilidade de carregar novos dados para uma área especifica do dispositivo enquanto o resto continua funcionando
5
Introdução• O algoritmo
• preserva a estrutura de roteamento configurada
• programa as LUTs
• segue o modelo stuck-at-fault para todos os componentes
• Modos de programar as LUTs• Normal pass mode: a LUT é carregada com uma função em
que a saída é uma de suas entradas
• Inverse pass mode: a LUT é carregada com uma função em que a saída é o inverso de uma de suas entradas
6
Teste dos blocos lógicos
• O algoritmo proposto:• reduz uma determina rede de LUT ‘L’ (sub-circuito
defeituoso) dentro de um número de cones, um para cada saída
• testa este cones sucessivamente
7
• Para cada cone é construída uma estrutura de dados chamada OutProp
OutPropCone
Teste dos blocos lógicos
8
• Testando L1• L8 e L13 são configurados no normal pass mode
• Se a saída é correta marque L1 como testado e remova da árvore
Teste dos blocos lógicos
9
• Testando L2• somente L8 deve ser configurado
Teste dos blocos lógicos
10
• Testando L3• Suponha que a saída é correta marque L3 como testado e
remova da árvore
Teste dos blocos lógicos
11
• Testando L4• Suponha que a saída é errada não marque L4
• Isto não indica que L4 está defeituoso, mas sim que o caminho L4 L10 L13 está defeituoso
Teste dos blocos lógicos
12
• Testamos primeiro L13• que não está defeituoso marcamos como testado
Teste dos blocos lógicos
13
• Testamos L10• que está defeituoso marcamos como defeituoso
Teste dos blocos lógicos
14
• Como fazer para testar L4?• redirecionar a saída
Cone
Teste dos blocos lógicos
15
• Testando L5• A saída é errada não marque L5
• Isto indica que o caminho L5 L11 L13 está defeituoso
– L13 já foi testado
– L11 é testado e dito livre de defeito
– L5 é testado e marcado como defeituoso
Teste dos blocos lógicos
16
• Testando L5• A saída é errada não marque L5
• Isto indica que o caminho L5 L11 L13 está defeituoso
– L13 já foi testado
– L11 é testado e dito livre de defeito
– L5 é testado e marcado como defeituoso
– A árvore é rearranjada
Teste dos blocos lógicos