Skip to main content

Using the Signaloid C0-microSD as a Hot-Pluggable Co-Processor Module

The Signaloid C0-microSD comes with a built-in RISC-V processor, the Signaloid SoC, which you can use to run your applications. In this mode of operation, host computers can use the SD protocol to exchange data with applications running on the Signaloid C0-microSD, either by creating custom applications that run on the host platform and which access the SD storage device, or using Unix tools such as dd. Applications running on the Signaloid SoC in the Signaloid C0-microSD can take advantage of a subset of Signaloid’s distribution-extended computation to compute how distributions in the input data affect their outputs.

Signaloid SoC specifications

The Signaloid SoC is based on the open-source PicoRV32 project, which we have extended to support a subset of Signaloid’s distribution-extended computation, as well as communication with the host device over the SD interface.

ISAOperating FrequencyAvailable Memory
RV32I12MHz128KiB

Developing applications for the Signaloid SoC

The Signaloid SoC can run custom user code (device application), and work in conjunction with an application that runs on the host machine (host application). The host application is responsible for communicating with the device application over the SD interface, via block read and write operations. You can find more details on the Signaloid SoC communication scheme in Host Interface and Protocol.

Developing UxHw applications

Signaloid provides a toolchain for compiling applications that can take advantage of the UxHw distribution arithmetic of the Signaloid SoC. The toolchain is available through the Signaloid CLI. You can find pre-compiled UxHw distribution-extended example applications that run on the C0-microSD in the Signaloid-C0-microSD-Demo repositories. To build your own UxHw applications, see Developing UxHw Applications.

Developing RISC-V applications

You can use the open-source RISC-V GNU toolchain to compile and run RISC-V applications that do not take advantage of the UxHw distribution arithmetic of the Signaloid SoC. We provide example C applications that use the Signaloid SoC, along with host applications and instructions on how to compile them in the C0-microSD-Hardware repository. To learn more about developing RISC-V applications for the Signaloid SoC, see Developing RISC-V Applications.

Next steps