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).

verified (oracle test)exercised only (fuzz / firmware)register: one direction missingnever executedexecuted, known conformance bug
76/80Thumb-16
+4 exercised only
266/358Thumb-32
+54 exercised only
106/106RV32 (Hazard3)
+0 exercised only
43/44RVC / Zcb / Zcmp
+1 exercised only
69/234PIO
+164 exercised only
2543/3029registers verified
2543 touched

Cortex-M33 Thumb (16-bit)

Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 0, "exercise": 992}

Hints (4/5)
Misc (11/11)
Shift/add/sub (7/7)
Imm8 (4/4)
Data processing (19/19)
Branch (6/6)
Load/store (17/17)
Extend/reverse (4/7)
Load/store multiple (4/4)

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}

Security (2/2)
System (5/6)
Hints (2/6)
Misc (1/1)
Branch (3/3)
Data processing (modified imm) (16/16)
Data processing (plain imm) (16/16)
Exclusive (5/6)
Table branch (2/2)
Acquire/release (7/12)
Load/store multiple (4/4)
Load/store dual (2/2)
Load/store single (31/37)
Data processing (shifted reg) (19/23)
Extend (12/12)
Shift (register) (5/8)
DSP parallel (11/36)
DSP / misc (10/10)
Multiply/divide (36/46)
FPU arithmetic (13/13)
FPU move (4/4)
FPU unary/convert (17/20)
FPU ARMv8-M (14/14)
FPU system (2/2)
FPU load/store (6/6)
Coprocessor GPIOC (5/14)
Coprocessor DCP (6/14)
Coprocessor RCP (6/14)
Coprocessor (absent) (4/9)

Hazard3 RV32 (I, M, A, Zb*, Zicsr, Xh3)

Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 36, "exercise": 188417}

Xh3power (2/2)
Xh3bextm (2/2)
RV32I reg-reg (10/10)
RV32I reg-imm (9/9)
Zbb (18/18)
Zbkb (5/5)
Zbs (8/8)
RV32I large-imm (2/2)
RV32I control (8/8)
RV32I load/store (8/8)
M (8/8)
A (11/11)
Zba (3/3)
Zifencei/fence (2/2)
Privileged (4/4)
Zicsr (6/6)

Hazard3 compressed (C, Zcb, Zcmp)

Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 16, "exercise": 17304}

Zcmp (6/6)
Zcb (11/11)
C (26/27)

PIO instruction set (RP2350 version 1)

Encodings executed that match no catalogue entry (undefined opcodes, hints not catalogued): {"oracle": 1, "exercise": 2172}

JMP (8/8)
WAIT (7/14)
IN (6/6)
IN (reserved) (0/2)
OUT (8/8)
PUSH (3/4)
PULL (3/4)
MOV to RX (PUT) (1/2)
MOV from RX (GET) (1/2)
MOV (21/168)
IRQ (7/12)
SET (4/4)

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)

150mmio.read.unmapped-region0xF0000000
4apb.read.unmapped-peripheral0x40160000
2dcp.mcr.unknownhw1=EE00 hw2=0410
2apb.write.unmapped-peripheral0x40160000
1dcp.mcr.unknownhw1=EE00 hw2=0510
1mmio.write.unmapped-region0xFFFFFFE0
1mmio.write.unmapped-region0xFFFFFFE4
1mmio.write.unmapped-region0xFFFFFFE8
1mmio.write.unmapped-region0xFFFFFFEC
1mmio.write.unmapped-region0xFFFFFFF0
1mmio.write.unmapped-region0xFFFFFFF4
1mmio.write.unmapped-region0xFFFFFFF8
1mmio.write.unmapped-region0xFFFFFFFC