Sonata system v0.4.1
This release contains on top of v0.3:
- Execution from HyperRAM including instruction cache support and bootloader support
- Bumped version of CHERIoT Ibex
- Support for XADC, which is the FPGA's analogue to digital converter
- Improvements to CI and automated testing
It fixes a bug from v0.4 that caused the icache to be effectively disabled following execution of a fence.i
. It is recommended you use this release over v0.4.
This is the release that we will use during the CHES hackathon 2024. It is recommended you use the v0.4 branch of sonata-software repository with this release. That branch will be maintained to remain compatible with this release.
Here's the flow for using these files:
- Make sure the bitstream select switch (immediately below the main USB-C port) is set to position 1.
- Before plugging in your Sonata board, hold down the SW9 labelled "RP2040 Boot", and while holding this button plug your board into your laptop using the Main USB.
- A drive called
RPI-RP2
should pop up on your computer and copyrpi_rp2_v0.4.uf2
into it. - This drive should automatically dismount once the file is transferred and remount as
SONATA
. Once the remount has happened, you can drag in the wrapped bitstreamsonata_bitstream_v0.4.bit.slot1.uf2
. - Once programming is successful, you should see the CHERI LED light up and the LEGACY LED turn off. If this is not the case, the bitstream loading may have failed and you should retry by unplugging and replugging the main USB on the Sonata board and re-drag the bitstream into the
SONATA
drive. - After programming the bitstream, drag the
sonata_simple_demo_v0.4.slot1.uf2
into theSONATA
drive. - You should now see the user LEDs turn on and off, as well as the lowRISC logo appear on the LCD.
- You can also drag
snake_demo_v0.4.slot1.uf2
into theSONATA
drive to play snake using the joystick. Watch the CHERI error LEDs as you hit the boundary.