The RISC-V ISA architecture, known for its flexibility, scalability, and customizability, has gained significant importance in the current technology landscape due to the rising demand for open-source hardware platforms in IoT and edge computing applications. Ensuring the correctness and reliability of RISC-V cores requires a robust and effective verification process. This thesis presents a UVM-based verification infrastructure designed for a RISC-V core, emphasizing the importance of UVM and SystemVerilog in facilitating efficient and reliable verification. The proposed infrastructure integrates various open-source tools, that are part of the RISC-V toolchain and the RISC-V compliance test suite available from the RISC-V organization. Additionally, the infrastructure includes a random instruction generator along with specifically designed direct tests and benchmarks tailored for the RISC-V core. These tests and benchmarks aim to evaluate the functional performance and correctness of the core under various scenarios and conditions. To further strengthen the verifcation process, the infrastructure incorporates Spike, a RISC-V instruction set simulator, necessary to validate the correct instructions execution. These components enable coverage-driven verification, reusable components, and high-performance simulation. By leveraging UVM, SystemVerilog, open-source tools, and comprehensive testing strategies involving direct tests and benchmarks, this verification infrastructure demonstrates the benefits of employing standardized methodologies, widely adopted software ecosystems, and thorough testing approaches in verifying RISC-V cores. The work highlights the importance of RISC-V in the current technology landscape and the potential of open-source tools in enhancing the verification process.

L'architettura RISC-V, grazie alla sua flessibilità, scalabilità e personalizzabilità, sta diventando sempre più significativa nel panorama tecnologico attuale, guidato dalla crescente domanda di piattaforme hardware open-source per applicazioni IoT ed edge computing. Per garantire la correttezza e l'affidabilità dei core RISC-V, è fondamentale disporre di un processo di verifica robusto ed efficace. Questa tesi propone un'infrastruttura di verifica basata sul metodo universale di verifica (UVM) applicato ad un core RISC-V, sottolineando l'importanza di UVM e SystemVerilog nel facilitare una verifica efficiente e affidabile. L'infrastruttura proposta integra diversi programmi open-source, che fanno parte della toolchain RISC-V e il set di test di conformita' all'architettura RISC-V. Oltre a questi strumenti, l'infrastruttura include anche un generatore di istruzioni casuali e un insieme di test diretti e benchmark specificatamente progettati per il core RISC-V. Questi test e benchmark mirano a valutare le prestazioni e la correttezza funzionale del core in diverse situazioni e scenari. Per rafforzare ulteriormente il processo di verifica, l'infrastruttura incorpora Spike, un simulatore di istruzioni RISC-V, che permette di convalidare la corretta esecuzione delle istruzioni. Questi componenti permettono una verifica incentrata sulla copertura, componenti riutilizzabili e una simulazione ad alte prestazioni. Grazie all'uso di UVM, SystemVerilog, strumenti open-source, test diretti e benchmark, questa infrastruttura di verifica dimostra i vantaggi dell'impiego di metodologie standardizzate, ecosistemi software ampiamente adottati e strategie di test complete nella verifica dei core RISC-V. Il lavoro evidenzia l'importanza di RISC-V nel panorama tecnologico attuale e il potenziale degli strumenti open-source nel potenziare il processo di verifica.

UVM based design verification of a RISC-V CPU core

Occhineri, Renato
2023/2024

Abstract

The RISC-V ISA architecture, known for its flexibility, scalability, and customizability, has gained significant importance in the current technology landscape due to the rising demand for open-source hardware platforms in IoT and edge computing applications. Ensuring the correctness and reliability of RISC-V cores requires a robust and effective verification process. This thesis presents a UVM-based verification infrastructure designed for a RISC-V core, emphasizing the importance of UVM and SystemVerilog in facilitating efficient and reliable verification. The proposed infrastructure integrates various open-source tools, that are part of the RISC-V toolchain and the RISC-V compliance test suite available from the RISC-V organization. Additionally, the infrastructure includes a random instruction generator along with specifically designed direct tests and benchmarks tailored for the RISC-V core. These tests and benchmarks aim to evaluate the functional performance and correctness of the core under various scenarios and conditions. To further strengthen the verifcation process, the infrastructure incorporates Spike, a RISC-V instruction set simulator, necessary to validate the correct instructions execution. These components enable coverage-driven verification, reusable components, and high-performance simulation. By leveraging UVM, SystemVerilog, open-source tools, and comprehensive testing strategies involving direct tests and benchmarks, this verification infrastructure demonstrates the benefits of employing standardized methodologies, widely adopted software ecosystems, and thorough testing approaches in verifying RISC-V cores. The work highlights the importance of RISC-V in the current technology landscape and the potential of open-source tools in enhancing the verification process.
ING - Scuola di Ingegneria Industriale e dell'Informazione
10-ott-2024
2023/2024
L'architettura RISC-V, grazie alla sua flessibilità, scalabilità e personalizzabilità, sta diventando sempre più significativa nel panorama tecnologico attuale, guidato dalla crescente domanda di piattaforme hardware open-source per applicazioni IoT ed edge computing. Per garantire la correttezza e l'affidabilità dei core RISC-V, è fondamentale disporre di un processo di verifica robusto ed efficace. Questa tesi propone un'infrastruttura di verifica basata sul metodo universale di verifica (UVM) applicato ad un core RISC-V, sottolineando l'importanza di UVM e SystemVerilog nel facilitare una verifica efficiente e affidabile. L'infrastruttura proposta integra diversi programmi open-source, che fanno parte della toolchain RISC-V e il set di test di conformita' all'architettura RISC-V. Oltre a questi strumenti, l'infrastruttura include anche un generatore di istruzioni casuali e un insieme di test diretti e benchmark specificatamente progettati per il core RISC-V. Questi test e benchmark mirano a valutare le prestazioni e la correttezza funzionale del core in diverse situazioni e scenari. Per rafforzare ulteriormente il processo di verifica, l'infrastruttura incorpora Spike, un simulatore di istruzioni RISC-V, che permette di convalidare la corretta esecuzione delle istruzioni. Questi componenti permettono una verifica incentrata sulla copertura, componenti riutilizzabili e una simulazione ad alte prestazioni. Grazie all'uso di UVM, SystemVerilog, strumenti open-source, test diretti e benchmark, questa infrastruttura di verifica dimostra i vantaggi dell'impiego di metodologie standardizzate, ecosistemi software ampiamente adottati e strategie di test complete nella verifica dei core RISC-V. Il lavoro evidenzia l'importanza di RISC-V nel panorama tecnologico attuale e il potenziale degli strumenti open-source nel potenziare il processo di verifica.
File allegati
File Dimensione Formato  
2024_10_Occhineri.pdf

accessibile in internet per tutti

Dimensione 4.09 MB
Formato Adobe PDF
4.09 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/225232