Average path length of binary decision diagrams

The traditional problem in binary decision diagrams (BDDs) has been to minimize the number of nodes since this reduces the memory needed to store the BDD. Recently, a new problem has emerged: minimizing the average path length (APL). APL is a measure of the time needed to evaluate the function by applying a sequence of variable values. It is of special significance when BDDs are used in simulation and design verification. A main result of this paper is that the APL for benchmark functions is typically much smaller than for random functions. That is, for the set of all functions, we show that the average APL is close to the maximum path length, whereas benchmark functions show a remarkably small APL. Surprisingly, however, typical functions do not achieve the absolute maximum APL. We show that the parity functions are unique in having that distinction. We show that the APL of a BDD can vary considerably with variable ordering. We derive the APL for various functions, including the AND, OR, threshold, Achilles' heel, and certain arithmetic functions. We show that the unate cascade functions uniquely achieve the absolute minimum APL.

[1]  Yuri Breitbart,et al.  Analysis of Algorithms for the Evaluation of Monotonic Boolean Functions , 1978, IEEE Transactions on Computers.

[2]  Kozo Kinoshita,et al.  Conservative Logic Elements and Their Universality , 1979, IEEE Transactions on Computers.

[3]  Sharad Malik,et al.  Fast functional simulation using branching programs , 1995, ICCAD.

[4]  Shinobu Nagayama,et al.  Minimization of average path length in BDDs by variable reordering , 2003 .

[5]  Tsutomu Sasao,et al.  Comparison of Decision Diagrams for Multiple-Output Logic Functions , 2002, IWLS.

[6]  Bernard M. E. Moret,et al.  Symmetric and Threshold Boolean Functions Are Exhaustive , 1983, IEEE Transactions on Computers.

[7]  Bernard M. E. Moret,et al.  Decision Trees and Diagrams , 1982, CSUR.

[8]  Alexander Saldanha,et al.  Fast discrete function evaluation using decision diagrams , 1995, ICCAD.

[9]  Rolf Drechsler,et al.  Fast exact minimization of BDD's , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  TingTing Hwang,et al.  Binary decision diagram with minimum expected path length , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[11]  Donald A. Bell,et al.  Decision Trees, Tables, and Lattices , 1978 .

[12]  Rolf Drechsler,et al.  Fast exact minimization of BDDs , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[13]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[14]  Kozo Kinoshita,et al.  On the Number of Fanout-Free Functions and Unate Cascade Functions , 1979, IEEE Transactions on Computers.

[15]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

[16]  Hiroshi Sawada,et al.  Minimization of binary decision diagrams based on exchanges of variables , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[17]  Michael Z. Hanani An optimal evaluation of Boolean expressions in an online query system , 1977, CACM.

[18]  Rolf Drechsler,et al.  Minimization of the expected path length in BDDs based on local changes , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[19]  Tsutomu Sasao,et al.  On the average path length in decision diagrams of multiple-valued functions , 2003, 33rd International Symposium on Multiple-Valued Logic, 2003. Proceedings..

[20]  Rolf Drechsler,et al.  Minimization of the expected path length in BDDs based on local changes , 2004 .

[21]  Richard Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD.

[22]  Donald E. Knuth,et al.  Mathematical Analysis of Algorithms , 1971, IFIP Congress.

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

[24]  Yasuhiko Sasaki,et al.  Top-down pass-transistor logic design , 1996, IEEE J. Solid State Circuits.

[25]  Tsutomu Sasao,et al.  Evaluation of multiple-output logic functions using decision diagrams , 2003, ASP-DAC '03.

[26]  F. Brglez,et al.  A neutral netlist of 10 combinational benchmark circuits and a target translator in FORTRAN , 1985 .

[27]  Sharad Malik,et al.  Automated synthesis of efficient binary decoders for retargetable software toolkits , 2003, DAC '03.

[28]  Tsutomu Sasao,et al.  Switching Theory for Logic Synthesis , 1999, Springer US.

[29]  Sreerama K. Murthy,et al.  Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey , 1998, Data Mining and Knowledge Discovery.

[30]  Gerald Berman,et al.  Introduction to Combinatorics , 1972 .

[31]  Adnan Aziz,et al.  Performance driven synthesis for pass-transistor logic , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[32]  Shinobu Nagayama,et al.  On the Minimization of Longest Path Length for Decision Diagrams , 2004 .

[33]  Bernd Becker,et al.  On the generation of multiplexer circuits for pass transistor logic , 2000, DATE '00.