Reduced Ordered Binary Decision Diagrams (ROBDDs) have traditionally been built in a bottom-up fashion, through the recursive use of Bryant's apply procedure [4], or the ITE [2] procedure. With these methods, the intermediate peak memory utilization is often larger than the final ROBDD size. This peak memory requirement limits the complexity of the circuits which can be processed using ROBDDs. Recently it was shown in [9] that for a large number of applications, the peak memory requirement can be substantially reduced by a suitable combination of bottom-up (decomposition based) and top-down (composition based) approaches of building ROBDDs. This approach consists of selecting suitable decomposition points during the construction of the ROBDD using the apply procedure, followed by a symbolic composition to obtain the final ROBDD. In this paper, we focus on the composition process. We detail four heuristic algorithms for finding good composition orders, and compare their utility on a set of standard benchmark circuits. Our schemes offer a matrix of time-memory tradeoff points.




Download Full History