Active and Passive Electronic Components
Volume 2019 (2019), Article ID 8292653, 9 pages
https://doi.org/10.1155/2019/8292653

Research Article

BDD-Based Topology Optimization for Low-Power DTIG FinFET Circuits

Haiyan Ni, Jianping Hu, Xuqiang Zhang, and Haotian Zhu

Faculty of Information Science and Technology, Ningbo University, Ningbo 315211, China

Correspondence should be addressed to Haiyan Ni; nihaiyan@nbu.edu.cn

Received 1 February 2019; Accepted 12 June 2019; Published 18 July 2019

Academic Editor: Gerard Ghibaudo

Copyright © 2019 Haiyan Ni et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

This paper proposed a logic synthesis method based on binary decision diagram (BDD) representation. The proposed method is optimized for dual-threshold independent-gate (DTIG) FinFET circuits. The algorithm of the BDD-based topology optimization is stated in detail. Some kinds of feature subgraph structures of a BDD are extracted by the extraction algorithm and then fed to mapping algorithm to get a final optimized circuit based on predefined DTIG FinFET logic gates. Some MCNC benchmark circuits are tested under the proposed synthesis method by comparing with ABC, DC tools. The simulations show that the proposed synthesis method can obtain performance improvement for DTIG FinFET circuits.

1. Introduction

As a 3D transistor, FinFET is more efficient than the traditional devices because it can suppress short channel effect (SCE) and drain induced barrier lowering (DIBL) [1–6]. FinFET can operate in common-gate (CG) mode, whose two gates are tied together naturally and can be used like a traditional single-gate device with improved performances, or in independent-gate (IG) mode, whose two gates can be used as two separated single-gate devices in parallel or series on special conditions [2].

Today’s VLSI is usually designed by “standard cell” method [7]. Among the design flow, synthesis is an important process, which transforms the high level design to low level netlists form composed by standard cells. Currently, standard cell libraries are basically built on the basis of CMOS or CG FinFET devices. The synthesis tools, such as commercial tools like Synopsys Design Compiler (DC), public-domain tools like ABC [8], and synthesis algorithms like factorization-based methods, usually utilizing these single-gate standard cell libraries to optimize the circuit topology. However, according to our research, DTIG FinFET-based circuits have excellent performances and can be used in modern VLSI circuits [9–11]. So it has an emerging need to develop a comprehensive method based on DTIG FinFETs.

As a powerful representation of logic function, binary decision diagram (BDD) is widely used in computer science to solve graph algorithms and matrix-operation, even artificial intelligence problems. It also can be applied in VLSI design to construct the topology of the circuits and detect and optimize the circuits [12–14]. The efficiency of the BDD is always determined by the variable order of the functions. Since the variable ordering problem is a NP-complete [15, 16], there are many approximation heuristic methods have been found to efficiently solve this problem [12, 17–19].

The paper described a circuit topology optimization method based on BDD technology to compose the DT IG FinFET circuits by using the predefined DTIG FinFET basic logic cells. It is organized as follows. In Section 2, we introduce the predefined DTIG FinFET logic gates briefly, and in Section 3 we state some theorems and an algorithm of feature modules extraction in BDD graph. The mapping algorithm is also included in Section 3. And in Section 4, we realize the algorithms and verify the effectiveness of the method by testing the MCNC benchmarks. Finally, we conclude in Section 5.

2. DTIG FinFET Cell Library

Compared with single-gate devices, such as CMOS or CG FinFET, DTIG FinFET can design more flexible circuits by using of the low-threshold (low-) and high-threshold (high-) devices [2, 3, 9, 11, 20]. We have built a mini DTIG FinFET logic cells library for further using and as shown in Figure 1 are two examples and their CG comparisons. The DTIG FinFET logic cells have more compact structures than the CG FinFET logic cells, and thus they would have more advantages in transistor count, delay, and power dissipation than CG FinFET cells, as examples shown in Table 1. All gates in the library, which are composed by low- transistors and high- ones with parameters extracted from TCAD simulations, have been verified by Hspice with the BSIMIMG model from UC Berkeley [21].

Table 1: Performance comparison of some example cells.

Cells
T.Count
Delay (ps)
Power (μW)

CG
IG
CG
IG
CG
IG

NAND
4
2
5.6
5.1
11.8
5.5

NOR
4
2
5.5
4.7
11.8
3.0

NAND3
6
4
9.2
9.7
8.5
4.9

AOI
6
4
7.7
7.3
15.6
5.9

OAI
6
4
6.6
6.4
16.8
9.5

XOR
10
8
4.0
3.4
54.3
31.7

(a) NAND

(b) NOR

Figure 1: The basic logic cells realized by the CG FinFETs and DTIG FinFETs, respectively. (a) NAND, (b) NOR.

3. The Algorithms of Synthesis DTIG Logic Circuits

Firstly, we give some definitions about BDD and feature structure. Next, we give some theorems related to BDD subgraph extraction and prove them. Finally, we describe the implementations of BDD-based extraction algorithm and mapping algorithm.

3.1. Definitions

Binary decision diagrams (BDD) is proposed by Akers [22] as a method to representation of logic function. The methods based on BDD have been widely used in the representation and design of VLSI [23]. For the convenience of further discussion, we introduce several definitions related to BDD and its subgraph extraction firstly.

Definition 1 (binary decision diagram (BDD)). BDD has been defined in [22, 24] detailed; here we briefly describe some concepts. A BDD, as an example shown in Figure 2(a), is a rooted directed acyclic graph which is used to represent a Boolean function as

The BDD graph can be represented in formal language as , where V and E are the node set and edge set, respectively. V contains two types of nodes, named as nonterminal nodes (circular form in the figure), and terminal nodes (block form in the figure). Every nonterminal node, labelled with an input variable , has two children, low and high , and two relative edges, else and then , connecting to the two children, respectively. Here in this paper, the else and then edges are denoted as dotted line and solid line in the figures, respectively. A terminal node has not any child and outgoing edges and is only labelled with a value .

Figure 2: (a) A BDD example representing the Boolean logic equation (1), (b)–(f) its extracted BDD subgraphs, (g) MUX realization directly from (a), (h) the AOI and OAI cells mapped by the extracted BDD subgraphs (e), and (f), (i) the optimized result.

When a BDD is used to compute a logic function , we recursively compute the function from the root node (here assuming that it is ) to the terminal node 0 or 1:

where is the complementary logic of . Because the production of 0 and any logic is 0, we can omit the paths from root to 0-terminal and reserve the computations from root to 1-terminal.

The BDD mentioned in this paper actually refers to reduced ordered binary decision diagram (ROBDD) [25–27], which is a type of variant BDD with input variables specially ordered and simplified structure with distinct nodes. There are many algorithms to get the ROBDD from BDD by efficiently ordering the variables and removing the redundant variables in literatures [15–19].

Definition 2 (feature structure). A feature structure is a special subgraph in a BDD, , which can be mapped to a DTIG FinFET basic logic gate, such as AND/NAND, OR/NOR, AOI, XOR, and MUX. Here is a subgraph in rooted by with its children and the descendants.

From Figure 2(a), we can extract some BDD subgraph, as shown in Figures 2(b)–2(f). Among them, subgraphs in Figures 2(c)–2(e) can be realized with the DTIG FinFET logic gates that are AOI, OAI, AND, and NOR, respectively. Therefore, all these structures are feature structures. For example, Figure 2(b) is an extracted subgraph from Figure 2(a) that can be realized by an AOI cell, and Figure 2(c) can be realized by an OAI, as shown in Figure 2(h). The structure in Figure 2(f) cannot be mapped to any logic cell; therefore it is not a feature structure.

On the other hand, for a nonterminal node in BDD, we can always realize by a MUX cell directly [22, 28]. So, we can map the BDD shown in (1) to a MUX-based netlist directly as shown in Figure 2(g).

3.2. Theorems of Extraction Algorithm

Theorem 3. For a nonterminal node of a BDD, we assume that its two children are with node function and with node function . If a nonterminal node with function and one of its two outgoing edges are connecting to and another edge connecting to or , the nodes group can construct as a feature structure of AND/NAND/OR/NOR.

Proof. Assuming that = = , = and = , as shown Figure 3(a).
According to Definition 1, there is a function shown in (3) and the derivations (4) and (5) from Figure 3(a).

From (4) and (5), we can map the BDD subgraph to one of four feature structures of NAND, AND, OR, and NOR as shown in Figures 3(b)–3(e).
Similarly, the other cases satisfying the condition of Theorem 3 will get similar results and also can be proven easily.

Figure 3: One case of Theorem 3 and relative feature structures. (a) One case of BDD subgraph, (b) NAND structure, (c) AND structure, (d) OR structure, and (e) NOR structure.

Theorem 4. For a node group satisfying the condition of Theorem 3, assuming that there exists a nonterminal node with function and is a common child of and and is just a child of , when one outgoing edge of connects to node and the other edge connects to node , then the nodes , , , , and their relative edges construct a feature structure of three-input AND/NAND/OR/NOR logic.
Otherwise, when one outgoing edge of connects to node and the other edge connects to node or , the nodes , , , , and their relative edges construct a feature structure of three-input AOI/OAI logic.

Proof. Firstly we consider the first case as shown in Figure 4(a).
Assuming that = high = low = low and = low, according to (2) in Definition 1, there is (6) and its derivations as follows:

From (7) and (8), we can get the results as shown in Figures 4(b)–4(e).
Now we consider another case in Theorem 4; assuming that = , = , = = = and = , according to (2) in Definition 1, there is (9) and its derivations as follows:

From (10) and (11), we can get the results of Theorem 4.

Figure 4: One case of Theorem 4 and relative feature structures: (a) one case of BDD subgraph, (b) AND3, (c) NAND3, (c) OR3, and (d) NOR3.

Theorem 5. For two nodes , in a BDD graph, assume that is the low child and the high child of at the same time, if the low child has two outgoing edges, then and else, connecting to and , respectively, while the high child has two outgoing edges, then and else, connecting to and , respectively. The subgraph including , , , can be construct as a feature structure of XOR/XNOR logic.

Proof. From Theorem 5, we can show it in Figure 5.
According to (2) in Definition 1, we have

From (13), the subgraph can be constructed as XOR/XNOR logic, as shown in Figures 5(b) and 5(c).

Figure 5: The case in Theorem 5: (a) BDD subgraph, (b) XOR, and (c) XNOR.

3.3. BDD-Based Node Extraction Algorithm

According to the definitions and the theorems above mentioned, we have developed a feature structure extraction algorithm for a given BDD, which contains four subroutines to finish the extraction procedure. The subroutine 1 outputs the reduced ordering form of the BDD graph from an input logic function f. The extracted BDD subgraphs of the feature structures will be obtained through the processes from subroutines 2 to 4 successively. In each subroutine, some parts of the BDD are marked as the different feature structures. The order of the algorithm flow is carefully arranged. As shown in Table 1, in the proposed DTIG FinFET cell library, NAND/NOR cells can reduce the number of transistors more than the single-gate gates, AOI/OAI/NAND3/NOR3 cells the second, and XOR cells the least. The extraction order of the feature structure is in this order to get the most improvement. When the whole algorithm procedure is finished, we will obtain the optimized BDD and the feature structures, which can be fed to the mapping algorithm to further process.

In the algorithm of the subroutine 1, as shown in Algorithm 1, we generate an initial reduced ordered BDD from the input logic function by using a sorting algorithm like the traditional bubble sort algorithm. When subroutine 1 is finished, an optimal ordered BDD form will be obtained.

    Algorithm of Subroutine 1:

    Input:

    Output: : node set of BDD form

1: ← bdd_init

2: sum_src ← bdd_nodecount()

3: for i = 1 to n do

4:     for j = i to n do

5:         bdd_swapvar

6:         sum_ex ← bdd_nodecount()

7:         if sum_ex ≤ sum_src then

8:             sum_src ← sum_ex

9:         else sum_ex > sum_src

10:          bdd_swapvar

11:      end if

12:  end for

13: end for

Algorithm 1: The algorithm of subroutine 1 in the BDD-based extraction algorithm.

The subroutine 2, as shown in Algorithm 2, searches for a father of each node in the optimal ordered BDD from subroutine 1.

     Algorithm of subroutine2:

     Input: : node set from subroutine 1

     Output: : set of AND/NAND2 sub-graph

     Output: : set of OR/NOR sub-graph

1:  for each vi in do

2:     ← children(vi)

3:     for each vj in do

4:         if low then

5:             If high(vj) = vx OR high(vj) = vy then

6:             mark

7:             Gso

8:             end if

9:         else if high then

10:         if low OR low then

11:             ← mark

12:             Gsa

13:         end if

14:     end if

15:  end for

16: end for

Algorithm 2: The algorithm of subroutine 2 in the BDD-based extraction algorithm.

We mark as a father of and , as two children of . If the node group (, , , ) meets the condition of Theorem 3, i.e., both and (or ) are the children of and we extract the subgraph containing the nodes , , , and their relative edges and then mark the subgraph as a feature structure of OR/NOR or AND/NAND . When this subroutine is finished, all feature structures of OR/NOR or AND/NAND are extracted and stored in the sets Gso and Gsa, respectively.

The algorithm of the subroutine 3, as shown in Algorithm 3, searches for a node group (, , , , ) which meets the condition of Theorem 4. First we check each subgraph in the result set Gsa from subroutine 2 and the origin BDD graph set from subroutine 1; if a node exists in which satisfies the cases of Theorem 4, we extract a new subgraph containing the node , and the corresponding subgraph in the set Gsa and their edges, and we mark the new subgraph as a new feature structure of AND3/NAND3 or AOI. Then, we store this feature structure into the set Gsa3 for AND3/NAND3 or set Gsaoi for AOI, respectively. Finally, the corresponding subgraph in the set Gsa should be deleted because it has been covered by the new generated feature structure.

    Algorithm of Subroutine3:

    Input: Gsa: set of AND/NAND2 sub-graph from subroutine2;

    Input: G: node set of BDD from subroutine 1

    Output: Gsaoi: set of AOI/OAI sub-graph

    Output: Gsand3: set of AND/NAND31 sub-graph

1: for each gs in Gsa do

2:     vj←root(gs)

3:     for each vk in BDD do

4:         if low(vk)=vj OR high(vk)=vj then

5:             if vk satisfy Theorem 4 case 1 then

6:                 

10:              Gsa3←

11:          else if vk satify Theorem 4 case2 then

12:              

13:              Gsaoi←

14:          end if

15:      end if

16:  end for

17: end for

Algorithm 3: The algorithm of subroutine 3 in the BDD-based extraction algorithm.

According to Theorem 5, algorithm of the subroutine 4, as shown in Algorithm 4, searches for the special groups of nodes in the optimal ordered BDD from subroutine 1 and then constructs them as new feature structures. If the nodes of a group satisfy the conditions of Theorem 5, (a) a node (denoted as ) is the same father of the other two nodes (denoted as and ) of the same variable, (b) there exist two nodes that are the same children of and , and (c) = and = , then we extract the group and their edges as a feature structure of XOR logic and then store it into set Gsxor.

        Algorithm of Subroutine 4

1:     Input: G: node set of source BDD from subroutine 1

2:     Output: Gsxor: set of XOR/NXOR sub-graph

3:     for each vk in G do

4:         for each vi in G do

5:             for each vj in G do

6:                 if low(vk) = vi AND high(vk) = vj OR

                        high(vk) = vi AND low(vk) = vj then

7:                  if value(vj) = value(vi) then

8:                     if low(vi) = high(vj) AND high(vi) = low(vj) then

9:                         (vx,vy) ←children(vi,vj)

10:                      

11:                      Gsxor←

12:                  end if

13:                 end if

14:              end if

15:             end for

16:          end for

17:         end for

Algorithm 4: The algorithm of subroutine 4 in the BDD-based extraction algorithm.

When these subroutines are all finished, the proposed extraction algorithm generates the optimal ordered BDD form of a given logic function and obtains all the feature structures in the BDD.

3.4. The Mapping Algorithm

The extraction algorithms described above only aims at simplifying Boolean functions. In the next logic synthesis steps, we need to replace the logic gates with physical cells in the cell library by using a mapping algorithm. We propose the feature structure mapping algorithm with four steps. In step 1, after reading the BDD and its subgraphs from the extraction algorithm, we exclude the redundant, or covered, subgraphs. Then, in step 2, we map the source BDD to a circuit composed of MUXs completely and map the feature structures to the IG FinFET logic gates. In step 3, we give the final optimized circuit by replacing some MUXs subcircuits with logic cells. Step 1 to step 3 are shown as examples in Figures 2(a)–2(h) and the result is as shown in Figure 2(i).

4. Algorithm Implementation

The synthesis algorithms including extraction and mapping are both implemented in MATLAB platform, and for comparison of the circuit optimization effectiveness, the ABC and DC synthesis tools are also applied to the same circuits. For a fair comparison, all methods use the same DTIG FinFET cell library we built in Section 2. Finally, all the circuits from ABC, DC, and the proposed method are simulated by using Hspice with the BSIMIMG model from UC Berkeley [21]. Figure 6 presents the simulation results of the MCNC benchmark circuits.

(a)

(b)

(c)

(d)

Figure 6: Comparison between the simulation results of ABC, DC, and this work.

As shown in Figure 6(a), for almost all tested circuits, the count of transistors in the circuit optimized by this work is the least among the comparisons. Therefore, in most cases, the proposed method can get the most effective area since the area occupation is determined by the number of the transistors.

The average power dissipation can be expressed by

where is the average power of a circuit, N is the transistor count in a circuit, Pav1 is the average power of one transistor, Plow and Phigh are the average power of one low- and high- IG FinFET, respectively, and plow and phigh are the possibility of low- and high- IG FinFET in a circuit, respectively.

From (14), if the possibility of transistors in kinds of circuits is close to each other, the average power of a circuit is determined by the count of transistor in a circuit. From Figure 6(b), we can see the trend of the power dissipation is close to the transistor count trend shown in Figure 6 and still almost all the circuits synthesized by this work have the least power dissipation, and the fact fits the prediction of (14) very well. The delay analysis is more complicated than power dissipation. The maximum delay of a circuit depends on the critical path. The more transistors on the critical path are, the greater delay should be. For a DTIG FinFET circuit, the high-threshold device has more delay because it has low on-current, which further reduces the switch speed and increases the delay. So as shown in Figure 6(c), we find that the circuit synthesized by this work has no obvious advantage in terms of delay.

The power delay product (PDP) can evaluate a circuit more comprehensively because it considers both delay and power consumption. As seen from Figure 6(d), compared with ABC and DC, all of the circuits synthesized by this work have obvious advantage of PDP.

5. Conclusion

In this paper, we have presented a BDD-based synthesis method to optimize DTIG FinFET circuits. We search the BDD graph of an input logic to find feature structures and map them to DTIG FinFET basic logic gates. The algorithms are implemented in MATLAB and compared with ABC and DC by simulation of the MCNC benchmark circuits. The result shows that the proposed method can significantly improve the performances of DTIG FinFET circuits in area occupation, power consumption, and PDP.

Data Availability

All data used to support the study had been included in the paper and can be accessed freely.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This research is based upon work supported by National Natural Science Foundation of China under Grant No. 61671259 and Zhejiang Provincial Natural Science Foundation (No. LY19F010005). The study is funded by National Natural Science Foundation of China 61671259 and Zhejiang Provincial Natural Science Foundation [LY19F010005].

References

C. Shin, “State-of-the-art silicon device miniaturization technology and its challenges,” IEICE Electronics Express, vol. 11, no. 10, Article ID 20142005, 2014.

P. Mishra, A. Muttreja, and N. K. Jha, “FinFETcircuit design,” Nanoelectronic Circuit Design, pp. 23–54, 2011.

M. Rostami and K. Mohanram, “Dual-Vth independent-gate FinFETs for low power logic circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 30, no. 3, pp. 337–349, 2011.

S. Chaudhuri and N. K. Jha, “FinFET logic circuit optimization with different FinFET styles: Lower power possible at higher supply voltage,” in Proceedings of the International Conference on Vlsi Design and 2014 International Conference on Embedded Systems, pp. 476–482, 2014.

S. Tawfik and V. Kursun, “Multi-Threshold Voltage FinFET Sequential Circuits,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 19, no. 1, pp. 151–156, 2011.

M. Imani, S. Patil, and T. S. Rosing, “Hierarchical design of robust and low data dependent FinFET based SRAM array,” in Proceedings of the IEEE/ACM International Symposium on Nanoscale Architectures, pp. 63–68, 2015.

T. Wang, X. Cui, K. Liao et al., “Low power high performance FinFET standard cells based on mixed back biasing technology,” IEICE Transactions on Electronics, vol. E99.C, no. 8, pp. 974–983, 2016.

R. Brayton and A. Mishchenko, “ABC: An academic industrial-strength verification tool,” in Proceedings of the Computer Aided Verification, International Conference, vol. 6174, pp. 24–40, Edinburgh, Uk, CAV 2010.

X. Zhang, J. Hu, and X. Luo, “Optimization of dual-threshold independent-gate FinFETs for compact low power logic circuits,” in Proceedings of the 16th IEEE International Conference on Nanotechnology - IEEE NANO 2016, pp. 529–532, Sendai, Japan, August 2016.

H. Yang, J. Hu, and H. Zhu, “Novel SRAM cells using dual-threshold independent-gate FinFETs,” in Proceedings of the 17th IEEE International Conference on Nanotechnology, NANO 2017, pp. 358-359, Pittsburgh, Pa, USA, July 2017.

H. Ni, J. Hu, H. Yang, and H. Zhu, “Comprehensive optimization of dual threshold independent-gate FinFET and SRAM cells,” Active and Passive Electronic Components, vol. 2018, Article ID 4512924, 10 pages, 2018.

W. Lenders and C. Baier, “Genetic algorithms for the variable ordering problem of binary decision diagrams,” in Proceedings of the International Conference on Foundations of Genetic Algorithms, pp. 1–20, 2005.

U. S. Costa, A. M. Moreira, D. Dharbe, C. Universitrio, and L. Nova, “Advances in bdd reduction using parallel genetic algorithms,” in Proceedings of the IEEE 10th International Workshop on Logic & Synthesis (IWLS2001), pp. 84–89, 2001.

P. Porwik, K. Wrobel, and P. Zaczkowski, “Some practical remarks about Binary Decision Diagram size reduction,” IEICE Electronics Express, vol. 3, no. 3, pp. 51–57, 2006.

S. Tani, K. Hamaguchi, and S. Yajima, “The complexity of the optimal variable ordering problems of shared binary decision diagrams,” in Proceedings of the in Algorithms & Computation, International Symposium, ISAAC 93, Hong Kong, December 1993.

B. Bollig and I. Wegener, “Improving the variable ordering of OBDDs is NP-complete,” IEEE Transactions on Computers, vol. 45, no. 9, pp. 993–1002.

H. Fujii, G. Ootomo, and C. Hori, “Interleaving based variable ordering methods for ordered binary decision diagrams,” in Proceedings of the IEEE/ACM International Conference on Computer-aided Design, 1993.

O. Brudaru, C. Rotaru, and I. Furdu, “Static segregative genetic algorithm for optimizing variable ordering of ROBDDs,” in Proceedings of the International Symposium on Symbolic & Numeric Algorithms for Scientific Computing, 2011.

M. Takapoo and M. B. Ghaznavi-Ghoushchi, “IDGBDD: The novel use of ID3 to improve genetic algorithm in BDD reordering,” in Proceedings of the International Conference on Electrical Engineering/electronics Computer Telecommunications & Information Technology, 2010.

H. Zhu, J. Hu, H. Yang, Y. Xiong, and T. Yang, “A topology optimization method for low-power logic circuits with dual-threshold independent-gate FinFETs,” in Proceedings of the 27th International Symposium on Power and Timing Modeling, Optimization and Simulation, PATMOS 2017, pp. 1–6, Greece, September 2017.

N. Paydavosi, S. Venugopalan, Y. S. Chauhan et al., “BSIM—SPICE models enable FinFET and UTB IC designs,” IEEE Access, vol. 1, pp. 201–215, 2013.

S. B. Akers, “Binary decision diagrams,” IEEE Transactions on Computers, vol. 27, no. 6, pp. 509–516, 1978.

S. ichi Minato, “Techniques of BDD/ZDD: brief history and recent activity,” IEICE Transaction on Information and Systems, vol. E96.D, no. 7, pp. 1419–1429, 2013.

R. Drechsler and D. Sieling, “Binary decision diagrams in theory and practice,” International Journal on Software Tools for Technology Transfer, vol. 3, no. 2, pp. 112–136, 2001.

R. E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, vol. C-35, no. 8, pp. 677–691, 1986.

M. Raseen, P. Chandana Prasad, and A. Assi, “An efficient estimation of the ROBDD's complexity,” Integration, the VLSI Journal, vol. 39, no. 3, pp. 211–228, 2006.

K. S. Brace, R. L. Rudell, and R. E. Bryant, “Efficient implementation of a BDD package,” in Proceedings of the 27th ACM/IEEE Design Automation Conference, pp. 40–45, June 1990.

J. M. Rabaey, A. P. Chandrakasan, and B. Nikolic, Digital Integrated Circuit-A Design Perspective, Prentice-Hall, Inc, 2003.