NMSIS-Core
Version 1.3.1
NMSIS-Core support for Nuclei processor-based devices
|
Version Control | Version #define symbols for NMSIS release specific C/C++ source code |
Peripheral Access | Naming conventions and optional features for accessing peripherals |
Compiler Control | Compiler agnostic #define symbols for generic c/c++ source code |
▼Core CSR Encodings | NMSIS Core CSR Encodings |
Core CSR Registers | NMSIS Core CSR Register Definitions |
▼Register Define and Type Definitions | Type definitions and defines for core registers |
Base Register Define and Type Definitions | Type definitions and defines for base core registers |
Register Define and Type Definitions Of ECLIC | Type definitions and defines for eclic registers |
Register Define and Type Definitions Of System Timer | Type definitions and defines for system timer registers |
Core CSR Register Access | Functions to access the Core CSR Registers |
Intrinsic Functions for CPU Intructions | Functions that generate RISC-V CPU instructions |
Interrupts and Exceptions | Functions that manage interrupts and exceptions via the ECLIC |
SysTimer Functions | Functions that configure the Core System Timer |
FPU Functions | Functions that related to the RISC-V FPU (F and D extension) |
▼Intrinsic Functions for SIMD Instructions | Functions that generate RISC-V DSP SIMD instructions |
▼SIMD Data Processing Instructions | SIMD Data Processing Instructions |
SIMD 16-bit Add/Subtract Instructions | SIMD 16-bit Add/Subtract Instructions |
SIMD 8-bit Addition & Subtraction Instructions | SIMD 8-bit Addition & Subtraction Instructions |
SIMD 16-bit Shift Instructions | SIMD 16-bit Shift Instructions |
SIMD 8-bit Shift Instructions | SIMD 8-bit Shift Instructions |
SIMD 16-bit Compare Instructions | SIMD 16-bit Compare Instructions |
SIMD 8-bit Compare Instructions | SIMD 8-bit Compare Instructions |
SIMD 16-bit Multiply Instructions | SIMD 16-bit Multiply Instructions |
SIMD 8-bit Multiply Instructions | SIMD 8-bit Multiply Instructions |
SIMD 16-bit Miscellaneous Instructions | SIMD 16-bit Miscellaneous Instructions |
SIMD 8-bit Miscellaneous Instructions | SIMD 8-bit Miscellaneous Instructions |
SIMD 8-bit Unpacking Instructions | SIMD 8-bit Unpacking Instructions |
▼Non-SIMD Instructions | Non-SIMD Instructions |
Non-SIMD Q15 saturation ALU Instructions | Non-SIMD Q15 saturation ALU Instructions |
Non-SIMD Q31 saturation ALU Instructions | Non-SIMD Q31 saturation ALU Instructions |
32-bit Computation Instructions | 32-bit Computation Instructions |
OV (Overflow) flag Set/Clear Instructions | OV (Overflow) flag Set/Clear Instructions |
Non-SIMD Miscellaneous Instructions | Non-SIMD Miscellaneous Instructions |
▼Partial-SIMD Data Processing Instructions | Partial-SIMD Data Processing Instructions |
SIMD 16-bit Packing Instructions | SIMD 16-bit Packing Instructions |
Signed MSW 32x32 Multiply and Add Instructions | Signed MSW 32x32 Multiply and Add Instructions |
Signed MSW 32x16 Multiply and Add Instructions | Signed MSW 32x16 Multiply and Add Instructions |
Signed 16-bit Multiply 32-bit Add/Subtract Instructions | Signed 16-bit Multiply 32-bit Add/Subtract Instructions |
Signed 16-bit Multiply 64-bit Add/Subtract Instructions | Signed 16-bit Multiply 64-bit Add/Subtract Instructions |
Partial-SIMD Miscellaneous Instructions | Partial-SIMD Miscellaneous Instructions |
8-bit Multiply with 32-bit Add Instructions | 8-bit Multiply with 32-bit Add Instructions |
▼64-bit Profile Instructions | 64-bit Profile Instructions |
64-bit Addition & Subtraction Instructions | 64-bit Addition & Subtraction Instructions |
32-bit Multiply with 64-bit Add/Subtract Instructions | 32-bit Multiply with 64-bit Add/Subtract Instructions |
Signed 16-bit Multiply 64-bit Add/Subtract Instructions | Signed 16-bit Multiply 64-bit Add/Subtract Instructions |
▼RV64 Only Instructions | RV64 Only Instructions |
(RV64 Only) SIMD 32-bit Add/Subtract Instructions | (RV64 Only) SIMD 32-bit Add/Subtract Instructions |
(RV64 Only) SIMD 32-bit Shift Instructions | (RV64 Only) SIMD 32-bit Shift Instructions |
(RV64 Only) SIMD 32-bit Miscellaneous Instructions | (RV64 Only) SIMD 32-bit Miscellaneous Instructions |
(RV64 Only) SIMD Q15 Saturating Multiply Instructions | (RV64 Only) SIMD Q15 Saturating Multiply Instructions |
(RV64 Only) 32-bit Multiply Instructions | (RV64 Only) 32-bit Multiply Instructions |
(RV64 Only) 32-bit Multiply & Add Instructions | (RV64 Only) 32-bit Multiply & Add Instructions |
(RV64 Only) 32-bit Parallel Multiply & Add Instructions | (RV64 Only) 32-bit Parallel Multiply & Add Instructions |
(RV64 Only) Non-SIMD 32-bit Shift Instructions | (RV64 Only) Non-SIMD 32-bit Shift Instructions |
32-bit Packing Instructions | 32-bit Packing Instructions |
Nuclei Default SIMD DSP Additional Instructions | (RV32 & RV64)Nuclei Customized DSP Instructions |
Nuclei N1 SIMD DSP Additional Instructions | (RV32 only)Nuclei Customized N1 DSP Instructions |
Nuclei N2 SIMD DSP Additional Instructions | (RV32 only)Nuclei Customized N2 DSP Instructions |
Nuclei N3 SIMD DSP Additional Instructions | (RV32 only)Nuclei Customized N3 DSP Instructions |
PMP Functions | Functions that related to the RISCV Phyiscal Memory Protection |
sPMP Functions | Functions that related to the RISCV supervisor-mode Phyiscal Memory Protection |
▼Cache Functions | Functions that configure Instruction and Data Cache |
I-Cache Functions | Functions that configure Instruction Cache |
D-Cache Functions | Functions that configure Data Cache |
ARM Compatiable Functions | A few functions that compatiable with ARM CMSIS-Core |
▼System Device Configuration | Functions for system and clock setup available in system_<device>.c |
Interrupt and Exception and NMI Handling | Functions for interrupt, exception and nmi handle available in system_<device>.c |