Skip to content

Sonata system v0.4.1

Compare
Choose a tag to compare
@GregAC GregAC released this 31 Aug 16:38
· 392 commits to main since this release

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:

  1. Make sure the bitstream select switch (immediately below the main USB-C port) is set to position 1.
  2. 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.
  3. A drive called RPI-RP2 should pop up on your computer and copy rpi_rp2_v0.4.uf2 into it.
  4. 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 bitstream sonata_bitstream_v0.4.bit.slot1.uf2.
  5. 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.
  6. After programming the bitstream, drag the sonata_simple_demo_v0.4.slot1.uf2 into the SONATA drive.
  7. You should now see the user LEDs turn on and off, as well as the lowRISC logo appear on the LCD.
  8. You can also drag snake_demo_v0.4.slot1.uf2 into the SONATA drive to play snake using the joystick. Watch the CHERI error LEDs as you hit the boundary.