Arbitrary Expression Analysis for Functional Coverage Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional EDA systems face inefficiencies in functional coverage analysis due to the inability to effectively handle arbitrary expressions for irrelevant domain definitions in coverage items, leading to performance issues and heuristic errors.

Innovation Solution

A verification tool that supports the use of arbitrary expressions to define irrelevant domains for coverage items, determining analyzability conditions to ensure the expressions do not create side effects and provide consistent results, allowing for enhanced coverage models that exclude irrelevant domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If arbitrary expressions are used to define irrelevant domains for coverage items, then the flexibility and readability of coverage model definitions are improved, but the computational complexity and resource requirements increase significantly

Engineering Contradiction:
Improveflexibility of coverage model definitionsVSAvoidcomputational resources required
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary analysis of arbitrary expressions to determine analyzability conditions before executing coverage bucketing. By pre-evaluating whether expressions can be statically analyzed and pre-computing irrelevant domains where possible, the system avoids expensive runtime evaluations during coverage analysis, thus resolving the contradiction between flexibility and computational cost

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces parameters such as analyzability conditions and gradient thresholds that allow the coverage engine to adapt its behavior based on expression characteristics. By changing parameters like the number of gradient evaluations and analyzability criteria, the system can balance between using arbitrary expressions for flexibility and controlling computational resource consumption

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If arbitrary expressions are evaluated as black boxes for each coverage bucket value, then the coverage model can handle complex domain definitions, but the performance deteriorates due to extensive computational resources required

Engineering Contradiction:
Improvecapability to handle complex domain definitionsVSAvoidperformance of coverage analysis
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the brute-force mechanical evaluation of arbitrary expressions for each coverage bucket value with a symbolic analysis mechanism. By substituting runtime evaluation with compile-time or preprocessing analysis, the system can handle complex domain definitions without the performance penalty of exhaustive evaluation, thus resolving the contradiction between adaptability and productivity

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary determination of analyzability conditions and pre-computation of irrelevant domains before the actual coverage bucketing process. This preliminary action allows the system to identify expressions that can be statically analyzed and handle them efficiently, avoiding the need for expensive runtime evaluations during coverage analysis

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If limited number of coverage buckets are used, then the coverage model becomes more manageable, but heuristic errors increase when using black box approach to identify relevant values

Engineering Contradiction:
Improvemanageability of coverage modelVSAvoidaccuracy of coverage analysis
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces feedback mechanisms where the coverage engine evaluates analyzability conditions and adjusts its strategy based on expression characteristics. By using feedback from preliminary analysis to determine whether to use symbolic methods or fallback to heuristic approaches, the system maintains reliability while managing complexity, thus resolving the contradiction between device complexity and reliability

Inventive Principle:
Principle #23Feedback

4Measurement precision

If explicit domain syntax is used to exclude irrelevant domains, then the coverage model accuracy is improved, but the ease of maintenance deteriorates due to manual computation requirements

Engineering Contradiction:
Improveaccuracy of coverage modelVSAvoidease of maintenance of code
Core Design Contradiction:
Measurement precisionVSEase of repair

Solution Approach 1:

The patent enables the coverage model to automatically analyze arbitrary expressions and determine irrelevant domains without requiring manual intervention. By making the system self-service through automated symbolic analysis and analyzability determination, it achieves both high accuracy in coverage modeling and ease of maintenance, as users can write readable expressions without manually computing domains

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10885252B1Coverage model enhancement to support logic and arithmetic expressions
Publication Date: 2021.01.05 CADENCE DESIGN SYST INC
  • US10885252B1 patent drawing
  • US10885252B1 patent drawing
  • US10885252B1 patent drawing

AI summary

Aspects of the present disclosure address systems and methods for functional coverage in integrated circuit (IC) designs utilizing arbitrary expression to define irrelevant domains in coverage item definitions. A coverage item definition is determined to include an arbitrary expression that defines an irrelevant domain for a coverage item in a functional coverage analysis of an IC design. Based on determining if the item definition comprises the arbitrary expression, a verification the arbitrary expression satisfies one or more analyzability conditions is performed. Based on verifying the arbitrary expression satisfies the one or more analyzability conditions, the irrelevant domain for the coverage item is calculated based on the arbitrary expression. An enhanced functional coverage model that excludes the irrelevant domain for the coverage item is generated and used to perform the functional coverage analysis on the IC design.