On-the-fly Constraint Debugging in SoC Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Constrained random verification in system on chip designs faces inefficiencies due to complex constraints leading to simulation failures, debugging challenges, and delayed detection of constraint-related issues, which prolong the debug process and increase the risk of design failures.
Innovation Solution
A system and method for debugging constraints in a design simulation that allows pausing the simulation at breakpoints, executing a constraint solver, presenting static and dynamic constraint information, and modifying constraints on-the-fly without restarting the simulation, enabling users to debug and modify constraints interactively within the design verification environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If constrained random verification is used with complex constraints, then verification coverage is improved, but debug time and simulation setup time increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-compiling constraint information and generating constraint reports before simulation execution. The system compiles constraint data, identifies potential issues, and prepares diagnostic information in advance, so that when simulation failures occur, the debug process can immediately utilize pre-prepared constraint analysis results rather than starting analysis from scratch.
Solution Approach 2:
The patent introduces an intermediary constraint report that acts as a mediator between the complex constraint system and the debug process. This report contains pre-processed constraint information, variable relationships, and potential issue indicators, serving as an intermediate layer that simplifies the debugging task by presenting organized constraint data without requiring direct analysis of the complex original constraints.
2Manufacturing precision
If constraints are modified and re-compiled, then constraint accuracy is improved, but productivity decreases due to repeated compilation and re-execution
Solution Approach 1:
The system performs preliminary compilation of constraint information and stores it in a reusable format. When constraints need modification, the system can update specific constraint elements without requiring complete re-compilation of the entire verification environment, thus maintaining constraint accuracy while reducing the productivity impact of modifications.
Solution Approach 2:
The patent enables parameter changes by allowing dynamic modification of constraint parameters and variables without restructuring the entire constraint system. The constraint solver can accept modified parameter values and re-evaluate constraints efficiently, maintaining accuracy while minimizing the overhead associated with full re-compilation.
3Reliability
If constraint solver is called repeatedly to generate random stimuli, then stimulus quality is improved, but simulation performance deteriorates due to processing time
Solution Approach 1:
The system performs preliminary analysis of constraint relationships and pre-computes valid stimulus ranges before the constraint solver is called during simulation. This pre-processing creates a foundation that allows the constraint solver to operate more efficiently by working with pre-validated constraint data rather than analyzing raw constraints from scratch each time it is called.
Solution Approach 2:
The patent implements dynamics by allowing the constraint solving process to adapt its behavior based on simulation progress and detected patterns. The system can dynamically adjust constraint evaluation strategies, reuse previously computed constraint solutions when applicable, and modify solving approaches based on the current simulation state, thereby improving performance while maintaining stimulus quality.
4Difficulty of detecting and measuring
If manual analysis of constraint text information is performed, then problem detection is improved, but ease of operation decreases due to time-consuming processing
Solution Approach 1:
The patent introduces an automated constraint analysis system that acts as an intermediary between the complex constraint text and the user. This system automatically parses constraint information, identifies potential problems, generates diagnostic reports, and highlights issue locations, thereby maintaining strong problem detection capability while eliminating the need for manual text analysis and significantly improving ease of operation.
Solution Approach 2:
The constraint debugging system performs self-service by automatically analyzing constraint information, generating diagnostic reports, and identifying issues without requiring manual user intervention. The system compiles constraint data, detects inconsistencies, and presents findings in an organized manner, allowing users to benefit from advanced problem detection capabilities without the operational burden of manual analysis.
Data Source
AI summary
A design verification workstation contains both debug and constraint solver capabilities during simulation of a design under test. The design verification workstation is configured to allow the user to debug constraints, stop the constraint solver, navigate problems and variables, and make modifications on-the fly during the simulation to constraint information. Additionally, in some embodiments, the design verification workstation may allow a user to use a constraint solver to experiment if the modifications will lead to desired test stimulus. Since this debug process happens during simulation, users do not need to recompile the test case. Additionally, once a user is satisfied with the modifications made to the simulation, the modification could be saved for future usage.


