1,802 research outputs found
Boolean Satisfiability in Electronic Design Automation
Boolean Satisfiability (SAT) is often used as the underlying model for a significant and increasing number of applications in Electronic Design Automation (EDA) as well as in many other fields of Computer Science and Engineering. In recent years, new and efficient algorithms for SAT have been developed, allowing much larger problem instances to be solved. SAT “packages” are currently expected to have an impact on EDA applications similar to that of BDD packages since their introduction more than a decade ago. This tutorial paper is aimed at introducing the EDA professional to the Boolean satisfiability problem. Specifically, we highlight the use of SAT models to formulate a number of EDA problems in such diverse areas as test pattern generation, circuit delay computation, logic optimization, combinational equivalence checking, bounded model checking and functional test vector generation, among others. In addition, we provide an overview of the algorithmic techniques commonly used for solving SAT, including those that have seen widespread use in specific EDA applications. We categorize these algorithmic techniques, indicating which have been shown to be best suited for which tasks
A Generic Framework for Implicate Generation Modulo Theories
International audienceThe clausal logical consequences of a formula are called its implicates. The generation of these implicates has several applications, such as the identification of missing hypotheses in a logical specification. We present a procedure that generates the implicates of a quantifier-free formula modulo a theory. No assumption is made on the considered theory, other than the existence of a decision procedure. The algorithm has been implemented (using the solvers MiniSAT, CVC4 and Z3) and experimental results show evidence of the practical relevance of the proposed approach
Search Through Systematic Set Enumeration
In many problem domains, solutions take the form of unordered sets. We present the Set-Enumerations (SE)-tree - a vehicle for representing sets and/or enumerating them in a best-first fashion. We demonstrate its usefulness as the basis for a unifying search-based framework for domains where minimal (maximal) elements of a power set are targeted, where minimal (maximal) partial instantiations of a set of variables are sought, or where a composite decision is not dependent on the order in which its primitive component-decisions are taken. Particular instantiations of SE-tree-based algorithms for some AI problem domains are used to demonstrate the general features of the approach. These algorithms are compared theoretically and empirically with current algorithms
On generating the irredundant conjunctive and disjunctive normal forms of monotone Boolean functions
AbstractLet f:{0,1}n→{0,1} be a monotone Boolean function whose value at any point x∈{0,1}n can be determined in time t. Denote by c=⋀I∈C⋁i∈Ixi the irredundant CNF of f, where C is the set of the prime implicates of f. Similarly, let d=⋁J∈D⋀j∈Jxj be the irredundant DNF of the same function, where D is the set of the prime implicants of f. We show that given subsets C′⊆C and D′⊆D such that (C′,D′)≠(C,D), a new term in (C⧹C′)∪(D⧹D′) can be found in time O(n(t+n))+mo(logm), where m=|C′|+|D′|. In particular, if f(x) can be evaluated for every x∈{0,1}n in polynomial time, then the forms c and d can be jointly generated in incremental quasi-polynomial time. On the other hand, even for the class of ∧,∨-formulae f of depth 2, i.e., for CNFs or DNFs, it is unlikely that uniform sampling from within the set of the prime implicates and implicants of f can be carried out in time bounded by a quasi-polynomial 2polylog(·) in the input size of f. We also show that for some classes of polynomial-time computable monotone Boolean functions it is NP-hard to test either of the conditions D′=D or C′=C. This provides evidence that for each of these classes neither conjunctive nor disjunctive irredundant normal forms can be generated in total (or incremental) quasi-polynomial time. Such classes of monotone Boolean functions naturally arise in game theory, networks and relay contact circuits, convex programming, and include a subset of ∧,∨-formulae of depth 3
Fast subsumption checks using anti-links
The concept of "anti-link" is defined, and useful
equivalence-preserving operations based on anti-links are
introduced.These operations eliminate a potentially large number
of subsumed paths in a negation normal form formula.Those
anti-links that directly indicate the presence of subsumed paths
are characterized. The operations have linear time complexity in
the size of that part of the formula containing the anti-link.
The problem of removing all subsumed paths in an NNF formula is
shown to be NP-hard, even though such formulas may be small
relative to the size of their path sets. The general problem of
determining whether there exists a pair of subsumed paths
associated with an arbitrary anti-link is shown to be NP-complete.
Additional techniques based on "strictly pure full blocks" are
introduced and are also shown to eliminate redundant subsumption
checks. The effectiveness of these techniques is examined with
respect to some benchmark examples from the literature
- …