pseudo-online testing methodologies for various components of field programmable gate arrays l....

Post on 17-Apr-2015

107 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related