Which Yosys pass makes the operand order of a + b + constant change the synthesised adder?
research/chip-abc-orderpass
Finds the Yosys pass behind chip-abc-order's operand-order effect: opt_merge shares a+b between the two carry-select sums only when both are written with a and b first (4 of 36 operand orders); removing it widens the spread (up to 3.2×), so it was hiding variation. One adder, stylised.
What it found
A follow-up to chip-abc-order. All 36 operand orders of a 16-bit carry-select adder's a + b + const chains (each proved equivalent to the reference) are run through synth one pass at a time. The cell counts first diverge in opt_merge: when a block's two sums both start with a and b, one shared a + b is kept (7 adders instead of 10), which happens in 4 of 36 orders. Cells×depth then takes only two values per ABC script, and the shared netlist is 1.20–1.28× larger under dch_map and resyn2_map but 0.92× under Yosys's default script. Removing opt_merge does not remove the dependence: the spread over orders widens to 1.44–3.17×. Stylised: one adder, Yosys 0.33, generic-gate cells×depth, no place and route.
A figure from its own output
Paper, code and results
More in LLM chip design loops
- Does letting Yosys share a common a + b make adders smaller under every ABC script?Tests whether letting Yosys share a common
a + bshrinks adders: fewer cells in 54 of 55 design/script pairs but often deeper; stylised, Yosys 0.33. - Does writing the shared a + b sum of a carry-select adder explicitly change what Yosys and ABC synthesise?Writing the shared
a + bsum of a carry-select adder by hand (explicitly, or as an incrementer) gives the same netlist Yosys already finds; attaching the constant tobfirst defeats the sharing and is 17-22% smaller under ABC's optimising scripts (stylised, Yosys 0.33). - Does a rewritten adder or multiplier still beat the reference once the ABC script is allowed to vary?Re-scores the
chip-ppa-looprewrites and sweep under five ABC scripts with every mapped netlist proved equivalent: the adder rewrite gain survives (0.80–0.86× the reference per script) but the multiplier's whole gain is the script (stylised, generic-gate). - Does an equivalence-gated rewrite loop beat a parameter sweep on popcount, leading-zero count and absolute difference?Equivalence-gated rewrites of 16-bit popcount, 16-bit leading-zero count and 8-bit |a−b| against a no-model sweep: popcount 0.98×, |a−b| 0.86×, but on leading-zero count the sweep (0.56×) beats the session-written rewrites (0.80×) in 168 of 200 equal-budget draws (stylised, gate counts).
- Does the rewrite-versus-sweep verdict for a 16-bit leading-zero count survive five ABC scripts?Re-scores
chip-ppa-logic's popcount, leading-zero-count and |a−b| candidates under five ABC scripts with every mapped netlist proved equivalent: the clz16 sweep-versus-rewrite verdict flips with the script (best 0.35× the reference); stylised, generic gates. - Does fusing the accumulate into the partial-product tree beat multiply-then-add once the ABC script varies?A fused 4×4 multiply-accumulate: no written rewrite beats
a*b+cunder the default or three of five ABC scripts, but carry-save forms win by up to 9% cells×depth underdchandresyn2(stylised, generic-gate).
All 40 LLM chip design loops projects →
Other research topics
Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1
Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.