thejayman77 4358bc328b Ch443b: revert texture 4-bank split; 2-cycle drain (F_SETTLE + multicycle)
The four-bank tex_mem split (27dfd0b) closed the -0.370 EMIF drain
write-address fanout but the owner GUI fit showed the fitter SCATTERED
the banks, pushing the DESIGN-clock sampler read cone
(ras_v0_x -> perspective-UV -> texel addr -> tex_mem portbaddr, the
design's fundamental ~40ns critical path) to -2.208 ns. Net worse.

Codex's call (Option 1 + honest write-side multicycle), implemented:
- Restore the MONOLITHIC 65536x32 tex_mem, recovering the clean 25 MHz
  read-cone placement. Sampler/read-address path stays fully timed
  (Ch439g); nothing about it is relaxed.
- Make the EMIF drain write genuinely two-cycle: new F_SETTLE state
  between F_DRAIN and F_WRITE. drain_idx_q/drain_word_q are loaded in
  F_DRAIN, HELD unchanged through F_SETTLE (the load block gates on
  F_DRAIN), and the RAM write + CRC happen at the later F_WRITE edge.
- SDC: fail-closed 2-cycle-setup / 1-cycle-hold multicycle from ONLY
  u_texcache|drain_idx_q[*] to tex_mem (a 6.45 ns EMIF window for the
  drain write-address). Scoped -from the drain regs, so the sampler
  read path (different launch regs) is untouched. HALTs if tex_mem is
  present but drain_idx_q renamed.

The AW buffer (gs_axi_aw_regbuf) and the tile-CDC max-skew 2.5 relax
from 27dfd0b are KEPT unchanged (both closed their families in the fit).

Verified: tb_gs_texture_cache (monolithic + F_SETTLE, distinct-per-byte-
lane + full-word, 0 errors), aw/w regbuf, texture_psmt8_clut,
scanout_diag, ps2_hps_bridge, and the complete f52 replay BYTE-IDENTICAL
(Z 0/307200, COLOR 0/245760). No Quartus/board/push from here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 15:11:46 -04:00

retroDE_ps2 Planning Docs

This directory is the working design scaffold for the PS2 core.

Purpose:

  • define the intended repository shape before RTL lands,
  • define subsystem boundaries before implementation choices harden,
  • document what each block owns, what crosses the boundary, and how we will validate it.

Recommended reading order:

  1. repo_layout.md
  2. phase0_checklist.md
  3. contracts/README.md
  4. stub_module_plan.md
  5. wave2_dma_gif_plan.md
  6. wave25_memory_backed_dma_plan.md
  7. wave26_multi_beat_dma_plan.md

Relationship to references/:

  • references/ is the research library.
  • docs/ is the project-definition layer.

Rule of thumb:

  • If a file explains PS2 hardware as it exists, it belongs under references/.
  • If a file explains how retroDE_ps2 intends to model, partition, or validate that hardware, it belongs under docs/.
S
Description
No description provided
Readme 8.2 MiB
Languages
SystemVerilog 75.5%
Verilog 15.4%
Tcl 4.7%
HTML 1.1%
Python 1%
Other 2.3%