Soluções híbridas de hardware/software para a detecção de erros em systems-on-chip (SoC) de tempo real

AUTOR(ES)
DATA DE PUBLICAÇÃO

2006

RESUMO

Nos últimos anos, o crescente aumento do número de aplicações críticas envolvendo sistemas de tempo real aliado ao aumento da densidade dos circuitos integrados e a redução progressiva da tensão de alimentação, tornou os sistemas embarcados cada vez mais susceptíveis à ocorrência de falhas transientes. Técnicas que exploram o aumento da robustez de sistemas em componentes integrados (SoC) através do aumento do ciclo de trabalho do sinal de relógio gerado por um bloco PLL para acomodar eventuais atrasos indesejados da lógica [1] são possíveis soluções para aumentar a confiabilidade de sistemas eletrônicos. Diz-se que estes sistemas utilizam técnicas de error avoidance. Outras técnicas cujo objetivo não é o de evitar falhas, mas sim o de detectá-las, são ditas técnicas de error detection. Este trabalho aborda esse segundo tipo de técnica para aumentar a confiabilidade de sistemas eletrônicos; ou seja, aborda o desenvolvimento de técnicas que realizam a detecção de erros em tempo de execução do sistema. Sistemas de tempo real não dependem somente do resultado lógico de computação, mas também no tempo em que os resultados são produzidos. Neste cenário, diversas tarefas são executadas e o escalonamento destas em função de restrições temporais é um tema de grande importância. Durante o funcionamento destes sistemas em ambientes expostos à interferência eletromagnética (EMI), existe a enorme probabilidade de ocorrerem falhas transientes. Assim, a utilização de técnicas capazes de detectar erros evita que dados errôneos se propaguem pelo sistema até atingir as saídas e portanto, produzindo um defeito e/ou comprometendo a característica temporal do sistema. Basicamente, as técnicas de detecção são classificadas em duas categorias: soluções baseadas em software e soluções baseadas em hardware. Neste contexto, o objetivo principal deste trabalho é especificar e implementar uma solução baseada em software (descrito em linguagem C e inserida no núcleo do Sistema Operacional de Tempo Real - RTOS) ou baseada em hardware (descrito em linguagem VHDL e conectada no barramento do processador) capaz de detectar em tempo de execução eventuais erros devido a falhas ocorridas no sistema. As falhas consideradas neste trabalho são aquelas que afetam a execução correta do fluxo de controle do programa. A solução proposta é inovadora no sentido de se ter como alvo sistemas SoC com RTOS multitarefa em ambiente preemptivo. A solução proposta associa a estes sistemas, técnicas híbridas de detecção de erros: baseadas em software (YACCA [2,3]) e em hardware (WDT [4,5], OSLC [6,7] e SEIS [8,9,10]). Diferentes versões do sistema proposto foram implementadas. Em seguida, foram validadas em um ambiente de interferência eletromagnética (EMI) segundo a norma IEC 62132-2 [11] que define regras para os testes de circuitos integrados expostos à EMI irradiada. A análise dos resultados obtidos demonstra que a metodologia proposta é bastante eficiente, pois apresenta uma alta cobertura de falhas e supera os principais problemas presentes nas soluções propostas na literatura. Ou seja, associa uma menor degradação de desempenho com um menor consumo de memória e uma maior cobertura de falhas.

ASSUNTO(S)

hardware software circuitos integrados tolerÂncia a falhas (computaÇÃo) engenharia eletrica sistemas eletrÔnicos processamento em tempo real

Documentos Relacionados