The Synthesis of Cyclic Dependencies with Boolean Satisfiability

J. Backes, M. Riedel

Transactions on Design Automation of Electronic Systems, 2012

The accepted wisdom is that combinational circuits must have acyclic (i.e., feed-forward) topologies. Yet simple examples suggest that this is incorrect. In fact, introducing cycles (i.e., feedback) into combinational designs can lead to significant savings in area and in delay. Prior work described methodologies for syn- thesizing cyclic circuits with sum-of-product (SOP) and binary-decision diagram (BDD)-based formulations. Recently, techniques for analyzing and mapping cyclic circuits based on Boolean satisfiability (SAT) were proposed. This paper presents a SAT-based methodology for synthesizing cyclic dependencies. The strat- egy is to generate cyclic functional dependencies through a technique called Craig interpolation. Given a choice of different functional dependencies, a branch-and-bound search is performed to pick the best one. Experiments on benchmark circuits demonstrate the effectiveness of the approach.