How to add an FPU to SiFive FE310 RISC-V

In this story, I will show you how to add a “hardfloat” Floating Point Unit (FPU) to a RISC-V core and run it on an FPGA. Specifically, I am using the SiFive Freedom E310 project that allows running a Rocket Chip core on an Artix-7 FPGA.

First, you should follow this tutorial and successfully run the “Hello World” program on the FPGA. We are going to use those steps in our story.