![]() |
NMSIS-Core
Version 1.4.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 |
| NMSIS Bench and Test Related Helper Functions | Functions that used to do benchmark and test suite |
| ▼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 PLIC | Type definitions and defines for plic 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 |
| PLIC Interrupt | Functions that manage interrupts via the PLIC |
| ▼CIDU Functions | Functions that manage external interrupts, inter core interrupts and semaphores |
| External Interrupt Distribution Functions | Functions that distribute external interrupts to cores |
| Inter Core Interrupt Functions | Functions that implement Inter Core Interrupt mechanism |
| Semaphore Functions | Functions that configure and use semaphoresSemaphore is very useful for multi-core cluster without SMP enable |
| 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 Vector Instructions | Functions that generate RISC-V Vector instructions |
| Intrinsic Functions for Bitmanipulation Instructions | Functions that generate RISC-V Bitmanipulation instructions |
| ▼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 or sMPU Functions | Functions that related to the RISCV supervisor-mode Phyiscal Memory Protection |
| PMA Functions | Functions that set/disable/enable different attribute type(Device/Non-Cacheable/Cacheable) memory regions, or get region info |
| ▼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 |