Bi-decomposition of large Boolean functions using blocking edge graphs

Bi-decomposition techniques have been known to significantly reduce area, delay, and power during logic synthesis since they can explore multi-level and, or, and xor decompositions in a scalable technology-independent manner. The complexity of bi-decompo-sition techniques is in achieving a good variable partition for the given logic function. State-of-the-art techniques use heuristics and/or brute-force enumeration for variable partitioning, which results in sub-optimal results and/or poor scalability with function complexity. This paper describes a fast, scalable algorithm for obtaining provably optimum variable partitions for bi-decomposition of Boolean functions by constructing an undirected graph called the blocking edge graph (BEG). To the best of our knowledge, this is the first algorithm that demonstrates a systematic approach to derive disjoint and overlapping variable partitions for bi-decomposition. Since a BEG has only one vertex per input, our technique scales to Boolean functions with hundreds of inputs. Results indicate that on average, BEG-based bi-decomposition reduces the number of logic levels (mapped delay) of 16 benchmark circuits by 60%, 34%, 45%, and 30% (20%, 19%, 16% and 20%) over the best results of state-of-the-art tools FBDD, SIS, ABC, and an industry-standard synthesizer, respectively.

[1]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[2]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[3]  Maciej J. Ciesielski,et al.  BDS: a BDD-based logic optimization system , 2000, DAC.

[4]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[5]  Vladimir Kolmogorov,et al.  An experimental comparison of min-cut/max- flow algorithms for energy minimization in vision , 2001, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[6]  B. Steinbach,et al.  Synthesis Of Multi-Level Circuits Using EXOR-Gates , 2001 .

[7]  Jie-Hong Roland Jiang,et al.  To SAT or not to SAT: Ashenhurst decomposition in a large scale , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[8]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[9]  Jianwen Zhu,et al.  FBDD: a folded logic synthesis system , 2005, 2005 6th International Conference on ASIC.