QBF-Based Boolean Function Bi-Decomposition

QBF-Based Boolean Function Bi-Decomposition

Huan Chen
University College Dublin
Dublin, Ireland
   Mikoláš Janota
Lisbon, Portugal
   Joao Marques-Silva
Unversity College Dublin
Dublin, Ireland

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 technique in logic synthesis. Given a complex Boolean function , function decomposition consists of representing as , often with , such that 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 [19, 4, 25, 23, 21, 10, 16, 9, 7], a special form (with ) of functional decomposition, is arguably the most widely used form of Boolean function decomposition. Bi-decomposition consists of decomposing Boolean function into the form of , under variable partition wherein fewer number of variables are required in each sub-set , and .

The quality of Boolean function decomposition is often related with the quality of variable partitions [16, 17, 9, 7], as an optimal solution requires fewer input variables and simpler sub-functions.

Similar to recent work [16, 17, 7], this paper addresses 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 and . 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 [15, 5, 21, 24, 10] use BDDs as the underlying 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 [16, 17, 13, 7] proposed the use of Boolean Satisfiability (SAT) and Minimally Unsatisfiable Subformulas (MUS) to manipulate large Boolean functions. This resulted in significant performance improvements. In addition, [16, 7] proposed heuristic approaches for identifying variable partitions. Explicit (but heuristically restricted) enumeration of variable partitions [16, 17, 13] 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 exponentially 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 optimality 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 subject 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 [16, 17, 13, 7], while guaranteeing optimum variable partitions.

The paper is organized as follows. Section II covers the preliminaries. Section III reviews models for Boolean function bi-decomposition. Section IV proposes the new QBF-based models. Section V presents the experimental results. Finally, section VI concludes the paper and outlines future work.

Ii Preliminaries

Variables are represented by set . The cardinality of is denoted as . A partition of a set into for (with and ) is denoted by . A Completely Specified Function (CSF) is denoted by . Similar to the recent work [16, 7], this paper assumes CSFs.

Ii-a Boolean Function Bi-Decomposition

Definition 1

Bi-decomposition [23] for Completely Specified Function (CSF) consists of decomposing under variable partition , into the form of OP , where OP is a binary operator, typically OR, AND or XOR.

This paper addresses OR, AND and XOR bi-decomposition because these three basic gates form other types of bi-decomposition [16]. Bi-decomposition is termed disjoint if . A partition of is trivial if or holds. Similar to earlier work [16, 17, 7], this paper addresses non-trivial bi-decompositions.

Ii-B Boolean Satisfiability

Boolean formulas and are defined over a finite set of Boolean variables . Individual variables are represented by lowercase letters , , , and , and subscripts may be used (e.g. ). The Boolean connectives considered will be , , , , . When necessary, parentheses are used to enforce precedence. A formula in Conjunctive Normal Form (CNF) is defined as a set of sets of literals defined on , representing a conjunction of disjunctions of literals. A literal is either a variable or its complement. Each set of literals is referred to as a clause . Moreover, it is assumed that each clause is non-tautological. Additional SAT definitions can be found in standard references (e.g. [3]).

Ii-C Quantified Boolean Formulas

Quantified Boolean Formulas (QBF) generalize Boolean formulas by quantifying variables, either existentially () or universally (). Variables in a QBF being quantified are referred to as bound variables, whereas those not quantified are referred to as free variables. Throughout this paper, all Boolean variables in QBF are assumed to be quantified (bound). QBF are assumed to be in the prenex form , with , are distinct Boolean variables, and is a propositional formula using only the variables and the constants (false), (true). For example, in a QBF , and are bound variables and is a free variable, prefix is and matrix is .

The problem of solving a QBF is referred to as quantified satisfiability (QSAT). The general case of a QSAT problem is PSPACE-complete [3], which is computationally hard compared to Boolean SAT problems. Restrictions in the number of quantifier alternations characterize the polynomial hierarchy [3]. QBF formulas with quantifier alternations, that start with are denoted QBF, whereas those that start with are denoted QBF. Formulas in QBF are -complete, where formulas in QBF are -complete.

Ii-D Quality Metrics

The quality of variable partitions mainly impacts the quality of bi-decomposition [16, 9, 7], and indirectly impacts the decomposed network, e.g. delay, area and power consumption [9]. Similar to [16, 17, 7], this paper measures the quality of variable partitions through two relative quality metrics, namely disjointness and balancedness. Assume a variable partition for , where , and are the sets of the input variables to decomposition functions , and common to and , respectively.

Definition 2 (Disjointness)

denotes the ratio of the number of common variables to inputs. A value of close to 0 is preferred, as represents a disjoint bi-decomposition.

Definition 3 (Balancedness)

denotes the absolute size difference between and . represents a balanced variable partition.

In practice, disjointness is preferred since a lower value represents a smaller number of shared input variables of the resulting decomposed circuit that typically has smaller area and power footprint. A lower balancedness typically corresponds to smaller delay of the decomposed network.

This paper develops QBF models for achieving disjointness and balancedness targets, or even the optimum solutions.

Iii Related Work

Bi-Decompositions of Boolean functions are either based on Binary Decision Diagrams (BDDs) or on Boolean Satisfiability (SAT). This section briefly overviews earlier work.

Iii-a BDD-Based Bi-Decomposition

BDDs are a canonical representation of Boolean functions, and have been widely applied in function decomposition [15, 5, 21, 24, 10]. Variants of BDDs have also been considered [9], targeting optimization of area [21, 9], delay [5, 21, 10, 8, 9], and power consumption [9]. Algorithms based on BDDs have several advantages, including flexible Boolean function manipulation [23, 21], on-demand selection of variable partitions [14, 9], and the ability to handle don’t-care conditions [21, 8]. Algorithms based on BDDs also have key drawbacks. BDD-based approaches are generally memory intensive, sensitive to variable orders [9], restricted on the number of primary inputs [16], and on the number of variable partitions considered.

Iii-B SAT-Based and MUS-Based Bi-Decomposition

With the objective of target bi-decomposition of large Boolean functions with a large number of inputs, and correspondingly large number of variable partitions, recent work proposed SAT-based bi-decomposition [16] and MUS-based bi-decomposition [16, 7]. SAT-based OR, AND and XOR bi-decompositions under known and unknown partition of variables were proposed in [16]. For example, the widely used OR bi-decomposition can be computed by SAT solving [16]. Given a non-trivial variable partition , the following result holds:

Proposition 1

[16] A completely specified function can be written as for some functions and if and only if the Boolean formula


is unsatisfiable, where variable set is an instantiated version of variable set .

An instantiated version of Boolean variable can be viewed as a new Boolean variable that replaces . This approach assumes that a variable partition is given. In practice, such variable partitions are generally unknown and must be automatically derived. One possible approach is to consider the following formulation [16]:


where and are instantiated versions of . and are control variables for enumerating variable partitions. By assigning different Boolean values to and , some of the clauses , are relaxed. The resulting clauses and impose equivalence relations for each pair of variables in sets and , and in and , respectively.

The original work on SAT-based bi-decomposition [16] proposed the use of interpolation for computing the target functions and . Given that our work focuses on improving the identification of variable partitions, interpolation can also be used for computing functions and . Similarly to OR bi-decomposition, AND and XOR bi-decomposition can be computed by using SAT. Due to space limitations, this section omits the explanation of SAT-based AND and XOR bi-decompositions (e.g. see [16]). The approaches proposed in [16] are referred to as LJH in the remainder of the paper.

SAT-based bi-decomposition [16, 7] proposed a number of MUS-based techniques for computing good variables partitions. These include plain MUS computation and, more recently, group-oriented MUS computation. These approaches can be viewed as practical engineering solutions for bi-decomposition of large Boolean functions. Nevertheless, these approaches are heuristic and provide no guarantees regarding the quality of computed variable partitions.

Iv QBF-Based Bi-Decomposition

This section develops QBF models for computing Boolean function bi-decomposition with optimum variable partitions. The case for OR bi-decomposition is considered first. Afterward, the paper summarizes AND and XOR bi-decomposition.

Iv-a OR Bi-Decomposition

Observe that, as described above, assignments to the and variables specify the sets , and . A key observation is that formulation (2) above provides the basis for a natural (albeit incomplete) QBF formulation. Formulation (2) essentially quantifies existentially the and variables and, by requiring unsatisfiability, quantifies the variables universally. This results in the following QBF formulation:


This QBF formulation has a few important drawbacks: (i) the solution can be a trivial partition; and (ii) the quality of a non-trivial partition can be arbitrary. As a result, the ability to control the quality of the computed variable partition, requires extending (3) as follows:


where requires a non-trivial variable partition, and requires the computed variable partition to respect target metrics, e.g. disjointness or balancedness.

Iv-A1 Ensuring Non-trivial Partitions

Filtering of trivial partitions is achieved through constraints added to . A trivial partition of is such that either or holds. In other words, a non-trivial partition is such that . This condition is expressed with cardinality constraints .

Iv-A2 Targeting Disjointness

Constraints on variables and serve to require target values of disjointness. Observe that in model (4), the assignment denotes that . Improvements in disjointness consists of reducing the size of . This is achieved by computing variable partitions with a sufficiently small number of pairs with . For a target level of disjointness , with , let . Hence, the target constraint is defined as follows:


Clearly, is discrete and finite, and so the optimum value can be computed by iteratively solving QBF (4) for different values of .

Moreover, observe that Boolean function bi-decomposition exhibits key symmetry properties. For example, sets and are indistinguishable, and so the optimum solution is obtained even if constraint is included in the problem formulation. This constraint can either be added to or to . In practice, this optimization reduces substantially the search space of the resulting QBF.

Iv-A3 Targeting Balancedness

Similarly to the approach for disjointness, constraints on variables and serve to require target values of balancedness. Balancedness is improved if the difference between the number of variables in set , i.e. , and the number of variables in set , i.e. is minimized. For a target level of balancedness , with , let . Hence, the target constraint is defined as follows:


Observe that, as before, the optimum value of can be searched for, by iteratively solving the QBF (4) for different values of . In addition, note that, in this case, the symmetry between and is automatically removed, by requiring .

Iv-A4 Integrating Disjointness & Balancedness

In practical settings, it is often the case that the objective is to achieve some simultaneous level of disjointness and balancedness.

Definition 4 (Cost of Disjointness and Balancedness)

The cost of Disjointness and Balancedness is the arithmetic sum of weighted Disjointness and weighted Balancedness, which is expressed as the following cost function:


where () and () are weights for Disjointness and Balancedness, respectively.

Observe that cost function (7) can be simplified if disjointness and balancedness are equally preferred, i.e. . Moreover, if is assumed to be no less than , then the cardinality constraint can be simplified as follows.


where .

Iv-A5 Practical Implementation

In practice, the use of the 2QBF formula (4) is not straightforward because it requires auxiliary variables to encode it into CNF, as required by most QBF solvers. These auxiliary variables are existentially quantified in the innermost level of the QBF prefix and consequently result in a 3QCNF formula.

Consider a 2QBF formula , where is not in CNF. As indicated above, converting to CNF requires additional variables, which results in a 3QCNF formula. Instead of using a solver for QBF formulas with three levels of quantifiers, a different approach is used, which has been recently suggested in [12]. Consider the negation of , i.e. . Observe that if is valid, then cannot be valid. Thus, if the QBF solver provides a counterexample for why cannot be satisfied, it represents a model of . For QBF (4), the model represents the intended variable partition. As a result, the 2QBF formula to be used becomes:


Iv-A6 Finding the Optimum

This section summarizes the approaches that can be used for computing the optimum disjointness or balancedness. An initial upper bound, on both disjointness and balancedness, can be obtained with the group-oriented MUS-based model [7]. Alternatively, the upper bound can be set to 1. Three strategies have been studied for computing the optimum disjointness and balancedness values.

Monotonically Increasing (MI) denotes iteratively increasing the value of . Monotonically Decreasing (MD) denotes iteratively decreasing the value of . Finally, dichotomic divide-and-conquer denotes binary search (Bin). In our experiments, the best results for disjointness were obtained using the sequence: MD Bin MI, where the number of iterations for each is heuristically chosen. For balancedness the best results for balancedness were obtained with MI.

Iv-B AND/XOR Bi-Decomposition

AND bi-decomposition is the dual of OR bi-decomposition and can be converted from the construction of OR bi-decomposition [21, 16, 7]. The proposed QBF model (9) is able to decompose into . By negating both sides, is decomposed into  [16]. QBF-based XOR bi-decomposition is similar to OR bi-decomposition [16, 7] and can be explained with an analogous derivation of the model (9). The full derivation of QBF-based AND/XOR bi-decomposition is omitted due to lack of space.

Circuit Circuit Statistics LJH [16] vs. STEP-{QD,QB,QDB} STEP-MG [7] vs. STEP-{QD,QB,QDB}
Disjointness Balancedness Disjointss+Balancedness Disjointness Balancedness Disjointness+Balancedness
#In #InM #Out STEP-QD Both two are STEP-QB Both two are STEP-QDB Both two are STEP-QD Both two are STEP-QB Both two are STEP-QDB Both two are
better (%) equal (%) better (%) equal (%) better (%) equal (%) better (%) equal (%) better (%) equal (%) better (%) equal (%)
C7552 207 194 108 30.00 70.00 50.00 50.00 0.00 100.00 0.00 100.00 35.29 64.71 16.67 83.33
s15850.1 611 183 684 0.00 100.00 7.69 92.31 7.69 92.31 16.61 83.39 52.10 47.90 14.09 85.91
s38584.1 1464 147 1730 18.60 81.40 70.15 29.85 41.76 58.24 23.14 76.86 84.54 15.46 41.12 58.88
C2670 233 119 140 8.33 91.67 48.72 51.28 11.54 88.46 22.22 77.78 76.92 23.08 42.31 57.69
i10 257 108 224 17.57 82.43 73.23 26.77 18.92 81.08 50.51 49.49 84.87 15.13 21.62 78.38
s38417 1664 99 1742 12.28 87.72 52.65 47.35 6.45 93.55 20.62 79.38 60.94 39.06 4.94 95.06
s9234.1 247 83 250 11.58 88.42 60.78 39.22 8.11 91.89 14.15 85.85 71.30 28.70 18.60 81.40
rot 135 63 107 4.17 95.83 72.92 27.08 8.33 91.67 33.87 66.13 87.10 12.90 30.56 69.44
s5378 199 60 213 10.38 89.62 82.24 17.76 5.00 95.00 17.27 82.73 90.09 9.91 15.00 85.00
s1423 91 59 79 3.85 96.15 42.31 57.69 5.00 95.00 21.21 78.79 51.61 48.39 0.00 100.00
pair 173 53 137 26.60 73.40 82.46 17.54 38.10 61.90 17.02 82.98 96.49 3.51 23.81 76.19
C880 60 45 26 33.33 66.67 81.25 18.75 0.00 100.00 0.00 100.00 87.50 12.50 14.29 85.71
clma 415 42 115 0.00 100.00 37.50 62.50 0.00 100.00 45.45 54.55 76.32 23.68 50.00 50.00
ITC_b07 49 42 57 7.69 92.31 84.62 15.38 0.00 100.00 27.78 72.22 94.44 5.56 0.00 100.00
ITC_b12 125 37 127 0.00 100.00 12.66 87.34 0.00 100.00 0.00 100.00 13.92 86.08 0.00 100.00
sbc 68 35 84 17.65 82.35 88.24 11.76 21.05 78.95 40.68 59.32 86.89 13.11 36.84 63.16
mm9a 39 31 36 30.00 70.00 38.10 61.90 0.00 100.00 0.00 100.00 64.29 35.71 0.00 100.00
mm9b 38 31 35 11.11 88.89 42.11 57.89 0.00 100.00 8.00 92.00 65.38 34.62 0.00 100.00
TABLE I: Comparison of quality metrics between OR models

V Experimental Results

The tool, STEPSatisfiability-based funcTion dEcomPosition, implements the techniques proposed by this paper. STEP is implemented in C++, compiled with GCC, and uses ABC [1] for underlying circuit manipulation. The off-the-shelf 2QBF solver AReQS [12] and MUS solver MUSer [20] were used for QBF solving and MUS-based pre-processing of QBF searching bounds, respectively. The proposed QBF models for targeting solely disjointness, solely balancedness, and integrated disjointness and balancedness (with cost function ‘disjointness + balancedness‘) were used for computing the optimum solutions; these are termed STEP-QD, STEP-QB and STEP-QDB, respectively. The tool Bi-dec implements OR bi-decomposition of LJH model 111Unfortunately, AND and XOR bi-decompositions of LJH model is unavailable in tool Bi-dec. No result of LJH AND, XOR could be shown here. [16]. STEP-MG represents group-oriented MUS-based bi-decomposition [7].

Given a circuit, each Boolean function of Primary Output (PO) is decomposed into smaller sub-functions using the proposed and the earlier models. Each PO is internally represented by And-Inverter Graph (AIG) within ABC [1]. The original circuits were used and sequential circuits were converted into combinational circuits using ABC [1] command ‘comb‘.

This section compares experimental results on the quality and performance of Boolean function bi-decomposition between different tools, namely Bi-dec (with its best quality mode, using command ‘bi_dec [circuit.blif] or 0 1‘), STEP-MG (fastest mode of STEP) and STEP-{QD,QB,QDB}. The experiments were performed on a Linux server with an Intel Xeon X3470 2.93GHz processor and 6GB RAM. Experimental data were obtained on industrial benchmarks ISCAS’85, ISCAS’89, ITC’99 and LGSynth. Circuits with zero decomposable PO functions were removed from the tables of results. For each circuit, the total timeout was set to 6000 seconds. Each run of the QBF solver was given a timeout of 4 seconds. Due to space restrictions, only representative experimental results (for the large benchmarks, with #InM ) are shown 222Note that the Figure 1 presents the run times for all 145 circuits..

V-a Quality of Variable Partitions

The quality of variable partitions are essential to function bi-decomposition and determine the overall quality [16, 17, 9, 7]. STEP-{QD,QB,QDB} can guarantee the quality of variable partitions. For example, the new QBF models allow for controllable disjoint, balanced and customized, i.e. with user-specified cost functions, bi-decompositions. Similar to [16, 17, 7], disjointness and balancedness were used to validate the quality of the results obtained with the new QBF models.

Table I shows the results of quality metrics between models for OR bi-decomposition. Columns #In, #InM and #Out denote the number of primary inputs, maximum number of support variables in POs, PO functions (to be decomposed), respectively. STEP-{QD,QB,QDB} is bootstrapped with the result of STEP-MG. Hence, STEP-{QD,QB,QDB} cannot yield metrics worse than STEP-MG. Moreover, the results of STEP-{QD,QB,QDB} for any PO, even if unable to prove the optimum, were no worse than Bi-dec. As can be observed, STEP-QD, STEP-QB, and STEP-QDB are in many cases capable of improving the metrics computed by the other two tools. Table II summarizes the quality metrics of all models, where the criterion defined for better means (1) STEP-Dis has lower disjointness, (2) STEP-Bal has lower balancedness and (3) STEP-DB has lower sum of disjointness+balancedness. As can be concluded, the proposed QBF models were able to bi-decompose Boolean functions whenever possible, whereas earlier models fail to achieve the best decompositions in many cases.

STEP-QD is Both are STEP-QB is Both are STEP-QDB is Both are
better (%) equal (%) better (%) equal (%) better (%) equal (%)
12.98 87.02 63.53 36.47 25.40 74.60
STEP-QD is Both are STEP-QB is Both are STEP-QDB is Both are
better (%) equal (%) better (%) equal (%) better (%) equal (%)
35.85 64.15 79.98 20.02 28.79 71.21
STEP-QD is Both are STEP-QB is Both are STEP-QDB is Both are
better (%) equal (%) better (%) equal (%) better (%) equal (%)
27.02 72.98 85.71 14.29 35.12 64.88
STEP-QD is Both are STEP-QB is Both are STEP-QDB is Both are
better (%) equal (%) better (%) equal (%) better (%) equal (%)
23.87 76.13 81.44 18.56 24.96 75.04
TABLE II: Comparison of quality metrics between all models

V-B Practical Performance of QBF Models

Circuit LJH [16] STEP-MG [7] STEP-{QD,QB,QDB}
#Dec CPU (s) #Dec CPU (s) #Dec CPU (s)
C7552 10 625.13 17 16.56 17 50.72 17 25.64 17 56.67
s15850.1 - TO 294 42.83 294 152.53 294 90.58 294 474.60
s38584.1 1065 1912.06 1055 23.12 1055 572.78 1055 117.25 1055 3178.68
C2670 40 258.68 40 3.86 40 39.89 40 16.83 40 81.17
i10 131 2582.97 150 17.18 150 299.46 150 54.37 150 506.55
s38417 - TO 1203 2658.25 1203 4718.92 1203 3487.92 1203 5166.74
s9234.1 102 130.43 114 12.23 114 100.10 114 27.50 114 461.56
rot 49 28.53 62 0.81 62 17.88 62 4.42 62 124.58
s5378 107 47.19 111 3.31 111 82.88 111 11.24 111 345.38
s1423 26 53.45 40 1.63 40 22.14 40 5.13 40 109.54
pair 117 84.42 114 10.50 114 202.11 114 33.00 114 433.46
C880 16 64.72 16 2.03 16 6.65 16 7.44 16 30.21
clma - TO 39 40.90 39 106.27 39 48.01 39 135.24
ITC_b07 14 16.38 18 1.47 18 2.44 18 2.07 18 44.73
ITC_b12 80 17.80 79 0.44 79 13.14 79 1.97 79 70.27
sbc 51 8.80 62 0.57 62 10.28 62 2.80 62 138.74
mm9a 22 103.38 28 4.16 28 28.29 28 10.20 28 60.58
mm9b 20 95.90 26 7.57 26 34.50 26 13.30 26 59.51
TABLE III: Performance data for OR bi-decomposition
Fig. 1: CPU time comparison between models for all 145 circuits

Performance is also significant to function bi-decomposition as logic synthesis involves several iterations of function decompositions [24, 9, 7]. Table III shows the performance of the proposed models using two performance metrics [16, 7]: overall performance in seconds (CPU(s)) and the number of functions that can be decomposed by each tool (#Dec). Due to space limitations, only results for circuits with large number of support variables (#InM ) are presented in the table 22footnotemark: 2. Figure 1 shows scatter plots comparing the run times of STEP-{QD,QB,QDB} against the other tools. As can be observed, STEP-{QD,QB,QDB} outperforms Bi-dec, but performs worse than STEP-MG. Nevertheless, it is important to point out that both Bi-dec and STEP-MG compute approximate solutions, whereas STEP-{QD,QB,QDB} computes exact solutions. Table IV shows the percentage of instances solved by STEP-{QD,QB,QDB}. As can be observed, STEP-QD solves close to 92% of the POs, STEP-QB solves close to 98% of the POs, and STEP-QDB solves close to 85% of the POs. These results are promising, given the current pace of improvement of QBF.

#Out STEP-QD (%) STEP-QB (%) STEP-QDB (%)
38582 91.97 97.81 84.42
TABLE IV: Percentage of solved POs with STEP-{QD,QB,QDB} for OR bi-decomposition

Vi Conclusions

Boolean function decomposition is ubiquitous in logic synthesis. This paper addresses Boolean function bi-decomposition and develops novel QBF models for finding optimum bi-decompositions according to the well-established metrics, namely disjointness and balancedness. In addition, the paper describes techniques for improving the models and, consequently, for QBF solving. A key example is breaking the symmetry between sets of variables in the computed bi-decomposition. Experimental results obtained on representative benchmark circuits, demonstrate that the new QBF models can be solved efficiently with modern 2QBF solvers [12], and perform comparably with state-of-the-art heuristic solutions for Boolean function bi-decomposition [16, 17, 13, 7].

Future work will address performance improvements, through tight integration of the new QBF models with heuristic SAT-based approaches. Another line of research is to study the QBF-based bi-decomposition techniques for model checking.


The authors would like to thank Prof. Jie-Hong Roland Jiang for kindly providing the SAT-based Boolean Function bi-decomposition tool Bi-dec. This work is partially supported by SFI PI grant BEACON (09/IN.1/I2618).


  • [1] “Berkeley Logic Synthesis and Verification Group. ABC: A System for Sequential Synthesis and Verification, Release 70930,” in http://www.eecs.berkeley.edu/alanmi/abc/.
  • [2] R. Ashenhurst, “The decomposition of switching functions,” in Proceedings of an International Symposium on the Theory of Switching, 1957, pp. 74–116.
  • [3] A. Biere, M. Heule, H. van Maaren, and T. Walsh, Handbook of Satisfiability.   IOS Press, 2009.
  • [4] D. Bochmann, F. Dresig, and B. Steinbach, “A new decomposition method for multilevel circuit design,” in Proceedings of the European Conference on Design Automation, 1991, pp. 374–377.
  • [5] S. Chang, M. Marek-Sadowska, and T. Hwang, “Technology mapping for TLU FPGA’s based on decomposition of binary decision diagrams,” IEEE Transactions on Computer-Aided Design, vol. 15, no. 10, pp. 1226–1236, 1996.
  • [6] H. Chen, M. Janota, and J. Marques-Silva, “QBF-Based Boolean Function Bi-Decomposition,” in Design, Automation and Test in Europe Conference, 2012.
  • [7] H. Chen and J. Marques-Silva, “Improvements to satisfiability-based boolean function bi-decomposition,” in International Conference on VLSI and System-on-Chip (VLSI-SoC), 2011, pp. 142–147.
  • [8] L. Cheng, D. Chen, and M. Wong, “DDBDD: Delay-Driven BDD Synthesis for FPGAs,” IEEE Transactions on Computer-Aided Design, vol. 27, no. 7, pp. 1203–1213, 2008.
  • [9] M. Choudhury and K. Mohanram, “Bi-decomposition of large boolean functions using blocking edge graphs,” in International Conference on Computer-Aided Design, 2010, pp. 586–591.
  • [10] J. Cortadella, “Timing-driven logic bi-decomposition,” IEEE Transactions on Computer-Aided Design, vol. 22, no. 6, pp. 675–685, Jun. 2003.
  • [11] H. Curtis, A new approach to the design of switching circuits.   Van Nostrand Princeton, NJ, 1962.
  • [12] M. Janota and J. Marques-Silva, “Abstraction-Based Algorithm for 2QBF,” in International Conference on Theory and Applications of Satisfiability Testing, 2011, pp. 230–244.
  • [13] J.-H. Jiang, C.-C. Lee, A. Mishchenko, and C.-Y. Huang, “To sat or not to sat: Scalable exploration of functional dependency,” IEEE Transactions on Computers, vol. 59, no. 4, pp. 457–467, Apr. 2010.
  • [14] V. Kravets and A. Mishchenko, “Sequential logic synthesis using symbolic bi-decomposition,” in Design, Automation and Test in Europe Conference, 2009, pp. 1458–1463.
  • [15] Y. Lai, M. Pedram, and S. Vrudhula, “BDD based decomposition of logic functions with application to FPGA synthesis,” in Design Automation Conference, 1993, pp. 642–647.
  • [16] R.-R. Lee, J.-H. Jiang, and W.-L. Hung, “Bi-decomposing large boolean functions via interpolation and satisfiability solving,” in Design Automation Conference, 2008, pp. 636–641.
  • [17] H.-P. Lin, J.-H. Jiang, and R.-R. Lee, “To sat or not to sat: Ashenhurst decomposition in a large scale,” in International Conference on Computer-Aided Design, 2008, pp. 32–37.
  • [18] T. Luba and H. Selvaraj, “A general approach to boolean function decomposition and its application in FPGA-based synthesis,” VLSI DESIGN, vol. 3, no. 3-4, pp. 289–300, 1995.
  • [19] A. Malik, D. Harrison, and R. Brayton, “Three-level decomposition with application to PLDs,” in IEEE International Conference on Computer Design: VLSI in Computers and Processors, 1991, pp. 628–633.
  • [20] J. Marques-Silva and I. Lynce, “On improving MUS extraction algorithms,” in International Conference on Theory and Applications of Satisfiability Testing, 2011, pp. 159–173.
  • [21] A. Mishchenko, B. Steinbach, and M. Perkowski, “An algorithm for bi-decomposition of logic functions,” in Design Automation Conference, 2001, pp. 103–108.
  • [22] T. Sasao, “A design method for AND-OR-EXOR three-level networks,” in International Workshop on Logic and Synthesis, 1995, pp. 8:11–8:20.
  • [23] T. Sasao and J. T. Butler, “on bi-decomposition of logic functions,” in International Workshop on Logic and Synthesis, 1997, pp. 1–6.
  • [24] C. Scholl, Functional decomposition with application to FPGA synthesis.   Springer Netherlands, 2001.
  • [25] T. Stanion and C. Sechen, “Quasi-algebraic decomposition of switching functions,” in Proceedings of the 16th Conference on Advanced Research in VLSI (ARVLSI), 1995, pp. 358–367.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description