ShortCircuit: AlphaZero-Driven Circuit Design

Dimitrios Tsaras, Antoine Grosnit, Lei Chen, Zhiyao Xie, Haitham Bou-Ammar +1 more
8/19/2024
cs.LGcs.AR

No official code found. Best implementation: kyegomez/ShortCircuit (6 stars, MIT, last commit 2026-04-20).

Abstract

Chip design relies heavily on generating Boolean circuits, such as AND-Inverter Graphs (AIGs), from functional descriptions like truth tables. This generation operation is a key process in logic synthesis, a primary chip design stage. While recent advances in deep learning have aimed to accelerate circuit design, these efforts have mostly focused on tasks other than synthesis, and traditional heuristic methods have plateaued. In this paper, we introduce ShortCircuit, a novel transformer-based architecture that leverages the structural properties of AIGs and performs efficient space exploration. Contrary to prior approaches attempting end-to-end generation of logic circuits using deep networks, ShortCircuit employs a two-phase process combining supervised with reinforcement learning to enhance generalization to unseen truth tables. We also propose an AlphaZero variant to handle the double exponentially large state space and the reward sparsity, enabling the discovery of near-optimal designs. To evaluate the generative performance of our model , we extract 500 truth tables from a set of 20 real-world circuits. ShortCircuit successfully generates AIGs for $98\%$ of the 8-input test truth tables, and outperforms the state-of-the-art logic synthesis tool, ABC, by $18.62\%$ in terms of circuits size.

View on arXivView PDF

Code Implementations(1)

MIT

Implementation of the paper "SHORTCIRCUIT: ALPHAZERO-DRIVEN CIRCUIT DESIGN" in PyTorch

60Shell, PythonAug 20, 20246 months agoMIT

Similar Papers

Cite this paper

@article{tsaras2024shortcircuit,
  title  = {ShortCircuit: AlphaZero-Driven Circuit Design},
  author = {Dimitrios Tsaras and Antoine Grosnit and Lei Chen and Zhiyao Xie and Haitham Bou-Ammar and Mingxuan Yuan},
  year   = {2024},
  eprint = {2408.09858},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.09858v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.09858.svg)](https://codeofpaper.com/paper/2408.09858)

Discussion