28
181 Diálogo Canoas n. 14 jan-jun 2009 EFEITOS DA RADIAÇÃO EM DISPOSITIVOS ANALÓGICOS PROGRAMÁVEIS E TÉCNICAS DE PROTEÇÃO Tiago Roberto Balen Resumo Este trabalho estuda os efeitos dos Single Event Upsets (SEUs), potencialmente causados por exposição à radiação espacial, em dispositivos analógicos programáveis (FPAAs, do inglês, Field Programmable Analog Arrays) basea- dos em memória do tipo SRAM. A primeira parte deste trabalho descreve alguns experimentos de injeção de falhas realizados, a fim de analisar os possíveis efeitos dos SEUs nos blocos de memória de um FPAA comercial. Nesses experimentos são injetadas falhas de inversão de BIT no bitstream de programação relacionado a um módulo pré- definido programado no FPAA. Na segunda parte do tra- balho, um esquema self-cheking (auto-verificável), baseado em redundância, é proposto. Tal esquema é capaz de recu- perar os dados originais de programação do dispositivo se um erro for detectado. Um conjunto adicional de experi- mentos é realizado para investigar a confiabilidade do cir- cuito detector de erro quando uma inversão de BIT ocorre na seção do bitstream de programação que controla seus próprios blocos programáveis. Palavras-chave Circuitos Self-Checking, Efeitos da radiação em cir- cuitos eletrônicos, Field Programmable Analog Arrays (FPAAs), Single Event Upset (SEU). p. 181 - 208

EFEITOS DA RADIAÇÃO EM DISPOSITIVOS ANALÓGICOS ... · aumenta a complexidade dos circuitos integrados, aumenta também a necessi- ... o mundo físico. O mundo real é, por natureza,

Embed Size (px)

Citation preview

181

Diálogo Canoas n. 14 jan-jun 2009

EFEITOS DA RADIAÇÃO EM DISPOSITIVOSANALÓGICOS PROGRAMÁVEIS E TÉCNICAS DE

PROTEÇÃO

Tiago Roberto Balen

ResumoEste trabalho estuda os efeitos dos Single Event

Upsets (SEUs), potencialmente causados por exposição àradiação espacial, em dispositivos analógicos programáveis(FPAAs, do inglês, Field Programmable Analog Arrays) basea-dos em memória do tipo SRAM. A primeira parte destetrabalho descreve alguns experimentos de injeção de falhasrealizados, a fim de analisar os possíveis efeitos dos SEUsnos blocos de memória de um FPAA comercial. Nessesexperimentos são injetadas falhas de inversão de BIT nobitstream de programação relacionado a um módulo pré-definido programado no FPAA. Na segunda parte do tra-balho, um esquema self-cheking (auto-verificável), baseadoem redundância, é proposto. Tal esquema é capaz de recu-perar os dados originais de programação do dispositivo seum erro for detectado. Um conjunto adicional de experi-mentos é realizado para investigar a confiabilidade do cir-cuito detector de erro quando uma inversão de BIT ocorrena seção do bitstream de programação que controla seuspróprios blocos programáveis.

Palavras-chaveCircuitos Self-Checking, Efeitos da radiação em cir-

cuitos eletrônicos, Field Programmable Analog Arrays(FPAAs), Single Event Upset (SEU).

p. 181 - 208

182

Diálogo Canoas n. 14 jan-jun 2009

AbstractIn this work the problem of Single Event Upset

(SEU) is considered to the Field Programmable AnalogArrays (FPAAs). Some FPAA models are based on SRAMmemory cells to implement the user programmability, whichmakes this kind of device vulnerable to SEU when employedin applications susceptible to the incidence of radiation. Inthe former part of this work some fault injectionexperiments are made in order to investigate the effects ofSEU in the SRAM blocks of a commercial FPAA. In asecond moment, a self-checking scheme using the studiedFPAA is proposed. This scheme is able to restore the originalprogramming data if an error is detected. Fault injection isalso performed to investigate the reliability of the proposedscheme when the bitstream section which controls thechecker blocks is corrupted due to a SEU.

KeywordsField Programmable Analog Arrays (FPAAs),

Radiation Effects, Single Event Upset (SEU), Self-checkingcircuits.

1 INTRODUÇÃOAlgumas características marcantes da notável evolução tecnológica, no

que concerne aos circuitos integrados atuais, são o aumento de desempenho(velocidade e capacidade de memória) e a miniaturização. A complexidade dosCIs (Circuitos Integrados) aumenta ao passo que as dimensões mínimas dostransistores diminuem, permitindo assim, que um único circuito integrado sejacomposto por milhões de transistores. A miniaturização torna os circuitos maissuscetíveis a falhas, pois, com o tamanho reduzido dos transistores, as impure-zas presentes no silício (ou ali depositadas involuntariamente durante o pro-

p. 181 - 208

183

Diálogo Canoas n. 14 jan-jun 2009

cesso de produção) podem ser fisicamente maiores do que um ou mais transis-tores, podendo danificar o circuito (LEHTONEN et al., 2005). A diminuiçãodas dimensões dos transistores também aumenta a variabilidade do processode produção, o que pode acarretar em circuitos operando fora de suas faixas deespecificação. Outros efeitos colaterais da miniaturização são: o efeito de canalcurto, a corrente de fuga (leakage current) (TAUR et al., 1996) e uma maiorvulnerabilidade a falhas transientes ocasionadas por incidência de radiação(MESSENGER, 1992), que são o escopo deste trabalho. Assim, ao passo queaumenta a complexidade dos circuitos integrados, aumenta também a necessi-dade de se desenvolver técnica e metodologias de teste e de tolerância à falhaspara estes circuitos.

Apesar de os circuitos digitais serem preferidos na implementação desistemas eletrônicos, em muitas aplicações os circuitos analógicos desempenhamum importante papel, principalmente no interfaceamento do sistema digital como mundo físico. O mundo real é, por natureza, essencialmente analógico. Portan-to, a tarefa de interfaceamento não pode ser executada por circuitos puramentedigitais. A necessidade de utilização de circuitos analógicos impõe a esses dispo-sitivos requisitos como confiabilidade, precisão e operação segura, o que há maistempo já vinha sendo preocupação no domínio digital.

Recentemente, o surgimento de um novo tipo de circuito analógico, de-nominado Field Programmable Analog Array (FPAA), trouxe para o domínio analó-gico características até então restritas ao domínio digital, proporcionadas pelosField Programmable Gate Arrays (FPGAs). Tais características são a reconfigurabili-dade, flexibilização de projeto e prototipação rápida (HEREFORD e PRUITT,2004; ZNAMIROWSKI et al., 2004). Essas características podem ser interessan-tes em aplicações espaciais, como, por exemplo, no condicionamento de senso-res de um satélite, podendo auxiliar na implementação de técnicas de instru-mentação e controle reconfigurável ou adaptativo.

p. 181 - 208

184

Diálogo Canoas n. 14 jan-jun 2009

Alguns modelos de FPPAs são baseados em memórias do tipo SRAM(Static Random Acces Memory) para implementar a programabilidade do dispo-sitivo. A utilização desse tipo de bloco de memória torna o FPAA vulnerável aSEUs (Single Event Upsets), quando considerada sua aplicação em ambientes sus-cetíveis à radiação, como é o caso das aplicações espaciais.

Este trabalho visa a estudar, desenvolver e aplicar técnicas e estratégiasde proteção à radiação para dispositivos analógicos programáveis (FPAAs). Paraisso, um FPAA comercial é considerado. Esse dispositivo é fabricado pelaAnadigm Company (ANADIGM, 2003) e apresenta blocos de memória do tipoSRAM o que potencializa os efeitos da radiação, conforme será descrito no de-correr deste documento.

A primeira parte deste trabalho descreve alguns experimentos de injeçãode falhas realizados, a fim de analisar os possíveis efeitos dos SEUs nos blocos dememória SRAM do FPAA considerado. Na segunda parte do trabalho, um es-quema que visa à autodetecção de erros e a autorecuperação da memória deprogramação é proposto. A confiabilidade do esquema proposto é analisada atravésde um conjunto de experimentos de injeção de falhas.

Este trabalho está organizado da seguinte maneira: na seção 2, as origens,os possíveis efeitos da radiação em circuitos eletrônicos e algumas técnicas deproteção usuais são brevemente discutidas. Na seção 3, a arquitetura de um FPAAgenérico é descrita, e os FPAAs utilizados neste trabalho são apresentados.A seção 4 apresenta os possíveis efeitos da radiação para FPAAs baseados emmemória do tipo SRAM. A seção 5 mostra a técnica proposta para proteção dosFPAAs da Anadigm, e os resultados obtidos considerando o esquema de autore-cuperação proposto. Conclusões são apresentadas na seção 6.

p. 181 - 208

185

Diálogo Canoas n. 14 jan-jun 2009

2 RADIAÇÃO: ORIGENS, EFEITOS E TÉCNICAS DE PROTEÇÃOA primeira evidência de que a radiação pode perturbar a operação de

circuitos eletrônicos ocorreu em 1962, quando um teste nuclear, realizado emalta altitude pelos Estados Unidos, ocasionou a falha do satélite Telstar (VELAS-CO et al., 2007). A partir desse momento, os efeitos da radiação (seja natural ouproduzida pelo homem) nos circuitos eletrônicos passou a ser objeto de estudoda comunidade científica, das agências espaciais e dos órgãos militares.

2.1 Radiação: origensNo escopo deste trabalho, a radiação consiste em atividade eletromagnética

ou incidência de partículas, no espaço ou provenientes dele. A atmosfera terrestre agecomo um filtro natural, reduzindo a intensidade da radiação que atinge a terra(BOUDENOT, 2007). A radiação é tão mais intensa quanto maior for a altitude emrelação ao nível do mar. No entanto, dadas as dimensões reduzidas dos transistoresque compõe os circuitos eletrônicos atuais, a quantidade de energia necessária paragerar atividade elétrica em um transistor também é consideravelmente baixa. Assim,mesmo ocorrendo em menor intensidade, a incidência de radiação pode afetar oscircuitos eletrônicos operando também ao nível do mar (ECOFFET, 2007).

As principais partículas que podem causar efeitos indesejados nos circuitoseletrônicos são elétrons, prótons, partículas alfa e íons pesados, além da radiaçãoeletromagnética (raios-x, raios-gama e raios ultravioletas) (STASSINOPOULOSe RAYMOND, 1988).

Essas partículas podem ter origens nos chamados cinturões de Van Allen,que são regiões do espaço que circundam a Terra repletas de prótons e elétrons.O sol também é responsável por grande parte da radiação presente no ambienteespacial. A atividade solar é cíclica (11 anos), compreendendo 7 anos de altaatividade e 4 anos de baixa atividade (BOUDENOT, 2007).

p. 181 - 208

186

Diálogo Canoas n. 14 jan-jun 2009

2.2 Radiação: efeitosUma das principais aplicações espaciais de circuitos eletrônicos é a utili-

zação de satélites de comunicação, geoprocessamento e GPS (Global Positio-ning System). Os satélites podem ser classificados quanto a sua órbita, sendo osgeoestacionários (situados a 36.000 Km de altitude) os mais expostos aos efeitosda radiação. Aeronaves utilizadas em missões espaciais e aviões também podemser afetados.

Existem basicamente dois tipos de efeitos que afetam os circuitos eletrô-nicos no espaço:

Total Ionizing Dose (TID): efeito de longo prazo que degrada os circui-tos devido ao acúmulo de cargas nos materiais que compõem o circuito integrado.

Single Event Effects (SEEs): são efeitos transientes que se devem aoimpacto de partículas no silício, ionizando-o e provocando um pulso de corrente.Os SEEs podem ainda ser classificados como:

SEU (Single Event Upset): atinge elementos de memória modificando oestado de um BIT armazenado.

SET (Single Event Transient): pulso transiente que pode ou não ser captu-rado por um elemento de memória.

SEL (Single Event Latch-up); SEB (Single Event Burnout); SEGR (Single EventGate Rupture): SHE (Single Hard Error): são eventos destrutivos, que danificampermanentemente o circuito (BOUDENOT, 2007).

A Figura 2.1 ilustra um SEE. O impacto de uma partícula em transistortransfere energia para o material, ionizando o silício e gerando pares elétrons lacu-nas que, em nível elétrico, gera um pulso de corrente (Figura 2.2). Essa correntepode ser interpretada pelo circuito como um sinal e afetar a lógica do circuito.

p. 181 - 208

187

Diálogo Canoas n. 14 jan-jun 2009

Figura 2.1: Single Event Effect em um transistor MOS

Quando uma partícula atinge um nó sensível (dreno de um transistor emestado “off ”) de um elemento de memória, esse elemento pode ter seu valorlógico invertido, caracterizando um SEU. Se o nó atingido pertence à lógica com-binacional pode ocorrer um SET.

Partículas com alta

energia

Figura 2.2: Pulso de corrente gerado por um SEE

2.3 Radiação: técnicas de ProteçãoA proteção contra SEUs pode ser implementada em três diferente níveis

em um circuito eletrônico:1) Processo ou tecnologia (hardening by technology): quando um determi-

nado processo ou tecnologia, que apresenta características intrínsecas de tolerân-cia à radiação, é empregado. Um exemplo de tecnologia tolerante a radiação é atecnologia SOI (Silicon on Insulator).

p. 181 - 208

188

Diálogo Canoas n. 14 jan-jun 2009

2) Projeto (hardening by design): quando a estrutura ou lógica de um deter-minado circuito é alterada em nível de projeto, a fim de implementar-se tolerân-cia a SEUs.

3) Sistema (hardening by system): quando a implementação em nível desistema é alterada. Um exemplo é a redundância (temporal ou espacial), confor-me descrito abaixo.

Os Single Envent Upsets (SEUs) e Single Event Transients (SETs), bem comoos seus efeitos nos circuitos digitais, vêm sendo amplamente estudados por maisde uma década (MESENGER, 1992; YANG e SALEH, 1992), e diversas técni-cas para implementação de circuitos digitais tolerantes a falhas foram desenvolvi-das. As principais técnicas de proteção e tolerância a falhas utilizam algum tipode redundância que podem ser classificadas basicamente em redundância tempo-ral e redundância espacial (ANGHEL et al., 2000).

Nos métodos baseados em redundância espacial o hardware a ser prote-gido é normalmente replicado (usualmente duplicado ou triplicado) e as saídasdos blocos replicados são entregues a circuitos especiais que fazem a compara-ção dos valores presentes nas saídas. No caso da duplicação, em circuitos digitais,a saída de ambos blocos é entregue a entrada de um comparador digital quesimplesmente identifica a presença de uma falha, mas não identifica qual dosblocos está correto e não corrige a falha. Por esse motivo, a técnica de redundân-cias espacial mais comumente utilizada é triplicação ou redundância modulartripla, conhecida como TMR (Triple Modular Redundancy) (ANGHEL et al., 2000;CARMICHAEL 2001).

Na técnica de TMR, o hardware de interesse é triplicado e suas saídas sãoaplicadas a um votador de maioria (majority voter). Na hipótese de uma falha atin-gir um dos blocos triplicados, os outros dois continuarão gerando uma saídacorreta e o votador irá gerar uma saída global também correta, com base na saída

p. 181 - 208

189

Diálogo Canoas n. 14 jan-jun 2009

da maioria dos blocos. No entanto, se houver falhas em dois blocos tal que assaídas desses sejam modificadas, o votador não mais estará escrevendo em suasaída o valor correto, pois nesse caso a maioria dos blocos estará com um valorincorreto em suas saídas. A Figura 2.3 exemplifica as técnicas de redundânciaespacial e temporal.

Figura 2.3: Redundância temporal e espacial adaptada de ANGHEL et al. (2000)

Embora existam diversas técnicas de proteção aplicáveis a circuitos digi-tais, os circuitos analógicos não têm recebido tanta atenção no que concerne aosefeitos da radiação (ADELL et al., 2000; TURFINGLER, 1996; LEVEUGLE,2004).

Nesse contexto, um dos objetivos deste trabalho é estudar os efeitos daradiação em circuitos analógicos programáveis (baseados em memória do tipoSRAM) e propor uma técnica de proteção em nível de sistema. Tal técnica ébaseada em redundância espacial associada a uma ação que pode ser comparadaa técnica de BIT scrubing utilizada nos FPGAs.

p. 181 - 208

190

Diálogo Canoas n. 14 jan-jun 2009

3 FIELD PROGRAMMABLE ANALOG ARRAYS

3.1 Arquitetura típica de um FPAA genéricoOs FPAAs são circuitos analógicos programáveis que podem ser recon-

figurados durante as etapas de desenvolvimento de um projeto bem como emcampo, durante a utilização do sistema no qual o componente se encontra (daí oseu nome, que traduzido para o português significa “Arranjo Analógico Progra-mável em Campo”).

O FPAA proporciona ao domínio analógico as mesmas característicasque o seu dual digital, o FPGA (Field Programmable Gate Array), proporciona aoscircuitos digitais, aumentando a flexibilidade e diminuindo o tempo de projeto.Outra característica de alguns FPAAs é a reconfiguração dinâmica, o que podeser uma ótima alternativa em sistemas de controle e instrumentação adaptativos(HEREFORD e PRUITT, 2004; ZNAMIROWSKI et al., 2004), em que algu-mas características do circuito precisam ser alteradas de acordo com as mudan-ças nos valores das variáveis consideradas nos processos. Devido à disponibilida-de de ferramentas de programação automatizadas e de fácil manipulação, o pro-jeto de circuitos analógicos complexos pode ser realizado sem a necessidade deum projetista analógico altamente especializado, tornando o desenvolvimento desistemas analógicos uma tarefa menos difícil e demorada.

A Figura 3.1 ilustra a arquitetura típica de um FPAA genérico, formadapor blocos analógicos programáveis (CABs – Configurable Analog Blocks), célulasde entrada e saída (I/O), uma rede de interconexões e registradores de memória,onde são armazenados os dados digitais que programam o componente. A redede interconexões é responsável por conectar os diferentes CABs entre si e tam-bém com as células de I/O. As células de I/O são a interface do FPAA com osistema externo e podem ser compostas por buffers, filtros anti-aliasing ou smoothing,entre outras funções de condicionamento de sinal.

p. 181 - 208

191

Diálogo Canoas n. 14 jan-jun 2009

A Figura 3.2 ilustra o esquemático genérico de um bloco analógico con-figurável (CAB) de um FPAA. Cada CAB é composto por um conjunto de com-ponentes analógicos programáveis, blocos de interconexões e um amplificadoroperacional de saída. Os componentes de um CAB podem ser configurados comosimples linhas de interconexão (fios), resistores, capacitores e transcondutores,por exemplo. Em geral os parâmetros programáveis dos CABs são ganho deamplificadores, valores de resistores e capacitores bem como a habilitação delaços de realimentação locais ou globais.

Figura 3.1: Arquitetura de um FPAA genérico

Figura 3.2: Arquitetura de um CAB genérico

p. 181 - 208

192

Diálogo Canoas n. 14 jan-jun 2009

3.2 O FPAA AN10E40 da Anadigm CompanyNa Figura 3.3, é possível visualizar o diagrama de blocos do FPAA

AN10E40 com sua rede de interconexões circundando os 20 CABs que o com-põe. Essa rede é composta por um barramento vertical e um horizontal, totali-zando 5 linhas e 6 colunas de interconexões, sendo que cada linha ou coluna écomposta por 2 fios. Esse esquema de barramentos é definido como “intercone-xões globais” (BRATT; MACBETH, 1998), pois dessa maneira é possível conec-tar um CAB a qualquer outro da matriz e a qualquer célula de I/O.

O CAB do AN10E40 é composto por um amplificador operacional, 5bancos de capacitores e recursos de interconexão, conforme pode ser visualiza-do na Figura 3.4. A programabilidade do CAB é concebida através de chaves,cujo estado (aberta ou fechada) é definido pela memória de configuração, que éarmazenada no shift register de programação. Cada componente programável ilus-trado na Figura 3.4 apresenta um conjunto de chaves, essas chaves podem serestáticas ou dinâmicas.

Figura 3.3: Representação em blocos do AN10E40 (ANADIGM, 2003)

p. 181 - 208

193

Diálogo Canoas n. 14 jan-jun 2009

No software de programação do componente AN10E40, existe uma bi-blioteca com 60 módulos que implementam as mais diversas funções analógicas,desde simples comparadores até os mais diversos tipos de filtros. Cada módulopossui um bitstream de programação próprio, que configura as chaves programá-veis de maneira que o CAB execute a função requerida. Cada CAB possui apro-ximadamente 200 chaves programáveis (ANADIGM, 2003). O bitstream que pro-grama um CAB possui 208 bits. Além dessas chaves, o componente ainda contacom as chaves que programam as interconexões globais, as células de I/O e aslógicas de controle de relógio, de referência e de programação. No total são ne-cessários 6864 BITs para programar todo o dispositivo (ANADIGM, 2003).

Figura 3.4: Representação do CAB do AN10E40 (ANADIGM, 2003)

4 EFEITOS DA RADIAÇÃO EM FPAAS BASEADOS EM MEMÓRIA SRAM

Conforme descrito anteriormente neste trabalho, em alguns FPAAs amemória de programação é baseada em blocos to tipo SRAM, como é o caso dosFPAAs da Anadigm. O estado das chaves programáveis do dispositivo é definido

p. 181 - 208

194

Diálogo Canoas n. 14 jan-jun 2009

através do valor de uma sequência de BITS, denominada bitstream, a qual é carre-gada para o FPAA (configurando o mesmo) no ciclo de inicialização (no mo-mento em que é ligada alimentação do circuito). Se o shift-register de programaçãofor baseado em blocos de memória SRAM, a incidência de radiação ou o impactode partículas elétricas em um ou mais transistores destes blocos pode ocasionarum BIT-flip no bitstream previamente programado. Essa inversão de BIT altera oestado de uma chave que pode estar sendo utilizada na implementação do circui-to programado e modificar parâmetros como valores de componentes ou atémesmo mudar o roteamento interno dos CABs ou da matriz de um modo global.

Em alguns casos. um SEU na memória de programação pode resultar emuma modificação drástica na configuração do circuito previamente programado,podendo ser muito prejudicial à operação do mesmo. A Figura 4.1 ilustra essetipo de evento para um FPAA genérico.

No exemplo da Figura 4.1, um circuito foi previamente programado comum capacitor de realimentação local cujo valor relativo é 24C (8C+16C, conside-rando um banco de capacitores com pesos binários). É possível que um SEU nascélulas de memória do FPPA afete o valor de um componente programável dodispositivo. Nesse exemplo hipotético, foi considerado um BIT-flip em uma daschaves que controla um dos bancos de capacitores utilizados na implementaçãodo circuito, provocando um curto circuito no capacitor programado. Atravésdesse exemplo, é possível concluir que um SEU pode ser catastrófico em FPAAsdo tipo SRAM, pois em determinadas situações o correto funcionamento deuma simples chave é crucial para a operação de todo o sistema.

Além de modificação nos valores de componentes programáveis, umBIT-flip nas células de memória de um FPAA pode resultar na desconexão decomponentes, conexão de componentes indesejados (parasitas) e até mesmoem uma interrupção no caminho do sinal. Tal interrupção pode invalidarcompletamente o bloco analógico afetado, ou até mesmo o sistema em que oFPAA encontra-se inserido.

p. 181 - 208

195

Diálogo Canoas n. 14 jan-jun 2009

Figura 4.1: Modificação no circuito programado devido a um SEU na memória de progra-

mação de um FPAA baseado em memória SRAM

Caso um ou mais BITs da configuração do dispositivo sejam invertidosdurante a operação do FPAA, a única maneira de restaurar a configuração origi-nal é recarregando o bitstream original para o shift-register de programação do com-ponente. Em alguns modelos de FPAAs, essa reconfiguração pode ser feita emfrações de milisegundos.

4.1 Experimentos de Injeção de Falhas no FPAA AN10E40Com a finalidade de estudar os efeitos de inversões de BITs na memória

de programação dos FPAAs, um componente comercial foi utilizado, o AN10E40da Anadigm (ANADIGM, 2003), cuja descrição foi feita previamente.

p. 181 - 208

196

Diálogo Canoas n. 14 jan-jun 2009

Uma maneira possível de injetar falhas no FPAA AN10E40 é modifican-do o bitstream de configuração do mesmo. De acordo com ANADIGM (2003), obitstream que programa as chaves de um CAB é formado por 208 BITs. O bitstreamde cada módulo selecionado é armazenado no endereço do CAB no qual o mes-mo é alocado e faz parte do bitstream completo do componente.

Nos experimentos de injeção de falha, um módulo oscilador senoidalfoi utilizado, dada a importância desse tipo de bloco para aplicações analógi-cas e a facilidade de extrair parâmetros importantes como frequência e am-plitude do sinal. As falhas foram injetadas nos CABS do oscilador e o mode-lo de falhas adotado foi a inversão dos BITs de programação (BIT-Flip).Dado o bitstream padrão do oscilador, os BITs foram modificados, um a um,configurando o inverso do valor lógico correto, considerando uma hipótesede falhas simples. Logo, em cada um dos dois CABs do oscilador foram inje-tadas 208 falhas.

O bitstream padrão para os dois CABs do módulo oscilador, bem comoos parâmetros esperados para o sinal desse módulo, quando nenhuma falha éinjetada, são mostrados na figura 4.2 (onde fosc é a frequência de oscilação e A é aamplitude do sinal observado). A Figura 4.3 mostra exemplos de injeção de fa-lhas em dois BITs distintos do bitstream do oscilador, bem como o comporta-mento resultante.

Figura 4.2: Bitstream padrão do módulo oscilador e o comportamento esperado para o sinal

p. 181 - 208

197

Diálogo Canoas n. 14 jan-jun 2009

Figura 4.3: Bitstreams modificados e o comportamento obtido para o sinal de saída do

oscilador

4.2 Resultados dos experimentos de injeção de falhasDas 416 falhas injetadas no oscilador, apenas 140 (33,65%) afetaram o com-

portamento funcional do bloco, variando a frequência ou amplitude do sinal gerado.No o primeiro CAB do oscilador 57, das 208 inversões de BIT injetadas, (27,5%)causaram um desvio perceptível no comportamento do oscilador. Já no segundoCAB 83 BIT-flips (27,5%) causaram uma variação detectável nos parâmetros do sinalde saída do oscilador. Esses resultados são mostrados nas Figuras 4.4 e 4.5.

Figura 4.4: Resultados dos experimentos de injeção de falhas para o primeiro CAB do oscilador

p. 181 - 208

198

Diálogo Canoas n. 14 jan-jun 2009

A baixa taxa de erros causada pelas falhas injetadas deve-se ao fato de queapenas parte dos recursos programáveis dos CABs são utilizados na implementaçãodo oscilador. Portanto, muitas das chaves programáveis dos CABs não estão direta-mente relacionadas ao caminho do sinal e seu estado não afeta significativamente ocomportamento do circuito. Além disso, a diferença entre as taxas de erro observadaspara os dois CABs do oscilador é explicada pela maior taxa de utilização de recursosdo segundo bloco do oscilador (detalhes de implementação em ANADAGIM (2002)).

Figura 4.5: Resultados dos experimentos de injeção de falhas para o segundo CAB do

oscilador

5 ESQUEMA DE AUTORECUPERAÇÃO BASEADOEM REDUNDÂNCIA

É possível tirar vantagem da programabilidade dos FPAAs para cons-truir circuitos detectores de erros (checkers) aplicáveis a esquemas on-line (em fun-cionamento). Desse modo, é possível implementar circuitos autochecáveis (self-checking) e autorecuperáveis (self-recovering) utilizando FPAAs.

5.1 Arquitetura propostaSe ocorrer um BIT-flip em uma célula de memória do FPAA, a única

possibilidade de recuperar os dados originalmente programados é recarregando

p. 181 - 208

199

Diálogo Canoas n. 14 jan-jun 2009

o bitstream de programação para a memória do dispositivo. A maneira mais sim-ples de realizar a programação do AN10E40 é através de uma interface serial.Nesse caso os dados de configuração ficam armazenados em uma memória ROMserial externa. Esse esquema de configuração é amplamente utilizado na configu-ração de FPGAs, sendo uma alternativa de programação de baixo custo.

O esquema de autorecuperação proposto consiste em um checker on-lineque força o reset do FPAA, e, consequentemente, a recarga dos dados, se umdesvio funcional é detectado no circuito. Tal esquema é baseado em redundância.O circuito de interesse programado é duplicado e o checker subtrai as saídas docircuito e de sua réplica, gerando um sinal de erro. Esse sinal de erro é aplicado àentrada de um comparador de janela com limites de referência pré-definidos. Seo sinal de erro desviar dessa janela de referência, o comparador irá ativar o resetdo dispositivo e a configuração original é então recarregada. Para tal fim, umalógica externa extremamente simples é necessária.

A Figura 5.1 mostra o diagrama de blocos do esquema proposto, consi-derando um filtro passa-banda como bloco funcional. Embora neste trabalhoseja utilizado um filtro passa-banda, essa metodologia pode ser aplicada a qual-quer bloco funcional que possa ser programado no dispositivo em questão.

Tanto o checker como o bloco redundante são construídos utilizando osrecursos internos do FPAA. A Figura 5.2 mostra a área de trabalho do softwareAnadigm Designer com a representação dos blocos utilizados no esquema proposto.

A Figura 5.3 mostra as formas de onda dos sinais na saída dos dois fil-tros, dos comparadores e do sinal de erro, adquiridos durante em experimento deinjeção de falhas funcionais. Nesse experimento, um desvio de +10% na frequên-cia de corte superior de um dos filtros (de 10KHz para 11KHz) foi injetado. Umsinal retangular com ciclo ativo de 50%, dois Volts (pico) de amplitude e frequên-cia igual a 10KHz foi aplicado à entrada dos filtros. A janela de tolerância consi-derada foi ±58mV.

p. 181 - 208

200

Diálogo Canoas n. 14 jan-jun 2009

Pela figura 5.3, é possível concluir que o checker apresenta a habilidadede detectar desvios funcionais entre os blocos programados no FPAA.

Figura 5.1: Diagrama de blocos do esquema de auto-recuperação

com o FPAA AN10E40

Figura 5.2: Diagrama de blocos (tela do

software de programação) do esquema

proposto

Figura 5.3: Saída dos filtros, dos

comparadores e o sinal de erro durante um

experimento de injeção de falha

p. 181 - 208

201

Diálogo Canoas n. 14 jan-jun 2009

5.2 Injeção de Falhas no Circuito Detector de Erro (Checker)Nesta seção são apresentados experimentos e resultados de injeção de

BIT-flips no próprio checker com a finalidade de verificar a confiabilidade do es-quema proposto. A justificativa para considerar a injeção de BIT-flips apenas nocheker, no restante deste trabalho, reside no fato de que a probabilidade de falhasmúltiplas afetarem exatamente os mesmos BITs do bloco funcional e de suacópia é extremamente baixa. Logo, uma falha (ou um conjunto de falhas) podemanter as saídas de ambos blocos inalteradas (como mostrado na seção 4.2) oucausar um desvio entre os blocos gerando um sinal de erro maior que os limitesde tolerância.

A seguir algumas definições utilizadas no domínio digital para circuitos self-checking (ANDERSON, 1971) são apresentadas e utilizadas para definir algumaspropriedades do checker proposto na seção anterior. Tais definições consideram umbloco G (o checker, nesta análise) com um espaço de código de entrada A, umespaço de código de saída B e um dado conjunto de falhas F, conforme segue:

Definição D1: “G é fault secure em relação a F se, para todas as falhas emF e para todas as entradas do código, a saída ou é correta ou é uma palavra quenão pertence ao código válido”.

Definição D2: “G é self-testing em relação a F se, para cada falha em F,exista pelo menos uma entrada pertencente ao código que produza uma saídanão pertencente ao código válido”.

Definição D3: “G é totally self-checking (TSC) em relação a F se for aomesmo tempo fault secure e self-testing em relação a F”.

Para circuitos analógicos podemos considerar que o espaço de códigocorresponde aos limites esperados para um dado sinal, considerando característi-cas como amplitude, freqüência fundamental e conteúdo harmônico. Conside-

p. 181 - 208

202

Diálogo Canoas n. 14 jan-jun 2009

rando o esquema redundante proposto neste trabalho e as tensões nas saídas dobloco funcional (VoF(t)) e do bloco redundante (VoR(t)), o espaço de entrada dochecker deve satisfazer a seguinte equação:

para qualquer valor de t (1)

onde Vref é o valor absoluto dos limites considerados para o comparador dejanela.

Os resultados obtidos na primeira parte experimental deste trabalho, con-siderando a injeção de falhas no oscilador, associada à condição imposta pelaEquação 1, permite concluir que é muito provável que o checker seja fault secure(considerando uma hipótese de falha simples). Entretanto, esses mesmos resulta-dos nos levam a concluir que é altamente provável que o checker não seja self-testing(e, conseqüentemente, também não seja TSC) dado que algumas falhas do mode-lo considerado podem afetar um recurso não utilizado dos DUTs, e, nesse caso,os sinais de saída dos blocos pertencerão ao espaço válido mesmo com umafalha afetando um dos DUTs.

No entanto, de acordo com NICOLAIDIS e CURTOIS (1998), em umesquema self-checking, não existe a necessidade de que o checker seja TSC, basta queo mesmo seja strongly code disjoint, de acordo com as definições abaixo:

Definição D4: “Uma determinada rede é code disjoint se palavras perten-centes ao código de entrada sempre gerem palavras pertencentes ao código desaída e palavras não pertencentes ao código de entrada sempre gerem palavrasnão pertencentes ao código de saída”.

Definição D5: “Um circuito G é strongly code disjoint, considerando umconjunto de falhas F, se, antes da ocorrência de qualquer falha, G for code disjointe, para cada falha f pertencente a F, ou a) G é self-testing ou b) G modificado por

refoRF

o V<(t)V(t)V −

p. 181 - 208

203

Diálogo Canoas n. 14 jan-jun 2009

uma falha f gere sempre saídas não pertencentes ao código para entradas nãopertencentes ao código de entrada e, se uma nova falha pertencente a F, ocorrer,resultando no caso de falhas múltiplas, ou a) ou b) sejam verdadeiros”.

Para verificar se o checker proposto neste trabalho é strongly code disjoint doisconjuntos de experimentos foram realizados. Primeiramente foram injetados BIT-flips no bistream de programação do checker quando o circuito funcional e sua répli-ca não apresentavam desvio em seu comportamento (sem falhas). Esse experi-mento foi realizado para investigar se o checker satisfaz a propriedade self-cheking.No segundo conjunto de experimentos, o procedimento é repetido quando umdesvio funcional é injetado em um dos blocos sob teste (bloco funcional ou suaréplica). O principal objetivo do segundo conjunto de experimentos é investigara confiabilidade do checker e o fenômeno conhecido como fault aliasing, que podeocorrer quando uma falha no bloco sob teste não é detectada em razão de umafalha que ocorra ao mesmo tempo no checker.

Injeção de Falhas no Checker Parte I: DUTs Sem FalhasNeste conjunto de experimentos falhas de inversão de BIT são exaustiva-

mente injetadas nos 5 blocos que compõe o checker (8 CABs). Uma vez que cadaCAB é programado através de 208 BITs, 1664 falhas são injetadas no bitstream dochecker. Os blocos sob teste são mantidos com suas configurações originais, ou seja,com ambos blocos operando dentro de suas especificações. Nesse caso, o sinal deerro deve se manter dentro da janela de referência (espaço de entrada válido dochecker) e ambos comparadores do checker devem estar com suas saída em 0V. Noentanto, se uma falha afetar o checker uma indicação de erro pode ocorrer. Nessecaso o checker estará detectando uma falha originada em seus próprios blocos.

Das 1664 falhas injetadas 283 (17%) geraram uma indicação de erro nasaída do checker, enquanto 1381 (83%) não modificaram as suas saídas. Esses

p. 181 - 208

204

Diálogo Canoas n. 14 jan-jun 2009

resultados são mostrados na Figura 5.4. Inicialmente, pode-se até considerar queestes 17% de indicação de erro representam um mau resultado, pois isso significaque o checker não é self-testing em relação ao modelo de falhas considerado. Porém,conforme mencionado anteriormente, essa baixa taxa de detecção de erros deve-se a também baixa taxa de utilização dos recursos internos dos CABs que com-põe o checker. Ainda, essa baixa taxa de detecção de erros não significa que ochecker não é confiável, uma vez que os experimentos foram conduzidos com ocircuito funcional livre de falhas. A confiabilidade do esquema proposto é testa-da nos experimentos que são descritos a seguir, nos quais se investiga a habilida-de do checker em detectar desvios no DUT quando falhas de inversão de BITafetam seus próprios blocos (propriedade strongly code disjoint).

Figura 5.4: Resultados dos experimentos de injeção de falhas no checker quando o DUT

não apresenta falhas

Injeção de Falhas no Checker Parte II: DUTs Com FalhasNeste conjunto de experimentos, BIT-flips são injetados no checker consi-

dera-se uma a ocorrência de uma falha em um dos blocos sob teste. Um desviofuncional é injetado em um dos blocos duplicados: a freqüência de corte superiordo filtro passa-banda é desviada em +10% de seu valor nominal. Essa variação ésuficiente para gerar uma indicação de erro se o checker estiver funcionando ade-quadamente. O objetivo desses experimentos específicos é verificar se o fenôme-no de fault aliasing pode ocorrer quando um BIT-flip afeta o checker, ou, em outras

p. 181 - 208

205

Diálogo Canoas n. 14 jan-jun 2009

palavras, se o checker pode ser considerado strongly code disjoint. Nesse caso faultaliasing é considerado como a incapacidade do checker indicar que existe um des-vio entre os blocos (funcional e redundante) quando, na verdade, existe um des-vio funcional injetado em um deles.

Os resultados mostram que das 1664 falhas injetadas no bitstream do che-cker apenas 4 (0,24%) causaram o fenômeno de fault aliasing. As falhas restantes(99,76%) não afetaram a capacidade do checker detectar o desvio funcional injeta-do no DUT, como mostrado na Figura 5.4. Esse pode ser considerado um bomresultado no que diz respeito à confiabilidade do checker, pois representa umabaixa probabilidade de aliasing, mesmo que o checker não possa ser consideradoformalmente strongly code disjoint.

Figura 5.5: Resultados da injeção de falhas no checker com um desvio funcional injetado

também no DUT

É possível concluir que essa baixa probabilidade de aliasing deve-se à re-dundância natural do checker proposto, uma vez que dois comparadores indicamuma possível discrepância entre os blocos duplicados. Os experimentos mos-tram que, na maioria dos casos, quando um comparador falha na indicação deum erro o outro consegue indicá-lo. Esses casos específicos e os casos em que assaídas dos comparadores apresentam sinais diferentes daqueles observados quandoo checker é livre de falhas (mas, mesmo assim, ocorrendo a indicação de erro), sãoconsiderados como saídas do checker fora do espaço de código válido, de acordo

p. 181 - 208

206

Diálogo Canoas n. 14 jan-jun 2009

com as definições apresentadas anteriormente. Esses casos representam aproxi-madamente 10% das falhas injetadas e são mostrados na Figura 5.5 como “De-tectadas com comportamento alterado”.

6 CONCLUSÕESNeste trabalho, o efeito de falhas ocasionadas por incidência de radiação

(neste caso SEUs) em FPAAs baseados em memória SRAM foi estudado. Expe-rimentos de injeção de falhas em um modulo simples (oscilador) foram realiza-dos e os efeitos destas falhas (inversão de BITs) foram estudados e discutidos.

Em um segundo momento do trabalho, uma arquitetura self-checking foiproposta a fim de permitir a detecção de erros on-line a auto-recuperação dosdados de memória se um erro for detectado. A habilidade desse esquema emdetectar desvios funcionais entre o bloco de interesse e uma réplica deste foitambém discutida.

Experimentos foram também realizados, a fim de comprovar a confiabi-lidade do Checker, quando consideradas falhas no bitstream de seus próprios blo-cos. Esses experimentos mostraram que existe uma probabilidade de aliasing muitobaixa, pois para a grande maioria das falhas injetadas no checker o mesmo mantevesua capacidade de detectar desvios funcionais nos blocos sob teste.

O conjunto de experimentos e seus resultados mostraram que a ocorrên-cia de SEUs nos blocos de memória do FPAA pode ser altamente prejudicialpara o circuito. No entanto, é possível aproveitar a programabilidade do disposi-tivo para construir um esquema de auto-recuperação, mitigando assim os efeitosdecorrentes deste tipo de falha.

p. 181 - 208

207

Diálogo Canoas n. 14 jan-jun 2009

REFERÊNCIASADELL, P. Schrimpf, R. D. Barnaby, H. J. Marec, R. Chatry, C. Calvel, P. Barillot,C. and Mion O. Analysis of Single-Event Transients in Analog Circuits.IEEE Transactions on nuclear Science, v. 47, n. 6, December 2000ANADIGM. Anadigm Designer IP Module Manual. Datasheet, 2002. Disponí-vel em <www.anadigm.com>. Acesso em: 8 mar. 2006.ANADIGM. AN10E40 Field Programmable Analog Array. DataSheet, 2003.Disponível em <www.anadigm.com>. Acesso em: 8 mar. 2006.ANDERSON, D. A. “Design of self-checking digital networks using codingtechniques,” Rep. 527, CSLiUniv. Illinois, Sept. 1971.ANGHEL. A., ALEXANDRESCU, D., NICOLAIDIS, M. Evaluation of aSoft Error Tolerance technique based on Time and or HardwareRedundancy. Proc. of IEEE Integrated Circuits and Systems Design (SBCCI),pp. 237-242, Sept. 2000.BALEN, Tiago. Teste de Dispoositivos Analógicos Programáveis (FPAAs).Dissertação de Mestrado. Programa de Pós-Graduação em Engenharia Elétrica.UFRGS. 2006.BOUDENOT, J.-C. Radiation space Environment. In: Velazco, Raoul; Fouillat,Pascal; Reis, Ricardo. (Org.). Radiation Effects on Embedded Systems.Springer, 2007, v. 1, p. 1-9.BRATT, A.; MACBETH, I. DPAD2 – A field Programmable Analog Array.Analog Integrated Circuits and Signal Processing, Holanda: Kluwer AcademicPublishers. v. 17, p. 67-89, 1998.ECOFFET, R. In-flight Anomalies on Electronic Devices. In: Velazco, Raoul;Fouillat, Pascal; Reis, Ricardo. (Org.). Radiation Effects on Embedded Systems.Springer, 2007, v. 1, p. 31-68.HEREFORD, J.; PRUITT, C. Robust Sensor Systems using Evolvable Hardware.In: NASA/DoD CONFERENCE ON EVOLVABLE HARDWARE, 2004,Proceedings... [S. l.], 2004 p. 161.LEHTONEN, T.; PLOSILA, J.; ISOAHO, J. On Fault Tolerance Techniquestowards Nanoscale Circuits and Systems. Turku Centre for Computer ScienceTechnical Report, Finlândia, n. 708, ago 2005.

p. 181 - 208

208

Diálogo Canoas n. 14 jan-jun 2009

LEVEUGLE, R., AMMARI, A. Early SEU Fault Injection in Digital, Analogand Mixed Signal Circuits: a Global Flow. Proceedings of the Design,Automation and Test in Europe Conference and Exhibition (DATE’04), pp.1530-1591, 2004.LUBASZEWSKI, M., BALEN, T., SCHULLER, E., CARRO, L., HUERTAS, J.L. Effects of Radiation on Analog & Mixed-Signal Circuits. In: Velazco,Raoul; Fouillat, Pascal; Reis, Ricardo. (Org.). Radiation Effects on EmbeddedSystems. Springer, 2007, v. 1, p. 89-109.MESSENGER, G. C. A summary Review of Displacement Damage from HighEnergy Radiation in Silicon Semiconductors and Semiconductors Devices. IEEETransactions on nuclear Science, Estados Unidos, n. 3, v. 39, p. 468-473, jun.1992.MOORE, G. E. Cramming More Components Onto Integrated Circuits.Electronics Magazine, [S. l.], n. 8, v. 38, abr. 1965.NICOLAIDIS, M., COURTOIS, B. Stongly Code Disjoint Checkers. IEEETransactions on Computers, v. 37, n. 6, pp 751-756, 1988.STASSINOPOULOS, E.; RAYMOND, J. The Space Radiation Environmentfor Electronics. In: Proceedings of the IEEE, v. 76, n. 11, November, 1988.TAUR, Y. et al. CMOS Scaling into the Nanometer Regime. Proceedings of theIEEE. Estados Unidos, n. 4, v. 85, abr. 1997, p. 486 - 504.TURFINGLER, T. L. Single-Event Effects in Analog and Mixed-SignalIntegrated Circuits. IEEE Transactions on nuclear Science, v. 43, n. 2,pp. 594-602, April 1996VELASCO, R.; FOUILLAT, P.; REIS, R. (Org.). Radiation Effects onEmbedded Systems. Springer, 2007.YANG, F. L. SALEH, R. A. Simulation and Analysis of Transient Faults inDigital Circuits. IEEE Journal of Solid-State Circuits, v. 27, n. 3, March 1992.ZNAMIROWSKI, L; PAULUSINSKI, O. A.; VRUDHULA, S. B. K.Programmable Analog/Digital Arrays in Control and Simulation. AnalogIntegrated Circuits and Signal Processing. [S. l.] n. 39, Holanda: KluwerAcademic Publishers, p. 55-73, 2004.

p. 181 - 208