Files
retroDE_ps2/docs/contracts/validation.md
T
thejayman77 ec82764bef Initial commit: retroDE_ps2 — first-of-its-kind PS2 GS FPGA core (DE25-Nano / Agilex 5)
RTL (GS rasterizer, EE core stub, platform bridge, LPDDR4B path), sim regression
(272 TBs), docs, and tooling. Copyrighted PS2 content (BIOS, game code, GS dumps,
and all dump-derived textures/traces) is excluded via .gitignore and stays local.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 20:10:50 -04:00

67 lines
1.7 KiB
Markdown

# Validation Contract
Status: `Draft`
## Purpose
Define how subsystem correctness is judged before and during implementation.
## Principles
- Traces are first-class outputs.
- Small directed tests beat giant software workloads early.
- Every major subsystem should have a "stub-valid" test mode before a "real"
implementation exists.
- At least one software golden reference should be selected before large RTL
effort begins.
## Proposed validation ladder
### Level 0: structural
- modules elaborate,
- resets are deterministic,
- key registers can be written/read in simulation,
- traces are emitted.
### Level 1: directed block tests
- memory map tests,
- DMAC register tests,
- GIF packet intake tests,
- SIF mailbox tests,
- VIF packet decode tests.
### Level 2: subsystem behavior tests
- BIOS fetch trace agreement,
- GS stub/test-pattern agreement,
- simple DMA-to-endpoint transfers,
- IOP boot-progress markers.
### Level 3: software-facing tests
- tiny EE code payloads,
- tiny IOP payloads,
- `gsKit`-style graphics tests,
- minimal inter-processor coordination tests.
### Level 4: comparative reference
- compare selected traces against a golden emulator/reference,
- resolve disagreements against authoritative docs where available.
## Artifacts to maintain
- `sim/vectors/`: deterministic stimulus inputs
- `sim/traces/`: captured reference traces
- `sim/golden/`: scripts/notes for emulator-side comparison
- `software/tests/`: minimal payloads for EE/IOP/graphics/audio/device paths
## Required early decisions
- primary golden reference,
- trace format,
- first three block-level regression tests,
- policy for "spec disagrees with emulator" cases.