Two-Level Logic Synthesis for Probabilistic Computation

Weikang Qian,Marc D. Riedel
2010-01-01
Abstract:A classical problem in logic synthesis is to find a sum-of-product (SOP) Boolean expression with the minimum number of product terms that implements a Boolean function. In this paper, we focus on a related yet different synthesis problem targeted toward probabilistic computation. In our scenario, we want to synthesize a Boolean function that covers an exact number of minterms, say m minterms. This is the only requirement; which m minterms are covered does not matter. The objective is to find a SOP Boolean expression with the minimum number of product terms with this property. Solving this problem provides a solution to the problem of generating arbitrary probability values from unbiased input probabilities values of 0.5 with combinational logic. We first show a method for constructing a set of product terms to cover exactly m minterms; this gives an upper bound. Then, as our major contribution, we propose a method for deriving a lower bound. We show that the problem of finding such a lower bound can be converted into an optimization problem which we call the optimal subtraction problem. We solve it with dynamic programming. Experiments on benchmarks show that for some numbersm, the lower bound meets the upper bound, indicating that the solution corresponding to the upper bound is optimal. For some other numbers m, the gap between the lower bound and the upper bound is small, indicating that the solution corresponding to the upper bound is nearly optimal.
What problem does this paper attempt to address?