4110846c010de44259804d2e6aaf8ba472003f83
The Seed-3 fit of the Ch443f scanout hardening exposed one setup family in the EMIF (iopll_0_outclk0, 3.225 ns) domain: u_zc_emit|u_z|cache_dirty -> awaddr[*], WNS -0.062 / TNS -0.203, skew-dominated (-0.064 clock skew; the 5-level logic path itself would land ~+0.002 at zero skew). Not the Ch443f logic — the added EMIF-domain logic nudged this marginal Ch357-era control path negative. Fix (Codex-directed, minimal): the normal-eviction AW address is a pure function of the cache line's beat, known when the line is installed. Preload it in S_FILL_C alongside cache_beat<=pf_beat (awaddr <= ZBASE + (pf_beat<<5)), and drop the two later awaddr assignments gated by cache_dirty (the scene_flush branch and the dirty cache-miss branch) — those now only assert awvalid on the already-prepared address. Clear-path awaddr assignments unchanged. No new FSM state, pipeline stage, buffer, or protocol change. Safe: a freshly filled line cannot be dirty before S_FILL_C installs it; the address is stable across hits and scene flushes; after a dirty eviction the next fill re-runs S_FILL_C; clear invalidates the cache so the first subsequent fill overwrites the clear address before any normal eviction. This removes the control cone rather than placing around it, so closure is seed-robust. Regressions green: z_rmw/zc_emit/axi_master_elastic/zbuffer/z_flush_writer/ tile_zflush, full Ch443f scanout set, sh3_zint (Z 0/53760, COLOR 0/11092), sh3_zrop (errors=0), and f52 byte-identity (Z 0/307200, COLOR 0/245760, drops=0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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:
- repo_layout.md
- phase0_checklist.md
- contracts/README.md
- stub_module_plan.md
- wave2_dma_gif_plan.md
- wave25_memory_backed_dma_plan.md
- 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_ps2intends to model, partition, or validate that hardware, it belongs underdocs/.
Description
Languages
SystemVerilog
75.5%
Verilog
15.4%
Tcl
4.7%
HTML
1.1%
Python
1%
Other
2.3%