Why did the gated weight-stationary engine need so much synthesis memory, and does fixing it change its area verdict?
research/accel-gatedmux
Why the gated weight-stationary engine needed so much synthesis memory: one variable-index read of the accumulator bus; an AND-OR read mux gives bit-exact, same-cycle engines 17 to 28 % smaller, gated WS 1.5x OS area at B = 4 and 2.2x at B = 8 (was 1.6 to 1.9x and 2.9 to 3.0x), and lets P = 64 synthesise (stylised).
What it found
The accumulator read in the engine of accel-gatedrtl indexed the whole accumulator bus with a variable, which Yosys builds as one wide shifter per lane and which stopped accel-gatedlanes at 16 lanes. An AND-OR read mux over the batch sets gives the same cycles, fetches, accumulator writes and flop count, bit-exact against NumPy at all 48 points (P = 2–64, B = 4 and 8), but weight-stationary engines come out 17–28% smaller in SKY130 HD synthesis (output-stationary unchanged). Gated weight-stationary is 1.45–1.50× the output-stationary area at B = 4 and 2.1–2.2× at B = 8, flat in P, against 1.6–1.9× and 2.9–3.0× before; every point now synthesises under the old 7 GB cap. Stylised: synthesis only, one layer shape, random data, clock-pin-only energy; the cause is inferred from the before-and-after effect.
A figure from its own output

Paper, code and results
More in Task-specific AI accelerators
- Does clock-gated weight-stationary scheduling still beat output-stationary on a second open process, with that process's own SRAM?Second-node verdict for clock-gated register-file weight-stationary scheduling from IHP SG13G2 liberty files (idle flop 34 fJ, clock gate 0.75 of a flop, ten SRAM macros with separate read energies): one gate per accumulator makes WS beat OS in all 120 cells, but ungated WS also wins 33 of 60 packed cells because IHP's SRAM costs 72 to 497 flop-cycles per weight against SKY130's 18 to 62. Library values, not measurements.
- Does the accumulator-read bug found in accel-gatedmux also inflate accel-planebatch's weight-stationary area?Does
accel-gatedmux's accumulator-read bug also inflateaccel-planebatch's WS area? No: the rewritten engine is bit-exact with identical counts and its area is within -3 % to +12 % with no trend (WS/OS 1.62 vs 1.66 at B = 4); the earlier verdict stands. - How many MAC lanes of a keyword-spotting matrix engine fit on a small open-toolchain FPGA, and which dataflow is fastest there?Accel-plane's output-stationary and reduction-tree engines at 1 to 32 lanes through Yosys and nextpnr-ice40 on an iCE40 UP5K: output-stationary at 16 lanes is fastest that fits (10.2 us per 64x70 product, 2,942 of 5,280 cells); DSP mapping cuts logic 13 to 41% but fails to place beyond 8 lanes. Stylised, synthesis only.
- Does a quantised surrogate make a design search cheaper in finite-element solves than searching with the simulator alone?Does a quantised surrogate make a design search cheaper in FE solves than searching with the simulator alone? At 150 FE evaluations a surrogate-assisted loop is 2.3 to 2.8 % from a best-known design against 6 to 8 % for an FE-only evolution strategy and 14 to 20 % for random search (float and 6-bit surrogates indistinguishable; stylised, 8 seeds).
- With a locking-free finite-element simulator, how much surrogate error can a design loop tolerate?With a locking-free Q6 finite-element simulator, how much surrogate error can a design loop tolerate? At 64x8 the surrogate adds 0.5 to 0.8 points to the FE's 2.3 % error; with no safety margin a min-mass screen breaks the limit in 24 to 33 % of cases, with a 5 to 10 % margin 2 to 9 %. Stylised.
- When the beam simulator is a 2D finite-element model, does a quantised surrogate (and an accelerator for it) pay?When the beam simulator is a 2D plane-stress FE model, does a quantised MLP surrogate (and an accelerator) pay? The energy break-even is met (34x at 32x4 mesh, 319x at 64x8, assumed constants), and the surrogate's 2 % error against its FE is small beside the FE's own 9 % discretisation error; but the locking Q4 simulator is itself inaccurate. Stylised.
All 40 Task-specific AI accelerators 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.