Ch443f/Ch443e board validation evidence (compact)

Silicon closeout evidence for the Ch443f scanout CDC hardening (commits 064484c +
4110846). Text/hashes/verdict/samples only — RBFs and framebuffer .mem dumps left
uncommitted (preserved local / on board).

Ch443f board verdict: RBF 59c6372e, fit setup +0.068 / all classes clean, fpga0
operating, CORE_ID 0x50533200 ABI 0x100. 311-epoch f52 replay DONE rc=0 zero
drops, FB byte-identical golden d0047677. Scanout diagnostic 120 samples (60 @
50ms + 60 @ non-harmonic 7ms) all identical: 0x02C=0xD1 (scan-error clear),
0x120=0x18 (qualified valid=0 / underflow=0 / read-error=0 / live pmax=0). The
two phase-sweep logs are byte-identical -> no phase-dependent CDC artifact. The
former residual "underflow" was purely the raw-readiness CDC/sync transient; the
Ch443e 4-buffer/lead-2 already fixed the real lookahead starvation. No fifth
buffer justified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-24 20:11:11 -04:00
parent 4110846c01
commit 7d68577c75
5 changed files with 129 additions and 0 deletions
@@ -0,0 +1,57 @@
# Ch443f board validation
Date: 2026-07-24
Candidate:
- Git commit: `4110846` (`Ch443f timing: preload Z-RMW eviction awaddr at fill`)
- RBF: `retroDE_ps2.ch443f.4110846.core.rbf`
- SHA-256: `59c6372e1cfeba62dccdce860f7ab365255ef32a77c3f7b13909b4c7cff16a87`
- Quartus: 26.1.0 Build 110, Seed 3
Fit acceptance:
- Setup: `+0.068 ns`
- Hold: `0.000 ns`
- Recovery: `+1.080 ns`
- Removal: `+0.003 ns`
- Minimum pulse width: `+0.200 ns`
- RAM: `322 / 358`
- Zero violated paths
Board load:
- Remote candidate hash matched the local artifact.
- `core_loader.sh` reported `Fabric loaded successfully`.
- `fpga0` state: `operating`
- `CORE_ID`: `0x50533200`
- ABI: `0x00000100`
- Board canonical `/home/terasic/cores/retroDE_ps2.core.rbf` was not modified and
remained SHA-256 `56e45346338907eb6c307320757774ac65efa56dabb644906a5600f5ea73a982`.
Functional replay:
- Complete 311-epoch `sh3_zsrt139f52` replay finished `DONE rc=0`.
- Every epoch passed texture CRC, drain, and zero-fragment-drop gates.
- Framebuffer SHA-256:
`d0047677371a0f6e4e319458926f604a8599c92baaf34d09b8e1fd452e31662b`.
- The board framebuffer was byte-identical to the retained Ch443e/golden
framebuffer.
Scanout diagnostic:
- 60 samples at 50 ms spacing plus 60 samples at non-harmonic 7 ms spacing.
- All 120 observations were identical:
- `0x02C = 0x000000D1`: scan-error bit 5 clear.
- `0x120 = 0x00000018`: qualified valid=0, underflow=0, read-error=0,
live `pmax=0`.
- `0x124 = 0x00408020`: stale snapshot payload; ignored because valid=0.
- No fifth line buffer is justified. The Ch443e four-buffer/lead-2 change fixed
the real lookahead starvation; the remaining pre-Ch443f indication was caused
by the raw readiness CDC / synchronization transient.
Disposition:
- Ch443f is timing-clean, renderer-correct, and scanout-clean on silicon.
- Board left running the Ch443f candidate.
- Canonical artifact left untouched pending an explicit promotion instruction.