Constraint Random Testbench Replay for Rare Event Reproducibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge in hardware design verification is the difficulty in reproducing rare events or observations, such as design flaws and bugs, after modifications are made to the constraint random testbench, leading to increased simulation runs and extended debugging cycles.
Innovation Solution
An intelligent simulation re-player (ISR) is implemented to reproduce events of interest by matching stimulus values during simulation with a modified testbench, using multi-level matching (MLM) to maintain reproducibility and reduce the need for additional simulation runs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If constraint random testbench modifications are made to improve verification coverage, then verification completeness is improved, but reproducibility of rare events deteriorates
Solution Approach 1:
The system performs preliminary recording of constraint problem attributes and stimulus values during the first simulation run before modifications are made to the testbench. This preliminary action preserves the exact conditions that produced rare events, enabling reproduction even after testbench changes.
Solution Approach 2:
The system creates a copy of the constraint problem attributes and stimulus values from the first simulation run. This copy is then used during the second simulation run with modified testbench to reproduce the exact same rare events without needing to re-execute the original simulation conditions.
2Difficulty of detecting and measuring
If multiple simulation runs are performed to reproduce rare events, then event detection capability is improved, but time consumption increases
Solution Approach 1:
The system performs preliminary recording of constraint problem attributes and stimulus values during the first simulation run before modifications are made to the testbench. This preliminary action preserves the exact conditions that produced rare events, enabling reproduction even after testbench changes.
Solution Approach 2:
The system creates a copy of the constraint problem attributes and stimulus values from the first simulation run. This copy is then used during the second simulation run with modified testbench to reproduce the exact same rare events without needing to re-execute the original simulation conditions.
3Measurement precision
If additional simulation runs are conducted to verify modifications, then verification accuracy is improved, but computing resource consumption increases
Solution Approach 1:
The system creates a copy of the constraint problem attributes and stimulus values from the first simulation run. This copy is then used during the second simulation run with modified testbench to reproduce the exact same rare events without needing to re-execute the original simulation conditions.
Solution Approach 2:
The system changes the approach from re-running simulations to using recorded parameter copies. By preserving and reusing constraint problem attributes and stimulus values, the system maintains verification accuracy without the computational cost of multiple simulation runs.
Data Source
AI summary
In an example, a pre-solution state and other attributes of each constraint problem (CP) in a first series of constraint problems (CPs) solved by a constraint solver are recorded during a first simulation run with a first testbench. The recorded attributes are mapped to at least one key value set of a plurality of key value sets. Each key value set uses a different level of generalization to represent the recorded attributes. A matching CP from the first series is determined for each CP in a second series of CPs to be solved during a second simulation run with a second testbench. The matching CP is mapped to a key value set that uses a lower level of generalization to represent the matching CP's recorded attributes relative to other key value sets. A pre-solution state of each CP in the second series is set to that of the matching CP.


