Logic Synthesis Meets Machine Learning: Trading Exactness for Generalization
Shubham Rai, Walter Lau Neto, Yukio Miyasaka, Xinpei Zhang, Mingfei, Yu, Qingyang Yi Masahiro Fujita, Guilherme B. Manske, Matheus F. Pontes,, Leomar S. da Rosa Junior, Marilton S. de Aguiar, Paulo F. Butzen, Po-Chun, Chien, Yu-Shan Huang, Hoa-Ren Wang, Jie-Hong R. Jiang

TL;DR
This paper explores the application of machine learning to logic synthesis, aiming to generalize Boolean function implementations from incomplete specifications, and presents a benchmark suite with comparative analysis of approaches.
Contribution
It introduces a novel approach to logic synthesis using machine learning to trade exactness for generalization, along with a benchmark suite and detailed analysis.
Findings
Learning-based methods can effectively generalize Boolean functions.
Comparison reveals strengths and weaknesses of different approaches.
Benchmark suite facilitates future research in this area.
Abstract
Logic synthesis is a fundamental step in hardware design whose goal is to find structural representations of Boolean functions while minimizing delay and area. If the function is completely-specified, the implementation accurately represents the function. If the function is incompletely-specified, the implementation has to be true only on the care set. While most of the algorithms in logic synthesis rely on SAT and Boolean methods to exactly implement the care set, we investigate learning in logic synthesis, attempting to trade exactness for generalization. This work is directly related to machine learning where the care set is the training set and the implementation is expected to generalize on a validation set. We present learning incompletely-specified functions based on the results of a competition conducted at IWLS 2020. The goal of the competition was to implement 100 functions…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
