Progetto di soft-core RISC-V a 32 bit per FPGA
View/ Open
Author
Moretto, Andrea <2000>
Date
2024-09-13Data available
2024-09-19Abstract
In questo elaborato viene presentato il progetto a livello Register-Transfer Level (RTL) di un soft-core RISC-V con lo scopo di realizzare una risorsa didattica per corsi introduttivi all'architettura dei calcolatori. È stata adottata l'Instruction Set Architecture (ISA) RV32I, ideata per implementazioni hardware essenziali, adatta allo scopo di implementare un sistema dalla struttura accessibile.
Partendo dalle specifiche della ISA, si è proceduto con la suddivisione del sistema in blocchi fondamentali quali: Arithmetich-Logic Unit (ALU), General Purpouse Register Bank (GPRB), Memoria programmi, RAM, sistema per la gestione delle periferiche I/O, branch logic, sequenziatore e decoder, i quali poi sono stati implementati singolarmente in VHDL e testati, e utilizzati come componenti nella descrizione del sistema complessivo. Il sistema complessivo una volta caricato su FPGA è stato testato con un codice scritto in assembly e successivamente tradotto in linguaggio macchina con un apposito assembler per le ISA RV32I.
Il progetto è stato svolto sfruttando le competenze di VHDL e usando come supporto all'implementazione il software Vivado, che fornisce strumenti per la progettazione, sintesi, simulazione e implementazione di circuiti digitali. Una volta descritto il soft-core, con il supporto del software Quartus II è stata programmata una scheda Altera DE2, con FPGA Cyclone II ed è stato possibile testare fisicamente il sistema. This paper presents the register transfer level (RTL) design of a RISC-V softcore with the aim of realising a teaching resource for introductory courses in computer architecture. The Instruction Set Architecture (ISA) RV32I, which is designed for basic hardware implementations, has been adopted for the purpose of implementing a system with an accessible structure.
Based on the ISA specification, the system has been divided into basic blocks such as Arithmetic Logic Unit (ALU), General Purpose Register Bank (GPRB), Program Memory, RAM, I/O Peripheral Management System, Branch Logic, Sequencer and Decoder, which were then individually implemented and tested in VHDL and used as components in the overall system description. The complete system, once loaded onto the FPGA, was tested with code written in assembly language and then translated into machine language using an assembler for the RV32I ISA.
The project was carried out using VHDL skills and implementation support from Vivado software, which provides tools for the design, synthesis, simulation and implementation of digital circuits. Once the soft core was described, an Altera DE2 board with a Cyclone II FPGA was programmed using Quartus II software and the system was physically tested.
Type
info:eu-repo/semantics/bachelorThesisCollections
- Laurea Triennale [2447]