thejayman77 27dfd0b0cf Ch443: combined timing repair for both Ch442 setup families
Ch442's fit exposed two failing setup families (plus a stale max-skew).
Attack both structurally; no reseeding.

Family 1 - AWREADY -> Z-FSM (-0.410): gen_p2c_ff[23] (EMIF AWREADY)
reached u_zc_emit|u_z's S_SFLUSH_AW/S_FILL_R next-state combinationally.
Ch441 registered only the W channel; add the AW twin:
- new gs_axi_aw_regbuf (one-entry fully-registered AW buffer), inserted
  in zc_emit between u_z's AW output and the arbiter s2 AW port. The FSM
  now sees registered occupancy, never EMIF's combinational AWREADY.

Family 2 - texcache drain_idx_q -> tex_mem (-0.370, x7): a single index
fanned across the whole 65536x32, 128-M20K macro. Split by WIDTH into
four 65536x8 banks, each with its own (* preserve, dont_merge *) write-
address launch register; write the four byte lanes together in F_WRITE;
reconstruct the sample word by concatenating four registered read bytes.
Selector structure and 1-cycle read latency unchanged; total M20Ks
unchanged (4x32 == 128); fill_crc still sums the full 32-bit word.

Max-skew: relax ONLY the Ch357 tile-write CDC set_max_skew 2.0 -> 2.5
(quasi-static bundle, >=2 dclk stability window); retain set_net_delay
2.0 (the real arrival bound). SDC comment updated.

Tests: new tb_gs_axi_aw_regbuf (AW scoreboard: exactly-once/order/no-
combinational-AWREADY-bypass/stable-while-stalled); tb_gs_texture_cache
strengthened to distinct-per-byte-bank data + per-bank + full-word
checks. All pass: aw/w regbuf, texture_cache, texture_psmt8_clut,
scanout_diag, ps2_hps_bridge, and the complete f52 replay BYTE-IDENTICAL
(Z 0/307200, COLOR 0/245760).

No Quartus, board, or push from here. Ready for one owner GUI fit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 11:19:09 -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%