Scalable exploration of functional dependency by interpolation and incremental SAT solving

  • Authors:
  • Chih-Chun Lee;Jie-Hong R. Jiang;Chung-Yang (Ric) Huang;Alan Mishchenko

  • Affiliations:
  • National Taiwan University, Taipei, Taiwan;National Taiwan University, Taipei, Taiwan;National Taiwan University, Taipei, Taiwan;University of California, Berkeley, CA

  • Venue:
  • Proceedings of the 2007 IEEE/ACM international conference on Computer-aided design
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional dependency is concerned with rewriting a Boolean function f as a function h over a set of base functions {g1, ..., gn}, i.e. f = h(g1, ..., gn). It plays an important role in many aspects of electronic design automation (EDA), ranging from logic synthesis to formal verification. Prior approaches to the exploration of functional dependency are based on binary decision diagrams (BDDs), which may not be easily scalable to large designs. This paper proposes a novel reformulation that extensively exploits the capability of modern satisfiability (SAT) solvers. Thereby, functional dependency is detected effectively through incremental SAT solving, and the dependency function h, if it exists, is obtained through Craig interpolation. The main strengths of the proposed approach include: (1) fast detection of functional dependency with modest memory consumption and thus scalable to large designs, (2) a full capacity to handle a large set of base functions and thus discovering dependency whenever exists, and (3) potential application to large-scale logic optimization and verification reduction. Experimental results show the proposed method is far superior to prior work and scales well in dealing with the largest ISCAS89 and ITC99 benchmark circuits with up to 200K gates.