,
Yogev Shalmon
Creative Commons Attribution 4.0 International license
Boolean matching, a fundamental problem in circuit design, determines whether two Boolean circuits are equivalent under input/output permutations and negations. While most works focus on finding a single match or proving its absence, the problem of enumerating all matches remains largely unexplored, with BooM being a notable exception. Motivated by timing challenges in Intel’s library mapping flow, we introduce EBat - an open-source tool for enumerating all matches between single-output circuits. Built from scratch, EBat reuses BooM’s SAT encoding and introduces novel high-level algorithms and performance-critical subroutines to efficiently identify and block multiple mismatches and matches simultaneously. Experiments demonstrate that EBat substantially outperforms BooM’s baseline algorithm, solving 3 to 4 times more benchmarks within a given time limit. EBat has been productized as part of Intel’s library mapping flow, effectively addressing the timing challenges.
@InProceedings{nadel_et_al:LIPIcs.SAT.2025.22,
author = {Nadel, Alexander and Shalmon, Yogev},
title = {{Enumerating All Boolean Matches}},
booktitle = {28th International Conference on Theory and Applications of Satisfiability Testing (SAT 2025)},
pages = {22:1--22:21},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-381-2},
ISSN = {1868-8969},
year = {2025},
volume = {341},
editor = {Berg, Jeremias and Nordstr\"{o}m, Jakob},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SAT.2025.22},
URN = {urn:nbn:de:0030-drops-237568},
doi = {10.4230/LIPIcs.SAT.2025.22},
annote = {Keywords: Boolean Matching, All-Boolean-Matching, Enumeration, SAT, Generalization}
}
archived version