2. Nuclei RISC-V Instruction Set Overview

2.1. RISC-V ISA Modules supported by Nuclei Core

Nuclei processor core follows the RISC-V instruction set standard (riscv-spec-v2.2.pdf), user can easily get the original copy (riscv-spec-v2.2.pdf) from Nuclei User Center website or from other public channels.

RISC-V is the configurable modular instruction set. Nuclei processor core support the following instruction set modules:

  • RV32E: 32bits architecture, with 16 general purpose registers

  • RV32I: 32bits architecture, with 32 general purpose registers

  • RV64I: 64bits architecture, with 32 general purpose registers

  • M: Integer Multiplication and Division instructions

  • C: Compressed Instructions as 16bits Encoding to reduce code size

  • A: Atomic Instructions

  • F: Single-Precision Floating-Point Instructions

  • D: Double-Precision Floating-Point Instructions

  • P: Packed-SIMD Instructions

According to the naming rule from RISC-V standard, the above mentioned instruction set module can be combined, e.g., RV32IMAC, RV32IMFC, RV32IMAFDC, RV32IMAFDCP, etc. RISC-V standard also use the abbreviation G for the IMAFD combination, hence, RV32IMAFDC or RV64IMAFDC can be also abbreviated as RV32GC or RV64GC.

2.2. Nuclei Processor Core Classes: N, NX and UX

To differentiate the IP products with different positions, Nuclei divide the core products into 3 classes:

  • Nuclei N class: support RV32I or RV32E, for the 32bits microcontroller applications.

    • Nuclei N100 series core only support RV32E.

      Note

      • N100 is an extremely tiny-area core, which is not following the architectural spec in this document.

      • N100 has its own dedicated architectural spec. Please visit N100 Product for more information.

    • Nuclei N200 series core can be configured to support RV32E or RV32I.

    • Nuclei N300, N600, N900 series core only support RV32I.

  • Nuclei NX class: support RV64I without MMU, for the 64bits microcontroller applications.

  • Nuclei UX class: support RV64I with MMU, for the 64bits Linux capable applications.

    • The MMU can also be turned off by software, in this mode, UX class core can also work as microcontroller, i.e., Nuclei UX class core is downward-compatible to Nuclei NX class core.