Abstract
In this paper, we address the problem of memory-efficient construction of ROBDDs for a given Boolean network. We show that for a large number of applications, it is more efficient to construct the ROBDD by a suitable combination of top-down and bottom-up approaches than a purely bottom-up approach. We first build a decomposed ROBDD of the target function and then follow it by a symbolic composition to get the final ROBDD. We propose two heuristic algorithms for decomposition. One is based on a topological analysis of the given netlist, while the other is purely functional, making no assumptions about the underlying circuit topology. We demonstrate the utility of our methods on standard benchmark circuits as well as some hard industrial circuits. Our results show that this method requires significantly less memory than the conventional bottom-up construction. In many cases, we are able to build the ROBDDs of outputs for which the conventional method fails. In addition, in most cases this memory reduction is accompanied by a significant speed up in the ROBDD construction process.
Preview
Unable to display preview. Download preview PDF.
References
Sheldon B. Akers. Binary decision diagrams. IEEE Transactions on Computers, C-27:509–516, June 1978.
C. L. Berman. Circuit width, register allocation, and ordered binary decision diagrams. IEEE Transactions on Computer-Aided Design, pages 1059–1066, August 1991.
K. S. Brace, R. L. Rudell, and R. E. Bryant. Efficient Implementation of a BDD Package. In DAC, pages 40–45, June 1990.
R. Bryant. Graph-based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, C-35:677–691, August 1986.
R. E. Bryant. Symbolic boolean manipulation with ordered binary decision diagrams. ACM Computing Surveys, 24:293–318, September 1992.
G. Cabodi and P. Camurati. Symbolic fsm traversais based on the transition relation. submitted to Transaction on Computer-Aided Design, 1994.
G. Cabodi, P. Camurati, and Stefano Quer. Auxiliary variables for extending symbolic traversal techniques to data paths. 31st DAC, pages 289–293, June 1994.
O. Coudert, C. Berthet, and J. C. Madre. Verification of Sequential Machines Based on Symbolic Execution. In Proc. of the Workshop on Automatic Verification Methods for Finite State Systems, Grenoble, France, 1989.
S. Malik et. al. Logic Verification using Binary Decision Diagrams in a Logic Synthesis Environment. In ICCAD, pages 6–9, November 1988.
M. Fujita, H. Fujisawa, and N. Kawato. Evaluation and improvements of Boolean comparison method based on binary decision diagrams. ICCAD, pages 2–5, November 1988.
R. Hojati, S.C. Krishnan, and R. K. Brayton. Heuristic Algorithms for Early Quantification and Partial Product Minimization. Technical Report UCB/ERL M93/58, Electronics Research Lab, Univ. of California, Berkeley, CA 94720, July 1993.
J. Jain, J. Bitner, D. S. Fussell, and J. A. Abraham. Probabilistic verification of Boolean functions. Formal Methods in System Design, 1, July 1992.
J. Jain, J. Bitner, M. Abadir, D. S. Fussell, and J. A. Abraham. Indexed BDDs: Algorithmic Advances in Techniques to Represent and Verify Boolean functions. to appear in IEEE Transactions on Computers.
S.-W. Jeong, B. Plessier, G. Hachtel, and F. Somenzi. Extended BDDs: Trading Canonicity for Structure in Verification Algorithms. In ICCAD, pages 464–467, November 1991.
C. Y. Lee. Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J., 38:985–999, 1959.
T. Lengauer and R. Tarjan. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages, 1:121–141, July 1979.
K. L. McMillan. Symbolic model checking: An approach to the state explosion problem. Ph.D Thesis, Dept. of Computer Sciences, Carnegie Mellon University, 1992.
K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.
A. Narayan, S. P. Khatri, J. Jain, M. Fujita, R. K. Brayton, and A. Sangiovanni-Vincentelli. A Study of Composition Schemes for Mixed Apply/Compose Based Construction of ROBDDs. In Intl. Conf. on VLSI Design, January 1996.
A. Narayan, J. Jain, M. Fujita, and A. L. Sangiovanni-Vincentelli. Partitioned-ROBDDs — A Compact, Canonical and Efficiently Manipulable Representation for Boolean Functions. ICCAD, November 1996. To appear.
R. L. Rudell. Dynamic Variable Ordering for Ordered Binary Decision Diagrams In ICCAD, pages 42–47, November 1993.
E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P. R. Stephan, R. K. Brayton, and A. L. Sangiovanni-Vincentelli. SIS: A System for Sequential Circuit Synthesis. Technical Report UCB/ERL M92/41, Electronics Research Lab, Univ. of California, Berkeley, CA 94720, May 1992.
H. J. Touati, H. Savoj, B. Lin, R. K. Brayton, and A. L. Sangiovanni-Vincentelli. Implicit State Enumeration of Finite State Machines using BDD's. In ICCAD, pages 130–133, November 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jain, J. et al. (1996). Decomposition techniques for efficient ROBDD construction. In: Srivas, M., Camilleri, A. (eds) Formal Methods in Computer-Aided Design. FMCAD 1996. Lecture Notes in Computer Science, vol 1166. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031825
Download citation
DOI: https://doi.org/10.1007/BFb0031825
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61937-6
Online ISBN: 978-3-540-49567-3
eBook Packages: Springer Book Archive