Title :
Bi-decomposing large Boolean functions via interpolation and satisfiability solving
Author :
Lee, Ruei-Rung ; Jiang, Jie-Hong R. ; Hung, Wei-Lun
Author_Institution :
Dept. of Electr. Eng., Nat. Taiwan Univ., Taipei
Abstract :
Boolean function bi-decomposition is a fundamental operation in logic synthesis. A function f(X) is bi-decomposable under a variable partition XA, XB, XC on X if it can be written as h(fA(XA, XC), fB(XB, XC)) for some functions h, Ja, and /#. The quality of a bi-decomposition is mainly determined by its variable partition. A preferred decomposition is disjoint, i.e. XC = Oslash, and balanced, i.e. |XA| ap |XB|. Finding such a good decomposition reduces communication and circuit complexity, and yields simple physical design solutions. Prior BDD-based methods may not be scalable to decompose large functions due to the memory explosion problem. Also as decomposability is checked under a fixed variable partition, searching a good or feasible partition may run through costly enumeration that requires separate and independent decomposability checkings. This paper proposes a solution to these difficulties using interpolation and incremental SAT solving. Preliminary experimental results show that the capacity of bi-decomposition can be scaled up substantially to handle large designs.
Keywords :
Boolean functions; computability; interpolation; Boolean function; bi-decomposition; circuit complexity; incremental SAT solving; interpolation; logic synthesis; satisfiability solving; variable partition; Algorithm design and analysis; Boolean functions; Circuits; Complexity theory; Data structures; Explosions; Interpolation; Logic design; Permission; Scalability; Craig interpolation; bi-decomposition; logic synthesis; satisfiability;
Conference_Titel :
Design Automation Conference, 2008. DAC 2008. 45th ACM/IEEE
Conference_Location :
Anaheim, CA
Print_ISBN :
978-1-60558-115-6