RISC-V SoftCPU Contest: Thank you for your participation
Update: The winners have been announced!
- 1st Place: Charles Papon with VexRiscv was awarded $6,000 USD. Check out VexRiscv on GitHub: https://github.com/SpinalHDL/VexRiscvSoftcoreContest2018
- 2nd Place: Antti Lukats with Engine-V was awarded $3,000 USD, a Splash Kit and an iCE40 UltraPlus MDP. Check out Engine-V on GitHub: https://github.com/micro-FPGA/engine-V
- 3rd Place: Changyi Gu with PulseRain Reindeer was awarded $1,000 USD, a PolarFire Evaluation Kit and an iCE40 UltraPlus Breakout Board. Check out PulseRain Reindeer at GitHub: https://github.com/PulseRain/Reindeer
- Creativity Prize: Olof Kindgren with SERV was awarded $3,000 USD. Check out SERV at GitHub: https://github.com/olofk/serv
Introduction
The RISC-V Foundation is proud to announce a RISC-V soft CPU core design contest sponsored by Google, Antmicro, Lattice Semiconductor and Microsemi, a subsidiary of Microchip, Founding Platinum members of the RISC-V Foundation. The aim of the contest is to further promote the use of the vendor-independent, modular and reusable ISA in FPGA applications, and push the limits of state-of-the-art design by encouraging innovative FPGA soft CPU implementations of the RISC-V ISA. The contest targets two FPGA platforms from RISC-V Foundation members Microsemi and Lattice Semiconductor. Participants have the option of using the larger 25K LUT Microsemi IGLOO™2 or SmartFusion™2, or the 5K LUT Lattice iCE40 UltraPlus™. The contest challenges contest participants to build either very small or high-performance soft RISC-V implementations, with additional points awarded for novel approaches to the implementation itself.Rules
The entries will be RV32I-compliant soft CPUs. The core can support other standard extensions (e.g. ‘C’ or ‘M’) if the designers decide to do so. Update: After feedback from the community, we have decided to make implementing the following instructions optional:- I.FENCE
- EBREAK
- ECALL
Categories & Scoring
There are four categories the entries will compete in:- Smallest Microsemi SmartFusion®2 or IGLOO®2 implementation
- Smallest Lattice iCE40 UltraPlus™ implementation
- Highest-performance Microsemi SmartFusion®2 or IGLOO®2 implementation
- Highest-performance Lattice iCE40 UltraPlus™ implementation
Minimum Requirements
The resulting design must be in Verilog (the core itself can be written in a framework such as Chisel, SpinalHDL or MiGen which generates Verilog) and be possible to be simulated using Verilator. The design must be a complete FPGA implementation targeting at least one of the two platforms and run the provided Zephyr RTOS application. The Zephyr 1.13 release should be used and can only be modified in a way that does not touch the OS core. Any modifications to the standard RISC-V GCC provided by Zephyr are strictly forbidden. The CPU must pass the RISC-V RV32I compliance tests. Also, the CPU must boot the following Zephyr applications: Entries have to be submitted in the form of repositories on github.com with a clearly stated BSD-style license (the Apache 2.0 license is preferred) including:- the Soft CPU’s HDL code
- constraint and other FPGA-related files necessary to produce a binary bitstream for the respective hardware
- a README with a complete list instructions and prerequisites, as well as Makefiles or other scripts, needed to produce the bitstream. The README should also include instructions how to simulate the design in Verilator.
- a binary version of the bitstream which can be fully and identically reproduced using the files and instructions mentioned above
- any necessary Zephyr 1.13 files in the zephyr/ subdirectory (can be a git submodule)
Hardware
Microsemi IGLOO2 M2GL025/SmartFusion2 M2S025 25K 4-input LUTs SmartFusion2 boards can be purchased from Future Electronics for $99.95. Both boards feature the same 25K LUT FPGA fabric. SmartFusion2 is essentially identical to Igloo2 except that it is a SoC FPGA with a built-in Cortex-M3 hard CPU – the soft CPU to be designed should not use the hard CPU subsystems as such but interesting ways to enhance the design using the built-in hard CPU can be implemented. Lattice iCE40 Ultra Plus – iCE40UP5K 5K 4-input LUTs There are several boards with this part that can be used for the development:- iCE40 UltraPlus Breakout Board ($49.00)
- iCE40 UltraPlus MDP ($99.00)
- Gnarly Grey UPDuinoBoard V1/V2 ($7.99/$13.99)
- iceVision ($73.99)