Repository navigation
ci(fpga): place gf10-sub with HeAP, not SA - #861
Merged
Merged
Conversation
ax7203-gf10-sub went red when regymm/openxc7:latest moved to sha256:35c91073. Every seed from 1 to 10 fails nextpnr's post-placement validity check, and the search stopped at 8. Measured on that image, seeds 1-40, default flags: 11 are clean (11 12 20 21 30 31 32 35 37 39 40). The old image placed 2 of seeds 1-8. So the design is a seed lottery at roughly 1 in 4 on both images, and the image change only moved which seeds win. Most failing seeds stop within ~10 s, so 32 seeds cost little and the search still stops at the first clean one. Refs #856 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
🧪 Brain Stress Test ResultsScore: not measured (no stress test prints a Score: line) X Stress test passed |
The previous commit widened the seed search to 32 because only 11 of seeds 1-40 placed this design under --placer sa. The failures carry the signature openXC7/nextpnr-xilinx#162 documents as an SA-placer bug on xc7: SA leaves an invalid tile, and the post-placement validity check reports its first Bel ("SLICE_.../A5FF (no cell)"). Measured with --placer heap (run 37210944365), every seed placed: regymm/openxc7 sha256:35c91073 (current latest) seeds 1-16 16/16 4-7 s each regymm/openxc7 sha256:eced1cdd (July) seeds 1-8 8/8 4-7 s each Clean SA runs took 36-113 s per seed. Fmax under HeAP was 64.9-71.6 MHz against the 50 MHz constraint. This workflow checks conformance and does not record Fmax, so the placer is not part of a measurement here. The seed list goes back to the eight it had on main. Refs #856 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Check run for this head (
One run. What it shows is that the switch works on today's image, not that seed 1 will always be clean; round three had 16 of 16 seeds clean under HeAP, which is the stronger number. #862 now has the same audit for the other 30 |
This was referenced Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #856
ax7203-gf10-subwent red whenregymm/openxc7:latestmoved fromsha256:eced1cddtosha256:35c91073. This PR switches its placer from--placer sato--placer heap. The search over seeds 1-8 stays as it is on main.The first commit on this branch widened the SA seed search to 32 instead. That works: run 37210095288 printed
seed=11, as the table predicted. But it treats a known placer bug as a lottery. The second commit replaces it.The cause
Nearly every failing seed stops at one check:
post-placement validity check failed for Bel 'SLICE_…/A5FF' (no cell). openXC7/nextpnr-xilinx#162 documents that exact signature as an SA-placer bug on xc7.The issue was closed on 2026-09-24 because that line is archived. I searched for the error text only after two CI rounds; it should have come first.
Measured
All numbers come from the experiment branch
exp/gf10-image-ab. It uses the same Verilog, xdc and nextpnr command line as this workflow and only varies the placer and the synth image.sasaheapheapThe runs were 37206223497, 37208602651 and 37210944365 (HeAP).
Verification
a78f2b5e2: run 37211740006. Expected output:seed=1. I will post the result here.git merge-tree, rc 0).actionlintis clean.Not fixed here
--placer saworkflows. 32 of 61 nextpnr workflows on main pass--placer sa. Some are measurements whose recorded CAD configuration includes the placer, where commits 5f571f9, d6e6978 and 30a230b show it moving Fmax by up to 4.3x. They need a per-workflow audit, not a sweep; that goes in a separate issue.valid_wires_for_net.count(w)atcommon/router1.cc:331. Seed 24 cannot route$PACKER_VCC_NET. Neither was seen under HeAP, which is not evidence that HeAP cannot hit them.regymm/openxc7:latesttag, used by every workflow. That is a separate decision.🤖 Generated with Claude Code