Nuclei Demo SoC


Since Hummingbird is already taken by the opensource Hummingbird E203 SoC, we just rename Hummingbird SoC in Nuclei SDK to Nuclei Demo SoC to make it more clear. For newer version of Nuclei CPU IP from 2022.07, which might has iregion feature, please use Eval SoC instead of Demo SoC.

Nuclei Demo SoC is an demostration FPGA SoC from Nuclei for customer to evaluate Nuclei RISC-V Process Core.


To easy user to evaluate Nuclei Processor Core, the prototype SoC (called Nuclei Demo SoC) is provided for evaluation purpose.

This prototype SoC includes:

  • Processor Core, it can be Nuclei N class, NX class or UX class Processor Core.

  • On-Chip SRAMs for instruction and data.

  • The SoC buses.

  • The basic peripherals, such as UART, GPIO, SPI, I2C, etc.

With this prototype SoC, user can run simulations, map it into the FPGA board, and run with real embedded application examples.

The SoC diagram can be checked as below Nuclei Demo SoC Diagram

Nuclei Demo SoC Diagram

Nuclei Demo SoC Diagram

The SoC memory map for SoC resources is as below Nuclei Demo SoC Memory Map

Nuclei Demo SoC Memory Map

Nuclei Demo SoC Memory Map

If you want to learn more about this evaluation SoC, please get the <Nuclei_Demo_SoC_Intro.pdf> from Nuclei.

Supported Boards

In Nuclei SDK, we support the following boards based on Nuclei demosoc SoC, see:


If you want to use this Nuclei demosoc SoC in Nuclei SDK, you need to set the SOC Makefile variable to demosoc.

Extra make variables supported only in this SoC:
  • RUNMODE: it is used internally by Nuclei CPU team, used to control ILM/DLM/ICache/DCache enable or disable via make variable, please check SoC/demosoc/ for details. It is not functional by default, unless you set a non-empty variable to this RUNMODE variable.

# Choose SoC to be demosoc
# the following command will build application
# using default demosoc SoC based board
# defined in Build System and application Makefile
make SOC=demosoc all