The C0-microSD+ Operational Model
The C0-microSD+ operates as a UxHw coprocessor. The host offloads computation to the module over the SD interface, the module executes it on the built-in Signaloid SoC, and the host reads back results through the MMIO Interfacing Model.
The module features the Signaloid SoC, and the coprocessor lifecycle described below is how you put it to work.
Coprocessor lifecycle
Working with the C0-microSD+ follows a four-step lifecycle.
- Flash the application. Build your device application for the Signaloid SoC and flash it to the user data region of the SPI flash. See Developing UxHw Applications and Flash an application.
- Start the core. The host releases the RISC-V core from reset by setting bit 0
(
rstn) of theCONFIGregister, which the host toolkit exposes as theconfig core-startaction. The core then begins executing your application. See Start and stop the core. - Exchange data. The host and the device application communicate through the
COMMANDandSTATUSregisters and the MMIO buffer. The host writes operands into the input half of the buffer and an operation code intoCOMMAND, the device computes and writes results into the output half, and the host pollsSTATUSand reads the results back. See Host Interface and Protocol. - Stop the core. Clear bit 0 of the
CONFIGregister with theconfig core-stopaction once the workload is complete. Stop the core before you flash a new application, then start it again to run the new binary.
The application running on the SoC can use a subset of Signaloid's UxHw in Silicon, so that the input distributions propagate to the outputs automatically.
Everything happens over the SD interface
Flashing the application, starting the core, exchanging data, and stopping the core all happen through ordinary block reads and writes over the SD interface, while the module stays in its slot.
For the full development workflow, from building an application to driving it from a host, see the Develop section. For the register-level details of the handshake between the host and the device application, see Host Interface and Protocol.
Next steps
- MMIO Interfacing Model, the registers, buffers, and handshake that carry each step of the lifecycle.
- SD Interface, the physical link that every one of those steps travels over.
- Using the C0_SD_toolkit, driving the flash, start, and stop steps from the command line.