Partitioned ROBDDs - A Compact, Canonical and Efficiently Manipulable Representation for Boolean Functions


Abstract

We present a new representation for Boolean functions called Partitioned-ROBDDs. In this representation we divide the Boolean space into `k' partitions and represent a function over each partition as a separate ROBDD. We show that partitioned-ROBDDs are canonical and can be efficiently manipulated. Further, they can be exponentially more compact than monolithic ROBDDs and even Free BDDs. Moreover, at any given time, only one partition needs to be manipulated which further increases the space efficiency.

In addition to showing the utility of partitioned-ROBDDs on special classes of functions, we provide automatic techniques for their construction. We show that for large circuits our techniques are more efficient in space as well as time over monolithic ROBDDs. Using these techniques, some complex industrial circuits could be verified for the first time.


For comments contact anarayan@ic.eecs.berkeley.edu