QBF-Based Boolean Function Bi-Decomposition

Reading time: 5 minute
...

📝 Abstract

Boolean function bi-decomposition is ubiquitous in logic synthesis. It entails the decomposition of a Boolean function using two-input simple logic gates. Existing solutions for bi-decomposition are often based on BDDs and, more recently, on Boolean Satisfiability. In addition, the partition of the input set of variables is either assumed, or heuristic solutions are considered for finding good partitions. In contrast to earlier work, this paper proposes the use of Quantified Boolean Formulas (QBF) for computing bi- decompositions. These bi-decompositions are optimal in terms of the achieved disjointness and balancedness of the input set of variables. Experimental results, obtained on representative benchmarks, demonstrate clear improvements in the quality of computed decompositions, but also the practical feasibility of QBF-based bi-decomposition.

💡 Analysis

Boolean function bi-decomposition is ubiquitous in logic synthesis. It entails the decomposition of a Boolean function using two-input simple logic gates. Existing solutions for bi-decomposition are often based on BDDs and, more recently, on Boolean Satisfiability. In addition, the partition of the input set of variables is either assumed, or heuristic solutions are considered for finding good partitions. In contrast to earlier work, this paper proposes the use of Quantified Boolean Formulas (QBF) for computing bi- decompositions. These bi-decompositions are optimal in terms of the achieved disjointness and balancedness of the input set of variables. Experimental results, obtained on representative benchmarks, demonstrate clear improvements in the quality of computed decompositions, but also the practical feasibility of QBF-based bi-decomposition.

📄 Content

arXiv:1112.2313v2 [cs.LO] 14 Dec 2011 QBF-Based Boolean Function Bi-Decomposition Huan Chen University College Dublin Dublin, Ireland huan.chen@ucd.ie Mikol´aˇs Janota INESC-ID Lisbon, Portugal mikolas.janota@gmail.com Joao Marques-Silva Unversity College Dublin Dublin, Ireland jpms@ucd.ie Abstract—This paper is an extension of [6]. Boolean function bi-decomposition is ubiquitous in logic synthesis. It entails the decomposition of a Boolean function using two-input simple logic gates. Existing solutions for bi-decomposition are often based on BDDs and, more recently, on Boolean Satisfiability. In addition, the partition of the input set of variables is either assumed, or heuristic solutions are considered for finding good partitions. In contrast to earlier work, this paper proposes the use of Quantified Boolean Formulas (QBF) for computing bi- decompositions. These bi-decompositions are optimal in terms of the achieved disjointness and balancedness of the input set of variables. Experimental results, obtained on representative benchmarks, demonstrate clear improvements in the quality of computed decompositions, but also the practical feasibility of QBF-based bi-decomposition. I. INTRODUCTION Boolean function decomposition is a fundamental tech- nique in logic synthesis. Given a complex Boolean function f(X), function decomposition consists of representing f(X) as f(X) = h(g1(X), . . . , gm(X)), often with m < ||X||, such that h, g1, . . . , gm are simpler sub-functions. Boolean function decomposition plays an important role in modern Electronic Design Automation (EDA), including multi-level logic synthesis and FPGA synthesis [15], [18], [24]. Bi-decomposition [4], [7], [9], [10], [16], [19], [21], [23], [25], a special form (with m = 2) of functional decompo- sition, is arguably the most widely used form of Boolean function decomposition. Bi-decomposition consists of decom- posing Boolean function f(X) into the form of f(X) = h(fA(XA, XC), fB(XB, XC)), under variable partition X = {XA|XB|XC} wherein fewer number of variables are required in each sub-set XA, XB and XC. The quality of Boolean function decomposition is often related with the quality of variable partitions [7], [9], [16], [17], as an optimal solution requires fewer input variables and simpler sub-functions. Similar to recent work [7], [16], [17], this paper ad- dresses two relative metrics measuring the quality of bi- decompositions, namely disjointness and balancedness. In practice, disjointness is in general preferred [16], since it reduces the number of shared input variables between fA and fB. In turn, this often reduces complexity of the resulting Boolean network. Absolute quality metrics are an alternative to relative quality metrics, and include total variable count (Σ) and maximum partition size (∆) [9]. Nevertheless, absolute quality metrics scale worse with the number of inputs [9]. Decomposition of Boolean functions has been extensively studied, and initial work can be traced back to 1950s [2], [11]. The very first algorithm for bi-decomposition was presented for the AND case in [19]. The first solution for XOR case was given in [22]. The general case of bi-decomposing of boolean network was proposed in the work [25]. Traditional approaches [5], [10], [15], [21], [24] use BDDs as the underly- ing data structure. However, BDDs impose severe constraints on the number of input variables circuits can have. It is also generally accepted that BDDs do not scale for large Boolean functions. As a result, recent work [7], [13], [16], [17] proposed the use of Boolean Satisfiability (SAT) and Minimally Unsatisfiable Subformulas (MUS) to manipulate large Boolean functions. This resulted in significant perfor- mance improvements. In addition, [7], [16] proposed heuristic approaches for identifying variable partitions. Explicit (but heuristically restricted) enumeration of variable partitions [13], [16], [17] sometimes produces good solutions, corresponding to adequate values of disjointness and balancedness. However, it is in general difficult to guarantee the quality of variable partitions, since the number of possible partitions grows expo- nentially with the number of inputs. This prevents brute-force search [16] in practice. This paper addresses the problem of computing bi- decompositions with optimum variable partitions. The opti- mality of achieved variable partitions is measured in terms of existing metrics, namely disjointness and balancedness. The proposed solutions are based on novel QBF formulations for the problem of Boolean function bi-decomposition sub- ject to target metrics (e.g. disjointness, balancedness, etc.). Besides the novel QBF formulations, the paper shows how bi-decomposition can be computed with optimum values for the target metrics. Experimental results, obtained on well- known benchmarks, demonstrate that QBF-based function bi-decomposition performs comparably with recent heuristic approaches [7], [13], [16], [17], while guar

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut