Do the accel-* energy constants match Horowitz (2014), and does fixing the array-size term change accel-kws's conclusions?
research/accel-horowitzcheck
All 34 energy constants in the accel-* projects that have a counterpart in Horowitz's Fig. 1.1.9 are within 4% of it; re-costing accel-kws with the figure's array-size law (energy about the square root of size) moves energy to 0.23 to 0.81 of as built but keeps 17 of 18 front designs (Spearman 0.991)
What it found
free-citeaudit found Horowitz (2014) among the most-repeated unchecked citations. This project reads Fig. 1.1.9 of the paper (45 nm, 0.9 V) and compares it with every top-level E_* constant in research/accel-*/src: all 34 with a counterpart are within 4% (the 24-bit add is 0.963 of a log-log interpolation, the 0.16 pJ/bit array read is 1.024 times 10 pJ per 64 bits); one constant, a gating energy, has none. The figure's multiplier energy has a width slope of 1.98 (so the repository's bits-squared rule is right) and its add slope is 0.87. What the repository did not model is array size: the figure's read energy grows with a slope near 0.5 against size, while accel-kws charges a flat 0.16 pJ/bit. Re-costing its 40 designs (reads are 90 to 93% of modelled energy) with the size law, extrapolated below 8 KB where the paper has no point, gives 0.23 to 0.81 of the as-built energy, a rank correlation of 0.991 and 17 of 18 front members kept; clamping at the 8 KB point instead gives 0.98 to 1.18 and the same front. Limitations: a processor-cache table, not a weight memory; the sub-8 KB law is an extrapolation; only accel-kws was re-costed; the figure was read from a third-party copy.
A figure from its own output

Paper, code and results
More in Task-specific AI accelerators
- Does weight-sharing lookup-table inference beat an int8 MAC engine once small arrays cost less to read?Pricing every array by its own size flips accel-lut's negative result once read energy grows faster than size^0.26 (dense) or size^0.28 (pruned); Horowitz's slope is 0.5 above 8 KB but there is no point below it, so the verdict is conditional
- Is the OpenRAM access energy in SKY130 liberty files an energy at all, and does accel-pdkprice's weight-stationary verdict survive?OpenRAM's clk0 figure is an average power in mW over one cycle of an unstated period, not pJ: the unpacked verdict (register-file WS wins) holds for any period above 3 ns, while the packed verdict flips between 1 and 31 ns, so accel-pdkprice's packed conclusion is conditional
- Once the MFCC front end is counted, does the energy-optimal keyword model change?Joining accel-cascade's committed results with accel-frontend's 46.8 nJ per frame: cascades' classifier-only saving of up to 28% becomes at most 0.42% of whole-system energy, while the most accurate model (about 0.75 test accuracy) costs 23 to 26 times the cheapest classifier but only 5% more system energy (modelled, not measured)
- How big a keyword-spotting model fits a real Tiny Tapeout tile once the hidden layer goes past 64 units?Synthesising the streaming keyword-spotting engine at 96, 128, 192 and 256 hidden units (SKY130 HD, Yosys): area grows about 250 µm² per unit, so H = 128 (0.752 accuracy, 4-bit) needs a 2x2 tile (75,603 µm²) against a 1x2 (36,347 µm²) for H = 64 (0.737): +0.015 accuracy for twice the tile; H = 256 needs 4x2 at 50% utilisation, and its 8-bit layer-2 accumulator overflows 20 bits on a random model.
- Do trained keyword-spotting models fit a Tiny Tapeout tile's 16-bit bias and 20-bit accumulator?All 96 retrained keyword-spotting models fit the Tiny Tapeout engine's 16-bit bias and 20-bit accumulator limits (worst use 43% and 30%), accuracy through the tile contract equals the reference, and 32 trained models run bit-exact in RTL.
- Does Tiny Tapeout's real tile-size table change which keyword-spotting model fits a tile?Tiny Tapeout's real SKY130 tile sizes (1x1 is 161 × 111.52 µm = 17,955 µm², 0.43% below the value assumed earlier) applied to the synthesised keyword-spotting engine and the retrained models: the best 1x1 model is unchanged at 100% and 50% utilisation and flips at 70% (H = 16, 4-bit, 0.596 instead of 8-bit, 0.616, a 29 µm² miss); H = 64 with 8-bit weights (0.737) fits a 1x2 tile.
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.