Functional Verification Bucketization for Faster Coverage Closure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent simulations in functional verification often overlap in targeting the same uncovered functional coverage space, leading to reduced coverage convergence and inefficient use of computing resources.

Innovation Solution

Implement a bucketization scheme that segregates bins of the functional coverage space into distinct buckets, assigning each simulation to target a unique bucket until full coverage is achieved, and iteratively expand the bucket to include additional bins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple concurrent simulations target the same uncovered functional coverage space, then the simulations can be executed in parallel, but the coverage convergence rate decreases due to overlap

Engineering Contradiction:
Improvecoverage convergence rateVSAvoidcomputing resource efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The functional coverage space is segmented into multiple distinct buckets, where each concurrent simulation is assigned to target a specific bucket. This segmentation eliminates overlap between simulations, ensuring that each simulation contributes uniquely to coverage closure while maintaining parallel execution efficiency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the functional coverage space is divided into multiple buckets with unique ID numbers, then overlap among concurrent simulations is reduced, but the system complexity increases

Engineering Contradiction:
Improvecoverage closure speedVSAvoidbucketization scheme complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically manages the bucketization scheme through self-service mechanisms. The coverage manager autonomously assigns simulations to buckets, tracks coverage progress, and dynamically adjusts assignments without requiring manual intervention, thereby reducing the operational complexity despite the structural division.

Inventive Principle:
Principle #25Self-service

3Productivity

If each simulation is assigned a unique bucket to target, then coverage overlap is minimized, but the adaptability to dynamic coverage requirements decreases

Engineering Contradiction:
Improveregression throughputVSAvoidflexibility to coverage changes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The bucketization scheme implements dynamic adaptability where simulation-to-bucket assignments can be adjusted based on coverage progress. As simulations complete their assigned buckets, the system dynamically reassigns them to new buckets, allowing the system to adapt to changing coverage requirements while maintaining high regression throughput.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250322129A1Bucketization scheme for functional verification
Publication Date: 2025.10.16 SYNOPSYS INC
  • US20250322129A1 patent drawing
  • US20250322129A1 patent drawing
  • US20250322129A1 patent drawing

AI summary

An example is a non-transitory computer-readable storage medium including stored instructions. The instructions, which when executed by one or more processors, cause the one or more processors to: obtain an assignment of an assigned bucket; generate stimulus values targeting one or more uncovered bins of the assigned bucket; simulate operation of a circuit design using the stimulus values; determine whether the assigned bucket has been covered by the simulated operation of the circuit design; and expand a size of the assigned bucket following a determination that the assigned bucket has been covered. The assigned bucket, as assigned, has a subset of bins of a functional coverage space.