QSF: set fitter placement SEED 3 (bounded sweep winner)

RTL frozen at 6319d7c. The AW/W/R buffers + F_SETTLE drain multicycle
removed every structural EMIF-handshake -> FSM setup family; the residual
was a placement/route-marginal EMIF path (zc_emit QUAD_WIDTH4 Z-request
FIFO read, ~-0.087 ns: 3.132 ns data / -0.100 ns skew vs 3.225 ns period).

A bounded, Codex-authorized 4-seed fit+STA sweep (AGGRESSIVE AREA kept,
no asm) resolved it by placement:
  seed 2  EMIF -0.087  (10 violated)
  seed 3  EMIF +0.132  (0 violated, ALL classes >=0)   <- winner
  seed 4  EMIF +0.062  (0 violated, under +0.100 margin)
  seed 5  EMIF -0.130  (3 violated)

SEED 3 is the best complete result: EMIF setup +0.132 (>= +0.100),
design +5.561, hold/recovery/removal/MPW all nonnegative, no AWREADY /
texture-fill R-return / texcache drain / scanout-diagnostic violations,
RAM 317/358, ALM 85%. This is a fitter placement seed only -- no RTL or
optimization-mode change. Per-seed reports preserved under
synth/.../seed_sweep/ (not committed; build artifacts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-23 12:31:31 -04:00
parent 6319d7ca85
commit 0c9b2bf5cd
@@ -995,8 +995,14 @@ set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE AREA"
# block cluster -> shorter routing. Surgical (no global area/placement disruption); ~a few ALMs.
set_instance_assignment -name MAX_FANOUT 3 -to "u_zc_emit|u_req|raddr_hi1_q*"
set_global_assignment -name AUTO_RESOURCE_SHARING ON
# Ch357 (Codex) — SEED left at default (1): seed 1 gave -0.019 (quasi-static EMIF-lock ONLY, all real datapaths met);
# seed 2 was worse (-0.155, exposed a different marginal path). The last sliver is closed via the scoped false-path in the SDC.
# Ch357 (Codex) — historical: at that netlist seed 1 gave -0.019 (quasi-static EMIF-lock only), seed 2 was worse.
# Ch443d (Codex) — after the AW/W/R buffers + F_SETTLE drain multicycle froze the functional netlist at 6319d7c,
# the residual failure was a placement/route-marginal EMIF path (zc_emit QUAD_WIDTH4 Z-req FIFO read, ~-0.087,
# 3.132ns data / -0.100 skew vs 3.225ns period). A bounded 4-seed sweep (fit+STA, AGGRESSIVE AREA kept) resolved it:
# seed2 -0.087 | seed3 +0.132 (0 violated, ALL classes >=0) | seed4 +0.062 | seed5 -0.130.
# SEED 3 is the reproducibility setting: EMIF setup +0.132 (>= +0.100 margin), no AWREADY/texcache-fill/drain/
# scanout-diag violations, RAM 317/358, ALM 85%. This is a fitter placement seed, NOT an RTL/timing-mode change.
set_global_assignment -name SEED 3
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "ACTIVE SERIAL X4"
set_global_assignment -name ACTIVE_SERIAL_CLOCK AS_FREQ_125MHZ
set_global_assignment -name USE_CONF_DONE SDM_IO16