RP2350Sharp coverage heatmap
Denominators from the specs, not from the emulator: instructions from tools/coverage/catalog.py (RP2350-DS r8 (build 80d627281ed5); Arm v8-M ARM for Thumb), registers from the pico-sdk SVD. A green cell means a test with a spec oracle executed it; amber means only fuzz or firmware ran it (no assertion on the result).
+4 exercised only
+54 exercised only
+0 exercised only
+1 exercised only
+164 exercised only
2543 touched
Cortex-M33 Thumb (16-bit)
Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 0, "exercise": 992}
Cortex-M33 Thumb-2 (32-bit), FPU, DSP, coprocessors
Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 15, "exercise": 53157}
Hazard3 RV32 (I, M, A, Zb*, Zicsr, Xh3)
Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 36, "exercise": 188417}
Hazard3 compressed (C, Zcb, Zcmp)
Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 16, "exercise": 17304}
PIO instruction set (RP2350 version 1)
Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 1, "exercise": 2172}
Peripheral registers
SYSINFO 0x40000000 4/4 verified, 4 touched
SYSCFG 0x40008000 6/6 verified, 6 touched
CLOCKS 0x40010000 53/53 verified, 53 touched
PSM 0x40018000 4/4 verified, 4 touched
RESETS 0x40020000 3/3 verified, 3 touched
IO_BANK0 0x40028000 168/168 verified, 168 touched
IO_QSPI 0x40030000 32/32 verified, 32 touched
PADS_BANK0 0x40038000 51/51 verified, 51 touched
PADS_QSPI 0x40040000 7/7 verified, 7 touched
XOSC 0x40048000 5/5 verified, 5 touched
PLL_SYS 0x40050000 8/8 verified, 8 touched
PLL_USB 0x40058000 8/8 verified, 8 touched
ACCESSCTRL 0x40060000 59/59 verified, 59 touched
BUSCTRL 0x40068000 11/11 verified, 11 touched - PERFCTR0-3 always read 0 (LIMITATIONS.md section 3)
UART0 0x40070000 22/22 verified, 22 touched
UART1 0x40078000 22/22 verified, 22 touched
SPI0 0x40080000 18/18 verified, 18 touched
SPI1 0x40088000 18/18 verified, 18 touched
I2C0 0x40090000 42/42 verified, 42 touched
I2C1 0x40098000 42/42 verified, 42 touched
ADC 0x400a0000 9/9 verified, 9 touched
PWM 0x400a8000 68/68 verified, 68 touched
TIMER0 0x400b0000 19/19 verified, 19 touched
TIMER1 0x400b8000 19/19 verified, 19 touched
HSTX_CTRL 0x400c0000 11/11 verified, 11 touched - configuration only, no serializer output (LIMITATIONS.md section 3)
XIP_CTRL 0x400c8000 7/7 verified, 7 touched - no cache / stream engine (LIMITATIONS.md section 3)
QMI 0x400d0000 21/21 verified, 21 touched
WATCHDOG 0x400d8000 11/11 verified, 11 touched
BOOTRAM 0x400e0000 11/11 verified, 11 touched
ROSC 0x400e8000 10/10 verified, 10 touched
TRNG 0x400f0000 23/23 verified, 23 touched
SHA256 0x400f8000 10/10 verified, 10 touched
POWMAN 0x40100000 60/60 verified, 60 touched
TICKS 0x40108000 18/18 verified, 18 touched
OTP 0x40120000 92/92 verified, 92 touched
OTP_DATA 0x40130000 139/139 verified, 139 touched
OTP_DATA_RAW 0x40134000 304/304 verified, 304 touched
GLITCH_DETECTOR 0x40158000 6/6 verified, 6 touched - register-store stub, no detection (LIMITATIONS.md section 3)
TBMAN 0x40160000 0/1 verified, 0 touched - no C# device type mapped (register file absent)
DMA 0x50000000 352/352 verified, 352 touched
USB_DPRAM 0x50100000 0/64 verified, 0 touched - no C# device type mapped (register file absent)
USB 0x50110000 45/45 verified, 45 touched
PIO0 0x50200000 98/98 verified, 98 touched
PIO1 0x50300000 98/98 verified, 98 touched
PIO2 0x50400000 98/98 verified, 98 touched
XIP_AUX 0x50500000 3/3 verified, 3 touched
HSTX_FIFO 0x50600000 2/2 verified, 2 touched - FIFO only, no serializer output (LIMITATIONS.md section 3)
CORESIGHT_TRACE 0x50700000 2/2 verified, 2 touched
SIO 0xd0000000 108/108 verified, 108 touched
SIO_NS 0xd0020000 0/108 verified, 0 touched
PPB 0xe0000000 313/313 verified, 313 touched
PPB_NS 0xe0020000 0/313 verified, 0 touched
EPPB 0xe0080000 3/3 verified, 3 touched - NMI_MASK stored, does not gate NMI (LIMITATIONS.md section 3)
Unmodelled surface (EMU_STRICT gaps hit while running)
| 150 | mmio.read.unmapped-region | 0xF0000000 |
| 4 | apb.read.unmapped-peripheral | 0x40160000 |
| 2 | dcp.mcr.unknown | hw1=EE00 hw2=0410 |
| 2 | apb.write.unmapped-peripheral | 0x40160000 |
| 1 | dcp.mcr.unknown | hw1=EE00 hw2=0510 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFE0 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFE4 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFE8 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFEC |
| 1 | mmio.write.unmapped-region | 0xFFFFFFF0 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFF4 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFF8 |
| 1 | mmio.write.unmapped-region | 0xFFFFFFFC |