Adaptive Bug-Search Depth for IC Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of integrated circuit design verification leads to challenges in locating design flaws and inefficiencies in resource allocation, with existing techniques either suffering from limited coverage or scalability issues, necessitating a more adaptive approach to effectively find and triage bugs.
Innovation Solution
An adaptive semi-formal bug hunting method that adjusts search depth and coverage based on the native depth of the netlist, leveraging a combination of simulation and symbolic algorithms to automatically tailor the search for design flaws, avoiding unnecessary deep counterexamples while ensuring deep-enough exploration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed deep search depth is used to ensure deep bugs are found, then bug detection capability is improved, but resource overhead and verification time increase significantly
Solution Approach 1:
The patent implements dynamic search depth adjustment by monitoring coverage metrics during verification. The search depth is automatically increased when coverage stagnates (indicating potential deep bugs) and decreased when coverage progresses normally (avoiding unnecessary deep searches). This dynamic adaptation resolves the contradiction by making search depth flexible rather than fixed.
Solution Approach 2:
The system changes the search depth parameter based on observed verification progress and coverage metrics. By adjusting this critical parameter dynamically, the system optimizes the balance between detecting deep bugs and controlling verification time, directly addressing the technical contradiction.
2Productivity
If a fixed shallow search depth is used to reduce resource overhead, then verification efficiency is improved, but deep bugs remain undetected
Solution Approach 1:
The patent employs feedback mechanisms that monitor coverage metrics during verification and use this information to adjust search depth. When coverage stagnates, the system infers the presence of deep bugs and increases search depth, ensuring deep bugs are not missed while maintaining efficiency during normal verification progress.
Solution Approach 2:
The system performs preliminary verification at a standard depth first, then selectively increases depth only when coverage stagnation indicates potential deep bugs. This preliminary action approach avoids unnecessary deep searches while ensuring deep bugs are caught when relevant.
3Measurement precision
If manual configuration of search parameters is used to optimize verification, then verification precision is improved, but ease of operation deteriorates due to complexity
Solution Approach 1:
The patent implements self-service by automatically adjusting search parameters based on coverage metrics and verification progress. The system monitors its own performance and autonomously optimizes search depth without requiring manual intervention, thereby maintaining verification precision while dramatically simplifying operation.
Solution Approach 2:
The system introduces an intermediary automated parameter adjustment mechanism that translates coverage metrics into optimal search depth settings. This intermediary layer handles the complexity of parameter optimization, shielding users from complexity while maintaining precision.
Data Source
AI summary
Aspects of the present invention include methods, systems and computer program products. The method includes a processor providing a netlist indicative of connectivity and functional states of components of an integrated circuit design; iteratively searching through the netlist at a selected depth to locate errors within the netlist by a plurality of trials, each of the plurality of trials having a plurality of iterations; adaptively adjusting the selected depth depending on any errors within the netlist being located, the selected depth increasing over time from an initial value as between the plurality of iterations; and adaptively adjusting an amount of coverage of the netlist depending on any errors within the netlist being located, the amount of coverage of the netlist decreasing over time from an initial amount as between the plurality of iterations.


