Arbitrary Expression Analysis for Functional Coverage Models
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
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
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
Data Source
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.


