Coordinated Randomization for Functional Verification Coverage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for functional verification of circuit designs face challenges in generating stimuli that effectively cover rarely occurring functionality, leading to inefficient processing cycles and prolonged coverage closure.

Innovation Solution

A method that involves receiving a description of stimuli and a coverage model for a circuit design, where the processing device generates stimuli by randomizing variable values across multiple classes, with biased randomization to hit coverage targets based on context values from other variables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If random stimuli are generated using constraint-random verification, then coverage of common test cases is achieved efficiently, but coverage of rarely occurring test cases requires a disproportionate number of processing cycles

Engineering Contradiction:
Improvecoverage closure efficiencyVSAvoidprocessing cycles for rare test cases
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where coverage information from previously generated stimuli is fed back into the randomization process. The coverage model tracks which test cases have been exercised and uses this information to bias subsequent randomization, increasing the probability of exercising rarely occurring functionality while maintaining efficiency for common cases.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically changes the probability distribution parameters of random variables based on coverage feedback. By adjusting the bias parameters in the randomization process according to coverage targets, the system can shift from uniform random sampling to targeted sampling that prioritizes under-covered test cases without sacrificing overall verification efficiency.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If more stimuli are generated to cover rarely occurring functionality, then coverage closure is improved, but the time required for functional verification increases

Engineering Contradiction:
Improvecoverage closureVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of the coverage model to identify rarely occurring test cases before generating stimuli. By pre-characterizing the coverage landscape and identifying hard-to-reach test cases, the verification process can prioritize these cases from the beginning, avoiding the need to generate large numbers of stimuli blindly to achieve coverage closure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The coverage model provides continuous feedback during the verification process, allowing the system to adaptively adjust the stimulus generation strategy. This feedback loop enables the verification process to focus computational resources on achieving coverage closure efficiently by identifying and targeting remaining coverage gaps without generating excessive unnecessary stimuli.

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If random variables are randomized independently in separate classes, then the verification process is simpler to implement, but coverage targets that depend on multiple classes are hit less frequently

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcoverage target hit frequency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges the randomization of variables across multiple classes by introducing coordination mechanisms that consider inter-class dependencies. The coverage model identifies relationships between variables in different classes and coordinates their randomization to increase the frequency of hitting coverage targets that depend on combinations of variables from multiple classes, while maintaining modular implementation structure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250068812A1Improving coverage in functional verification by coordinated randomization of variables across multiple classes
Publication Date: 2025.02.27 SYNOPSYS INC
  • US20250068812A1 patent drawing
  • US20250068812A1 patent drawing
  • US20250068812A1 patent drawing

AI summary

A description of stimuli used for functional verification of a circuit design is received. The description includes classes of variables and the variable include random variables. A coverage model for the functional verification of the circuit design is also received. The coverage model includes coverage targets that are functions of the variables. A processing device generates stimuli for multiple iterations of the functional verification, as follows. Context values, which include values of the random variables for the stimuli, are maintained. The values of the random variables in an individual class are randomized, and the randomization of the random variables in the individual class is biased to hit the coverage targets given the context values for the random variables outside the individual class. Whether the coverage targets are hit by the generated stimuli is determined.