Repository navigation
ci(fpga): place gf12-clean, gf14-add and gf14-sub with HeAP, not SA - #863
Conversation
All three came back "no clean seed" on seeds 1-8 in the #862 audit dispatch, the same way gf10-sub did (#856, #861). The SA/HeAP A/B on exp/sa-audit-ab (run 37213406352, regymm/openxc7 sha256:35c91073, seeds 1-16, the same Yosys and nextpnr flags as these workflows) puts it on the SA placer bug in openXC7/nextpnr-xilinx#162, "post-placement validity check failed for Bel 'SLICE_.../A5FF'": design SA clean HeAP clean HeAP s/seed HeAP Fmax gf12_clean 0 of 16 16 of 16 6-8 48.7-53.0 MHz gf14_add 3 of 16 16 of 16 4-5 43.5-47.9 MHz gf14_sub 0 of 16 16 of 16 6-9 36.8-39.9 MHz gf14_add's three SA seeds (10, 11, 15) took 44-52 s each and reached 25.6-27.9 MHz. These are conformance workflows: they run with --timing-allow-fail and none of them records Fmax, so the placer is not part of anything they claim. The seed range stays 1-8. Refs #862 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
|
All three workflows this PR switches to
On main ( Not changed here: gf14-sub's Yosys still logs the Fmax is lower than the target, and this PR does not hide that. Under HeAP the A/B measured gf12_clean at 48.7-53.0 MHz, gf14_add at 43.5-47.9 and gf14_sub at 36.8-39.9, against Refs #862 |
🧪 Brain Stress Test ResultsScore: not measured (no stress test prints a Score: line) X Stress test passed |
Refs #862. Same change as #861, for the three other workflows the #862 audit found red the same way.
Why
ax7203-gf12-clean,ax7203-gf14-addandax7203-gf14-suball endedno clean seedon seeds 1-8 in the audit dispatch on main38da24d3a(runs 37212183150, 37212211972, 37212248879). The A/B onexp/sa-audit-ab, run 37213406352, ran seeds 1-16 for each design under both placers, with the Yosys command and nextpnr flags copied from these workflows, on the pinned imageregymm/openxc7@sha256:35c91073:post-placement validity check failed for Bel 'SLICE_*/A5FF' (no cell)$PACKER_VCC_NET$PACKER_VCC_NETThe A5FF failure is the SA-placer bug documented in openXC7/nextpnr-xilinx#162 (the same one as gf10-sub, #856). SA failing on 1-8 in the experiment for all three designs reproduces what main saw, so the experiment measures the same thing the gate does.
Where SA did place (gf14_add seeds 10, 11, 15), it took 44-52 s per seed and reached 25.6-27.9 MHz. HeAP's placements are faster and better on that design, not just cleaner.
What changes
--placer sabecomes--placer heapin the seed search of each of the three files, with a comment carrying the numbers above. The seed range stays 1-8, as in #861.These are conformance workflows: they pass
--timing-allow-failand none of them records or quotes Fmax, so the placer is not part of anything they claim. Workflows that do quote Fmax are left alone by the rule in #862.Not changed, not measured
yosys-abc ... Abc_LitIsCompl: Assertion 'Lit >= 0' failed(return code 134) as a warning and carries on, under both placers. The netlist places clean under HeAP; whether it is functionally right is not measured here (S27 on ci(fpga): audit the 31 workflows that pass --placer sa against today's image #862).Conflicts
git merge-tree --write-treeagainst #852, #857 and #861: no conflicts.🤖 Generated with Claude Code