Design and simulation of a RISC-V dual-core lockstep for fault tolerant systems

Carregando...
Imagem de Miniatura

Data de defesa

Autor(a)



Orientador(a)


Coorientador(a)


Título do periódico

ISSN

Título do volume

Nome da instituição

Universidade do Vale do Rio dos Sinos

Departamento

Escola Politécnica

Programa

Programa de Pós-Graduação em Engenharia Elétrica

Agência de fomento

Nenhuma
Resumo

Processadores embarcados são utilizados cada vez mais na indústria e em aplicações civis, como em dispositivos de aplicações críticas em segurança. O parâmetro crítico dos processadores, anteriormente performance, foi substituído pela necessidade da garantia de confiabilidade do sistema. Esta mudança de paradigma acarreta na utilização de técnicas para desenvolvimento de dispositivos tolerantes a falhas. Aplicações aeroespaciais e, mais recentemente, automotivas, são mais suscetíveis a falhas causadas pela incidência de radiação nos circuitos integrados que compõem os sistemas, devido à redução do tamanho do transistor e aumento da complexidade dos dispositivos. Neste contexto, o uso de FPGA (do inglês Field Programmable Gate Array) é atraente à indústria para implementação de sistemas seguros, devido a versatilidade e customização de designs nos dispositivos. Porém FPGA resistentes à radiação possuem alto custo de aquisição, além de serem desenvolvidas com tecnologia de circuitos integrados atrasada em relação a FPGA COTS (Commercial Off The Shelf). A fim de aumentar a confiabilidade e segurança de sistemas implementados em FPGA COTS, este trabalho implementa uma arquitetura de Lockstep dual core (do termo inglês Dual Core Lockstep - DCLS) para processadores de arquitetura open-source RISC-V, utilizando o core RI5CY. Acreditamos que este é o primeiro trabalho que implementa uma arquitetura DCLS com CPUs RISC-V, executa uma rotina de injeção de falhas via software e avalia o overhead em software e hardware. Um framework de injeção de falha é proposto e implementado utilizando uma ferramenta aberta de simulação. O sistema é implementado em FPGA e o overhead em hardware do sistema é pequeno, chegando a 5.18% de utilização de área comparado com a área utilizada por um único core. O sistema alcança uma redução de frequência de clock de 18,5%, ao ser implementado em uma Kintex KC705. Os resultados da injeção de falhas indicam que o sistema é eficaz na detecção de falhas nas saídas de cores, onde todos os erros visíveis foram detectados. Os testes de injeção de falha mostram a discrepância entre a injeção de falha transitória e permanente no Design Under Test - DUT devido a diferença de erros visíveis.