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 use to run your own applications. A host computer uses the SD protocol to exchange data with an application running on the Signaloid SoC, either through a custom application that runs on the host platform and accesses the module as a block-storage device, or through Unix tools such as dd. Applications running on the Signaloid SoC 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

ISAOperating frequencyAvailable memory
RV32IMFC90 MHz320 KiB

The Signaloid SoC is based on the Lattice RV32RX core, which Signaloid has extended to support a subset of Signaloid's distribution-extended computation, as well as communication with the host device over the SD interface.

Developing applications for the Signaloid SoC

The Signaloid SoC runs custom user code, the device application, which works in conjunction with a host application that runs on the host machine. The host application is responsible for communicating with the device application over the SD interface, using block read and write operations. For the details of the communication scheme, see Host Interface and Protocol.

The C0-microSD+ is a UxHw accelerator, so every device application you build for it is a UxHw application.

Developing UxHw applications

Signaloid provides a toolchain for compiling applications that take advantage of the UxHw distribution arithmetic of the Signaloid SoC. The toolchain is available through the Signaloid CLI, so you do not need to install a local cross-compilation toolchain. You can find pre-compiled UxHw distribution-extended example applications that run on the C0-microSD+ in the Signaloid-Compute-Module-Demo repositories. To build your own UxHw applications, see Developing UxHw Applications.

Next steps