• DocumentCode
    936183
  • Title

    A divide-and-conquer-based algorithm for automatic simulation vector generation

  • Author

    Yen, Chia-Chih ; Jou, Jing-Yang ; Chen, Kuang-Chien

  • Author_Institution
    Nat. Chiao Tung Univ., Hsinchu, Taiwan
  • Volume
    21
  • Issue
    2
  • fYear
    2004
  • Firstpage
    111
  • Lastpage
    120
  • Abstract
    Testbenches play one of the most important roles in simulation-based design verification. Given a simulation scenario, a testbench provides specific vectors to simulate the design, then collects responses from the design to monitor whether the simulation has satisfied the scenario. The major bottleneck in writing testbenches is generating valid simulation vectors. Many current automatic-vector-generation methods focus on exploring a design´s state space. Due to memory or runtime limitations, these methods cannot keep up with the rapid growth of design complexity. We propose a novel algorithm based on the divide-and-conquer paradigm that helps these methods decompose the design´s complexity. The algorithm uses a partitioning method that recursively divides a design into smaller, more manageable components. Other approaches handle the divided components while maintaining the entire design´s proper functioning. Random simulation generates sets of simulation vectors by randomly assigning the logic values to the design´s primary inputs (Pis) one cycle at a time. Unlike random simulation, which uses only a single trace, symbolic solvers attempt to simultaneously enumerate all possible primary inputs to explore the entire state space. They typically use binary decision diagrams (BDDs) or satisfiability (SAT) solvers as their core engine.
  • Keywords
    automatic test pattern generation; binary decision diagrams; computability; computational complexity; divide and conquer methods; formal verification; simulation; automatic simulation vector generation; binary decision diagrams; design complexity; divide-and-conquer-based algorithm; random simulation; satisfiability; simulation-based design verification; testbenches; Algorithm design and analysis; Boolean functions; Data structures; Design methodology; Monitoring; Partitioning algorithms; Runtime; State-space methods; Testing; Writing;
  • fLanguage
    English
  • Journal_Title
    Design & Test of Computers, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7475
  • Type

    jour

  • DOI
    10.1109/MDT.2004.1277903
  • Filename
    1277903