Circuit Verification Checkpointing Parallel Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Circuit design verification requires extensive testing with various stimuli, making it time-consuming due to the large number of possible inputs, necessitating a more efficient verification method.
Innovation Solution
The method involves creating a stimulus tree diagram with checkpointed and non-checkpointed splits, allowing for concurrent simulation and context saving to efficiently execute multiple paths, thereby reducing verification time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all possible stimuli are used to test the circuit design, then verification completeness is improved, but verification time increases significantly
Solution Approach 1:
The stimulus set is segmented into multiple groups that can be executed in parallel. The stimulus tree diagram divides the complete stimulus set into subsets that can be processed concurrently by multiple simulation environments, maintaining verification completeness while reducing total execution time.
Solution Approach 2:
Checkpoint contexts are saved in advance during stimulus execution. When a checkpoint is reached, the saved context allows the simulation to be resumed or forked into multiple parallel paths without re-executing previous stimulus sequences, enabling efficient parallel verification.
2Loss of time
If multiple simulation paths are executed in parallel, then verification time is reduced, but system complexity increases
Solution Approach 1:
Multiple simulation environments are created as copies of a base simulation environment. Each copy can execute independent stimulus paths concurrently. The checkpoint context saving mechanism allows these copies to be created and managed efficiently without duplicating the entire simulation infrastructure.
3Productivity
If checkpoint contexts are saved for parallel execution, then stimulus coverage efficiency is improved, but memory usage increases
Solution Approach 1:
Only the necessary checkpoint contexts are saved in memory - specifically, the simulation state at checkpoint boundaries. Non-essential simulation data is excluded from the saved contexts, reducing memory overhead while maintaining the ability to resume or fork simulations efficiently.
Data Source
AI summary
A design verification method, comprising providing a circuit design; creating a stimulus tree diagram for the circuit design, wherein the stimulus tree diagram comprises L stimuli, M checkpointed splits, and N non-checkpointed splits; and executing the stimulus tree diagram, wherein said executing the stimulus tree diagram comprises, for i=1, . . . , M, executing an ith checkpointed split of the M checkpointed splits, wherein said executing the ith checkpointed split comprises (a) saving an ith context of an ith simulation environment in which said executing the stimulus tree diagram is performed; and (b) after said saving the ith context is performed, executing from the ith context along Pi paths of the stimulus tree diagram branching from the ith checkpointed split, wherein the ith checkpointed split is a Pi-way split, Pi being an integer greater than 1.


