A Logic Programming Framework for Combinational Circuit Synthesis
Paul Tarau, Brenda Luderman

TL;DR
This paper presents a logic programming approach using Prolog for efficient combinational circuit synthesis, leveraging parallel bitstring operations and a novel library comparison to optimize circuit design.
Contribution
It introduces a Prolog-based framework with parallel bitstring operations for circuit synthesis and compares minimal logic libraries, revealing surprising efficiencies.
Findings
Strict Boolean Inequality '<' with constant '1' is a competitive minimal library.
The framework achieves efficient exhaustive search for circuit synthesis.
Rewriting-based simplification improves circuit optimization.
Abstract
Logic Programming languages and combinational circuit synthesis tools share a common "combinatorial search over logic formulae" background. This paper attempts to reconnect the two fields with a fresh look at Prolog encodings for the combinatorial objects involved in circuit synthesis. While benefiting from Prolog's fast unification algorithm and built-in backtracking mechanism, efficiency of our search algorithm is ensured by using parallel bitstring operations together with logic variable equality propagation, as a mapping mechanism from primary inputs to the leaves of candidate Leaf-DAGs implementing a combinational circuit specification. After an exhaustive expressiveness comparison of various minimal libraries, a surprising first-runner, Strict Boolean Inequality "<" together with constant function "1" also turns out to have small transistor-count implementations, competitive to…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Embedded Systems Design Techniques · VLSI and Analog Circuit Testing
