PAIRV is a Nuclei RISC-V SDK-style project for the PAICORE-enabled evalsoc platform. It provides the board integration, shared libraries, build system, and reference applications needed to develop and validate bare-metal inference and system software.
- A command-line build flow for the Nuclei
N307FDplatform. - PAICORE runtime APIs for artifact loading, manual session control, input encoding, synchronization, and output decoding.
- Bare-metal, FreeRTOS, and RT-Thread sample applications.
- SoC startup code, linker scripts, board support, NMSIS integration, and focused runtime tests.
Install the Nuclei RISC-V GNU toolchain, set its root in
setup_config.sh, then load the environment:
source setup.shBuild a basic board application from the repository root:
make CORE=n307fd DOWNLOAD=ilm PROGRAM=application/baremetal/helloworld allUse make help to inspect the available top-level commands. Application
Makefiles define any additional target or download-mode requirements.
Programming the PAICORE evalsoc board requires the PAICookers customized OpenOCD. It includes the support needed to recognize the board Flash; do not use a system, upstream, or standard Nuclei OpenOCD for board uploads. The release provides prebuilt archives for both supported host platforms:
After extracting the matching archive, pass the absolute executable path to
every upload invocation. Use bin/openocd on Linux or bin/openocd.exe on
Windows:
OPENOCD=/absolute/path/to/extracted/bin/openocd
make CORE=n307fd DOWNLOAD=ilmflashxip \
PROGRAM=application/baremetal/snn_head clean all
make CORE=n307fd DOWNLOAD=ilmflashxip \
PROGRAM=application/baremetal/snn_head \
OPENOCD="$OPENOCD" uploadUse the DOWNLOAD mode required by the selected application; ilmflashxip is
shown because applications with Flash-resident data commonly require it.
| Path | Purpose |
|---|---|
application/ |
Reference applications and benchmarks. |
Lib/ |
Shared PAIRV utilities and PAICORE runtime library. |
Build/ |
Common Nuclei SDK-style build rules. |
SoC/ |
evalsoc startup code, linker scripts, drivers, and board support. |
NMSIS/ |
NMSIS headers and libraries consumed by applications. |
OS/ |
FreeRTOS and RT-Thread integration. |
tests/ |
Bare-metal and host-side validation. |
third_party/ |
Pinned external dependencies. |
| Topic | Entry point |
|---|---|
| Manual PAICORE inference API | Lib/runtime/README.md |
| MNIST runtime inference example | application/runtime/mnist |
| FlatBuffers artifact reader example | application/baremetal/flatbuffers |
| Other board and OS examples | application/ |
This project is distributed under the LICENSE file in this repository.