Files
retroDE_ps2/docs/contracts/vif_vu.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

52 lines
1.2 KiB
Markdown

# VIF/VU Contract
Status: `Draft`
## Purpose
Define the vector-processing cluster and its packet/program interfaces.
## Owns
- VIF0 and VIF1 packet decode/unpack behavior,
- VU0 and VU1 local code/data memories,
- microprogram upload path,
- macro/micro mode coordination as chosen for the implementation scope,
- synchronization against DMAC and GIF-visible downstream behavior.
## Inputs
- DMAC-fed packet traffic,
- EE control interactions,
- memory-backed data where applicable,
- reset and status/control writes.
## Outputs
- local memory writes,
- VU execution progress,
- downstream graphics/data traffic,
- interrupts/status,
- trace events.
## Questions to lock
- Is VU0 macro mode required for the first boot milestone?
- How much VIF unpack coverage is required for the first homebrew target?
- Do we treat VU execution timing as functionally-correct first or cycle-shaped
first?
## Allowed early stubs
- packet capture without execution,
- microprogram RAM load/observe only,
- no-op VU execution with trace confirmation.
## Required debug visibility
- packet headers/tags,
- microprogram loads,
- local memory writes,
- VU start/stop,
- synchronization stalls.