Efficient Scheduling Techniques for ROBDD Construction

  • Authors:
  • R. Murgai;J. Jain;M. Fujita

  • Affiliations:
  • -;-;-

  • Venue:
  • VLSID '99 Proceedings of the 12th International Conference on VLSI Design - 'VLSI for the Information Appliance'
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

The most common way to build the reduced ordered binary decision diagram (ROBDD) of a complex gate (or function) f of a network is bottom-up, i.e., by first building the ROBDDs of the sub-expressions of f and then suitably combining them. Such a method, however, has been found to suffer from memory explosion, even when the ROBDD of f is not large. This leads to the following fundamental question: Given an arbitrary boolean expression f(x_1, x_2, \ldots, x_n) and the ROBDDs of various x_i (in terms of circuit inputs), how should the ROBDD of f be constructed so that the intermediate memory required to build the ROBDD is minimized, and a heavy time penalty is not incurred? In this paper, we address this question for a restricted f: a multi-way AND or OR operation.\footnote{One can build ROBDD of an arbitrary expression by using these two operations, along with inversion. We propose various schemes for scheduling the binary operations of the expression f. These schemes are based on an analysis of the sizes and support-sets of the intermediate ROBDDs. One of our main contributions is to prove that under certain conditions, these schemes provide the optimum solution. We tested the proposed schemes on complex functions present within ISCAS85 as well as large industrial circuits. On average, our best scheme (which is based on size as well as support-set of the component ROBDDs) yields a 25% reduction in ROBDD sizes as compared to the technique implemented in SIS \cite{SIS}. In some cases, a reduction of up to 4 orders of magnitude was seen. Since ROBDDs are a key technology in various synthesis and verification tasks, our work can be of immediate use in all these applications.