FSM State Coverage via SAT Solver Constrained Random Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Constrained random simulation methods face challenges in ensuring comprehensive coverage of finite state machine (FSM) states, often missing scarce states and leading to incomplete design verification due to procedural and enumerative testbench approaches.

Innovation Solution

The method employs a generalized next-state-directed constrained random simulation by unrolling a finite state machine, where each step except the final is constrained by a first Boolean random circuit defining generalized cycles, and the final step by a second Boolean random circuit, using a SAT solver to obtain and generalize initial states and check property satisfaction, thereby increasing the probability of hitting scarce states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If procedural and enumerative testbench approaches are used for constrained random simulation, then the simulation process is simple to implement, but the coverage of FSM states is incomplete and scarce states are missed

Engineering Contradiction:
ImproveFSM state coverageVSAvoidsimulation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a SAT solver as an intermediary component between the testbench and the DUT. The SAT solver receives constraints from the testbench and generates random stimuli that satisfy these constraints, thereby achieving comprehensive FSM state coverage without requiring complex procedural enumeration. This intermediary resolves the contradiction by providing automated constraint-based randomization that improves reliability while managing complexity through modular architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter space by using Boolean random circuits to generate diverse random seeds and control stimulus generation. Instead of fixed procedural sequences, the system varies parameters such as random seed values, constraint configurations, and stimulus patterns to systematically explore the FSM state space. This parameter-based approach ensures complete state coverage including scarce states while maintaining simulation simplicity through automated parameter management.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If random seed values are used for reproduction of failures, then the same failure can be reproduced consistently, but different seed values may lead to different results reducing verification coverage

Engineering Contradiction:
Improvefailure reproduction consistencyVSAvoidverification coverage
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic seed selection where the random seed is not fixed but adaptively chosen based on constraint satisfaction requirements. The SAT solver dynamically adjusts seed values during simulation to explore different FSM states while maintaining the ability to reproduce specific failures when needed. This dynamic approach resolves the contradiction by allowing both consistent failure reproduction (when a specific seed is identified) and broad verification coverage (through systematic exploration with multiple seeds).

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where simulation results feed back into the SAT solver to refine constraint formulations and seed selections. When a failure is detected, the feedback loop enables targeted reproduction by identifying the specific seed and constraint configuration that led to the failure. Simultaneously, the feedback drives exploration of unvisited states by adjusting parameters for subsequent simulation runs, thereby achieving both reproduction consistency and comprehensive coverage.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive FSM state coverage is achieved through systematic exploration, then all states including scarce states are visited, but the simulation time and computational resources increase significantly

Engineering Contradiction:
Improvestate coverage completenessVSAvoidsimulation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of the FSM structure to identify state coverage requirements and critical paths before actual simulation begins. The SAT solver is pre-configured with constraints that target hard-to-reach states based on static analysis of the state transition graph. This preliminary preparation enables the simulation to efficiently visit all necessary states including scarce ones without requiring exhaustive exploration of every possible state transition, thereby reducing simulation time while maintaining complete coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements partial unrolling of the FSM where only the necessary number of time steps are simulated to achieve coverage of all reachable states. Instead of simulating excessive iterations that would waste computational resources, the SAT solver determines the minimal simulation depth required based on the FSM structure and constraint analysis. This partial action approach achieves complete state coverage with optimal simulation time by avoiding redundant explorations beyond what is necessary.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10007746B1Method and system for generalized next-state-directed constrained random simulation
Publication Date: 2018.06.26 CADENCE DESIGN SYST INC
  • US10007746B1 patent drawing
  • US10007746B1 patent drawing
  • US10007746B1 patent drawing

AI summary

A system and method for generalized next-state-directed constrained random simulation may include obtaining an initial state for a finite state machine (FSM) constrained by a first Boolean random circuit; and unrolling the FSM, wherein each step of steps of the unrolling, except for a final step, is constrained by the first Boolean random circuit that defines a set of generalized cycles, and wherein the final step is constrained by a second Boolean random circuit.