Automated Functional Verification Goal Generation from Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing testbench systems for integrated circuit (IC) chip design require manual specification of constraints and goals for simulation, which can lead to incomplete coverage of events of interest, as there is no guarantee that randomly generated test vectors will reach all desired events, even with infinite simulation duration.

Innovation Solution

A computer program automatically generates goals for functional verification by applying predetermined rules to user-specified constraints, converting them into templates that identify signals and their target values, and using these to measure coverage during simulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual specification of goals is used, then coverage measurement can be performed, but the process is time-consuming and prone to incomplete coverage

Engineering Contradiction:
Improvecoverage measurement accuracyVSAvoidtime for goal specification
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by automatically generating coverage goals from constraint specifications before simulation begins. The goal generation process uses the already-written constraints to create comprehensive goal sets, eliminating the need for separate manual goal specification and ensuring complete coverage measurement capability is established in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service by allowing the constraint specification to automatically generate the corresponding coverage goals. The constraints themselves contain sufficient information to derive goals, so the system serves itself by extracting goals from existing constraints without requiring additional manual intervention or separate goal writing processes.

Inventive Principle:
Principle #25Self-service

2Productivity

If random test vectors are generated, then simulation can proceed, but there is no guarantee that all events of interest will be covered

Engineering Contradiction:
Improvesimulation throughputVSAvoidcoverage completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by using coverage goals derived from constraints to monitor and measure whether simulated test vectors actually achieve the desired coverage. This feedback mechanism allows verification that random testing is effectively covering all constrained events, providing confidence that productivity gains from random testing do not sacrifice coverage completeness.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by generating comprehensive coverage goals from constraints before simulation starts. This ensures that all events of interest are identified in advance, allowing the random test generation to be guided toward achieving complete coverage of these predetermined goals, thus guaranteeing coverage completeness while maintaining simulation productivity.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If more goals are manually specified, then coverage coverage is improved, but the complexity of testbench increases

Engineering Contradiction:
Improvecoverage measurement accuracyVSAvoidtestbench complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system enables self-service by automatically generating comprehensive goal sets from the constraint specifications that users already write. Since constraints are necessary for test generation anyway, extracting goals from these existing constraints provides complete coverage measurement capability without adding separate goal specification processes or increasing testbench complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system applies universality by making the constraint specification serve dual purposes: both guiding test vector generation and defining coverage goals. This multi-functionality eliminates the need for separate goal writing, as the same constraint language simultaneously controls testing and measurement, thereby improving coverage measurement accuracy without increasing testbench complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7904846B2Method for automatically extracting a functional coverage model from a constraint specification
Publication Date: 2011.03.08 SYNOPSYS INC
  • US7904846B2 patent drawing
  • US7904846B2 patent drawing
  • US7904846B2 patent drawing

AI summary

A computer is programmed to automatically generate in memory, goals for functional verification of a design of a circuit by use of constraints that are specified in the normal manner. Specifically, a predetermined set of rules are automatically applied to the constraints, on random values for signals to be input to the circuit during simulation of the design. Application of the rules identifies one or more templates of goal(s) to be met. The computer is programmed to automatically use constraint(s) and template(s) to instantiate goal(s) in memory. Each goal identifies a signal to be input to the circuit, and defines a counter for a value of the signal. The goals are used in the normal manner, i.e. used to measure coverage of functional verification during simulation of the design of the circuit.