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

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Viana, Rafael de Figueredo
Orientador(a): Silva, Márcio Rosa da
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade do Vale do Rio dos Sinos
Programa de Pós-Graduação: Programa de Pós-Graduação em Engenharia Elétrica
Departamento: Escola Politécnica
País: Brasil
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://www.repositorio.jesuita.org.br/handle/UNISINOS/9456
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.