The thesis describes the implementation of a RISC V microprocessor on a programmable circuit. We observed the complexity of the process, the characteristics of the processor and the connectivity of the peripheral units. For implementation, we chose the NEORV32 open-source processor, which has a pre-prepared circuit model for installation on the DE0-Nano FPGA development board. The NEORV32 processor was chosen due to the current RISC V architecture, good documentation and relatively simple structure in the VHDL language, which allows insight into the processor’s operation.
We synthesize the processor model using the Intel Quartus Prime tool, where we use a pre-prepared template for implementation. The peripheral circuit is built on a prototype board, which enables easy modification when changing components. The circuit consists of 5 keys, one of which is intended for an external interrupt line, 4 LEDs, a matrix keyboard and a module for converting the UART protocol to the USB protocol. As an example of a complex peripheral component, we present the connection of an expansion board with an interface in the VHDL language, which is connected to a GPIO unit.
The preparation of tools for programming a 32-bit RISC V processor and the creation of demonstration programs are presented. Programs use the GPIO units, PWM output and external interrupt line with ready-made peripheral circuits, thereby demonstrating the usability and performance of the processor.
|