Title :
An efficient manipulation package for Biconditional Binary Decision Diagrams
Author :
Amaru, Luca ; Gaillardon, Pierre-Emmanuel ; De Micheli, G.
Author_Institution :
Integrated Syst. Lab. (LSI), EPFL, Lausanne, Switzerland
Abstract :
Biconditional Binary Decision Diagrams (BBDDs) are a novel class of binary decision diagrams where the branching condition, and its associated logic expansion, is biconditional on two variables. Reduced and ordered BBDDs are remarkably compact and unique for a given Boolean function. In order to exploit BBDDs in Electronic Design Automation (EDA) applications, efficient manipulation algorithms must be developed and integrated in a software package. In this paper, we present the theory for efficient BBDD manipulation and its practical software implementation. The key features of the proposed approach are strong canonical form pre-conditioning of stored BBDD nodes, recursive formulation of Boolean operations in terms of biconditional expansions, performance-oriented memory management and dedicated BBDD re-ordering techniques. Experimental results show that the developed BBDD package achieves an average node count reduction of 19.48% and a speed-up factor of 1.63x with respect to a state-of-art decision diagram manipulation package. Employed in the synthesis of datapath circuits, the BBDD manipulation package is capable to advantageously restructure arithmetic operations producing 11.02% smaller and 32.29% faster circuits as compared to a commercial synthesis flow.
Keywords :
Boolean functions; binary decision diagrams; electronic design automation; software packages; storage management; Boolean function; EDA; biconditional binary decision diagram; biconditional logic expansion; commercial synthesis flow; datapath circuit synthesis; dedicated BBDD reordering technique; efficient manipulation package algorithm; electronic design automation; performance-oriented memory management; practical software implementation; recursive formulation; software package; strong canonical form pre-conditioning; Benchmark testing; Boolean functions; Data structures; Memory management; Software algorithms; Software packages;
Conference_Titel :
Design, Automation and Test in Europe Conference and Exhibition (DATE), 2014
Conference_Location :
Dresden
DOI :
10.7873/DATE.2014.309