diff --git a/docs/hardware/ch443e_board_validation/ch443e_perframe_samples.txt b/docs/hardware/ch443e_board_validation/ch443e_perframe_samples.txt new file mode 100644 index 0000000..dca8fd6 --- /dev/null +++ b/docs/hardware/ch443e_board_validation/ch443e_perframe_samples.txt @@ -0,0 +1,6 @@ +sample 1: 0x02C=0x000000D1 0x120=0x00000733 0x124=0x02A0A027 +sample 2: 0x02C=0x000000D1 0x120=0x00000D33 0x124=0x03E0F03B +sample 3: 0x02C=0x000000D1 0x120=0x00000130 0x124=0x0421003F +sample 4: 0x02C=0x000000D1 0x120=0x00000D30 0x124=0x06A1A067 +sample 5: 0x02C=0x000000F1 0x120=0x00000B30 0x124=0x0DA360D7 +sample 6: 0x02C=0x000000D1 0x120=0x00000B30 0x124=0x0AA2A0A7 diff --git a/docs/hardware/ch443e_board_validation/ch443e_rbf.sha256 b/docs/hardware/ch443e_board_validation/ch443e_rbf.sha256 new file mode 100644 index 0000000..023208b --- /dev/null +++ b/docs/hardware/ch443e_board_validation/ch443e_rbf.sha256 @@ -0,0 +1 @@ +bef7d7bfe83ddcc6368105cd8f46594ef0407a2cdc8c2139a3b26ef0adfef7ff docs/hardware/ch443e_board_validation/retroDE_ps2.ch443e.core.rbf diff --git a/docs/hardware/ch443f_board_validation/ch443f_board_verdict.md b/docs/hardware/ch443f_board_validation/ch443f_board_verdict.md new file mode 100644 index 0000000..9a692a8 --- /dev/null +++ b/docs/hardware/ch443f_board_validation/ch443f_board_verdict.md @@ -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. diff --git a/docs/hardware/ch443f_board_validation/ch443f_hashes.txt b/docs/hardware/ch443f_board_validation/ch443f_hashes.txt new file mode 100644 index 0000000..8559aeb --- /dev/null +++ b/docs/hardware/ch443f_board_validation/ch443f_hashes.txt @@ -0,0 +1,5 @@ +59c6372e1cfeba62dccdce860f7ab365255ef32a77c3f7b13909b4c7cff16a87 retroDE_ps2.ch443f.4110846.core.rbf +d0047677371a0f6e4e319458926f604a8599c92baaf34d09b8e1fd452e31662b sh3_zsrt139f52_ch443f_board_fb.mem +6b336f86b5fc2e3636fa6fa602065041063611df51963b4a5978a130a517a5c9 sh3_zsrt139f52_ch443f_board_replay.log +c41cbfc3d12d8594244895f415a9179223f618e54797f4c3c316ed542bd74a9c ch443f_scan_diag_60samples.log +c41cbfc3d12d8594244895f415a9179223f618e54797f4c3c316ed542bd74a9c ch443f_scan_diag_60samples_phase_sweep.log diff --git a/docs/hardware/ch443f_board_validation/ch443f_scan_diag_60samples.txt b/docs/hardware/ch443f_board_validation/ch443f_scan_diag_60samples.txt new file mode 100644 index 0000000..5e769c4 --- /dev/null +++ b/docs/hardware/ch443f_board_validation/ch443f_scan_diag_60samples.txt @@ -0,0 +1,60 @@ +sample 01: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 02: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 03: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 04: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 05: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 06: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 07: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 08: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 09: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 10: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 11: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 12: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 13: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 14: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 15: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 16: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 17: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 18: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 19: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 20: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 21: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 22: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 23: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 24: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 25: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 26: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 27: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 28: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 29: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 30: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 31: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 32: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 33: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 34: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 35: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 36: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 37: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 38: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 39: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 40: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 41: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 42: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 43: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 44: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 45: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 46: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 47: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 48: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 49: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 50: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 51: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 52: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 53: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 54: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 55: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 56: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 57: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 58: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 59: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020 +sample 60: 0x02C=0x000000D1 0x120=0x00000018 0x124=0x00408020