FRV2000 MCU Core: A RISC-V @ FPGA

 

Introduction

 

Putting MCU core into FPGA is becoming a universal practice these days. However, most MCU soft cores available today are tied to specific FPGA vendors. However, the rising of RISC-V has changed the status quo. And in this regard, PulseRain Technology is now offering the FRV2000 soft core MCUs, which support a variety of RISC-V instruction sets like RV32I and RV32IMC. In addition, to facilitate IoT applications, some of the FRV2000 cores are also security hardened.

2 x 2 Pipeline and Von Neumann Architecture

The FRV2000 MCU core has a Von Neumann memory architecture. Its pipeline is composed of 4 stages, as shown below:


•    Instruction Fetch (IF)
•    Instruction Decode (ID)
•    Instruction Execution (IE)
•    Register Write Back and Memory Access (MEM)

However, unlike traditional pipelines, FRV2000 MCU’s pipeline stages are mapped to 2 x 2 layout, as illustrated above.

In the 2 x 2 layout, each stage is active every other clock cycle. For the even cycle, only IF and IE stages are active, while for the odd cycle, only ID and MEM stages are active. In this way, the Instruction Fetch and Memory Access always happen on different clock cycles, thus to avoid the structural hazard caused by the single port memory.
 

Thanks to using single port memory to store both code and data, the FRV2000 soft MCU is quite portable and flexible across all FPGA platforms. Some FPGA platforms, like the Lattice iCE40 UltraPlus family, carry a large amount of SPRAM with very little EBR RAM. And those platforms will find themselves a good match with the PulseRain FRV2xxx when it comes to soft core MCU.

Design Resources
                     PulseRain RISC-V MCU TRM (Technical Reference Manual)
  • PulseRain RISC-V MCU GitHub Repository
         https://github.com/PulseRain/PulseRain_RISCV_MCU
  • PulseRain FRV2100 Soft Core Processor GitHub Repository
         https://github.com/PulseRain/FRV2100
  • MCU Master Platform - Mock FPGA Platform for PulseRain_RISCV_MCU master branch
         https://github.com/PulseRain/MCU_Master_Platform
  • FPGA Platform - Lattice MachXO3D Breakout board (Rev A)
         https://github.com/PulseRain/Reindeer_MachXO3D

 

                         Quick Start Guide

 

 

  • FPGA Platform - Step FPGA (Intel Cyclone 10 LP)
         https://github.com/PulseRain/Reindeer_Step
  • Hardware Base Bootloader
         https://github.com/PulseRain/Hardware_Bootloader
  • PulseRain RTL Library
         https://github.com/PulseRain/PulseRain_rtl_lib
  • PulseRain RISC-V board manager package for Arduino IDE
         https://github.com/PulseRain/Arduino_RISCV_IDE
pdf_icon.png
pdf_icon.png
License

This IP is offered. in dual licenses: an open source license (GPL v3) and a commercial license. Please contact us to request a quote if you are interested in obtaining the commercial license.

 

© 2020 by PulseRain Technology, LLC.