17abr2026
14:00 Defesa de Mestrado Sala 85 do IC2
Tema
Verificação de Processadores RISC-V em Larga Escala
Aluno
Gabriel Pimentel Gomes
Orientador / Docente
Rodolfo Jardim de Azevedo
Breve resumo
Por mais de cinco décadas, os avanços na tecnologia de semicondutores progrediram no ritmo previsto pela Lei de Moore. No entanto, no início dos anos 2000, os avanços na manufatura começaram a desacelerar, marcando o fim do escalonamento previsível. Para superar esse problema, projetistas passaram a investir em diversidade microarquitetural e especialização. Esse novo paradigma permaneceu restrito às poucas empresas detentoras das Arquiteturas de Conjunto de Instruções (ISAs) preponderantes, uma vez que estas eram, e ainda são, agressivamente protegidas como propriedade intelectual. Em 2011, foi lançada a primeira versão da ISA de código aberto RISC-V, e sua adoção permitiu que outros projetistas, de amadores a grandes empresas, desenvolvessem seus próprios processadores customizados. Isso alterou o fluxo de desenvolvimento de processadores, visto que agora existem centenas de implementações RISC-V disponíveis que podem ser prontamente inseridas em um novo projeto. O acesso irrestrito à ISA aberta e a necessidade de validar esses projetos aumentaram os esforços de verificação por parte da comunidade científica. Contudo, esses esforços limitam-se à criação de técnicas capazes de verificar um pequeno conjunto de processadores e carecem de aplicabilidade em larga escala. Para preencher essa lacuna, apresentamos o Non-intrusive Trace-Based Verifier (NTV), uma ferramenta construída sobre os pilares da reusabilidade e do tempo de configuração reduzido. O primeiro pilar foi alcançado limitando os sinais utilizados para monitoramento da execução a sinais genéricos, e o segundo pela introdução de automação na geração de testbenches. Essas duas características permitiram que nossa ferramenta verificasse um total de 30 processadores distintos — incluindo um superescalar out-of-order — com esforço manual reduzido, enquanto outros trabalhos careciam totalmente de automação e verificaram, no máximo, 4 cores. A ferramenta compara o traço de execução de um Projeto Sob Teste (DUT) e o Simulador de Conjunto de Instruções (ISS) Spike para programas arbitrários. Executamos dois benchmarks que compreendem testes para o conjunto base RV32I, sendo um deles a Suíte de Testes Arquiteturais Oficial do RISC-V. O segundo benchmark foi desenvolvido por nossa equipe e forneceu um caso de teste não coberto pela suíte oficial, expondo mais falhas. Um total de 23 bugs foram descobertos em 13 cores.
Banca examinadora
Titulares:
Rodolfo Jardim de Azevedo IC/UNICAMP
Omar Paranaiba Vilela Neto DCC/UFMG
Fabiano Fruett FEEC/UNICAMP
Suplentes:
Allan Mariano de Souza IC/UNICAMP
Ricardo Menotti DC/UFSCar