7 research outputs found

    Fault models and test generation for hardware-software covalidation

    Full text link

    An Esterel compiler for large control-dominated systems

    Full text link

    Sampling Techniques for Boolean Satisfiability

    Full text link
    Boolean satisfiability ({\SAT}) has played a key role in diverse areas spanning testing, formal verification, planning, optimization, inferencing and the like. Apart from the classical problem of checking boolean satisfiability, the problems of generating satisfying uniformly at random, and of counting the total number of satisfying assignments have also attracted significant theoretical and practical interest over the years. Prior work offered heuristic approaches with very weak or no guarantee of performance, and theoretical approaches with proven guarantees, but poor performance in practice. We propose a novel approach based on limited-independence hashing that allows us to design algorithms for both problems, with strong theoretical guarantees and scalability extending to thousands of variables. Based on this approach, we present two practical algorithms, {\UniformWitness}: a near uniform generator and {\approxMC}: the first scalable approximate model counter, along with reference implementations. Our algorithms work by issuing polynomial calls to {\SAT} solver. We demonstrate scalability of our algorithms over a large set of benchmarks arising from different application domains.Comment: MS Thesis submitted to Rice Universit

    Modeling design constraints and biasing in simulation using BDDs

    No full text

    Modeling Design Constraints and Biasing in Simulation Using BDDs

    No full text
    Constraining and input biasing are frequently used techniques in functional verification methodologies based on randomized simulation generation. Constraints confine the simulation to a legal input space, while input biasing, which can be considered as a probabilistic constraint, makes it easier to cover interesting “corner ” cases. In this paper, we propose to use constraints and biasing to form a simulation environment instead of using an explicit testbench in hierarchical functional verification. Both constraints and input biasing can depend on the state of the design and thus are very expressive in modeling the environment. We present a novel method that unifies the handling of constraints and biasing via the use of Binary Decision Diagrams (BDDs). The distribution of input vectors under the effect of constraints and input biasing are determined by what we refer to as the constrained probabilities. A BDD representing the constraints is first built, then an algorithm is applied to bias the branching probabilities in the BDD. During simulation, this annotated BDD is used to generate input vectors whose distribution match their predetermined constrained probabilities. The simulation generation is a one-pass process, i.e., no backtracking or retry is needed. Also, we describe a partitioning method to minimize the size of BDDs used in simulation generation. Our techniques were used in the verification of a set of commercial designs; experimental results demonstrated their effectiveness.

    Modeling Design Constraints and Biasing in Simulation Using BDDs

    No full text
    this paper we provide an alternative approach to environment modeling --- we introduce a tool, SimGen, and an associated methodology which employs user-specified constraints to model the interaction between the design and its environment. Constraints are Boolean formulas involving the design signals. Note that because they can depend on state variables, they are dynamic. As an example, we have employed the following constraint in the course of using SimGen in the verification of a bus interface unit
    corecore