Snapshot-Based DUT Initialization for Simulation Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current functional verification techniques for electronic designs are inefficient due to long initialization and shutdown routines during simulation, leading to limited throughput and long turnaround cycles, especially in system-level tests on large DUTs, and fail to allow new test code on restored snapshots, focusing only on DUT or test environment without synchronization.
Innovation Solution
A method and system for saving and restoring initialization actions on a DUT and its test environment, enabling the reuse of saved states for new tests by compiling and loading new test software, and using inter-process and inter-executable communication for synchronization, allowing users to run initialization once and reuse it for different tests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If initialization routine actions are executed during simulation to configure the DUT, then the DUT is properly configured for testing, but the simulation time increases significantly (2-3 hours)
Solution Approach 1:
The patent applies preliminary action by saving the DUT state after initialization routine actions are completed in a first simulation session. This pre-saved state can then be restored in subsequent simulation sessions, eliminating the need to re-execute time-consuming initialization routines while ensuring the DUT is properly configured from the start of each new test session.
2Loss of time
If a simulation state is saved after initialization to allow resuming, then initialization time is reduced for subsequent tests, but new test code cannot be loaded onto the restored snapshot
Solution Approach 1:
The patent uses copying by creating a restorable snapshot image of the DUT state that can be copied and restored in subsequent sessions. The system compiles new test code into this restored snapshot image, allowing new test scenarios to be executed on the restored state without re-running initialization, thus maintaining both time efficiency and test code adaptability.
3Device complexity
If existing verification techniques focus on only one aspect (DUT or test environment), then the verification process is simpler, but synchronization between DUT and testbench cannot be reestablished after restore
Solution Approach 1:
The patent merges the verification of both the DUT and the test environment by saving and restoring the state of the combined system. When a snapshot is restored, the system automatically reestablishes synchronization between the DUT and testbench, ensuring both components are in consistent states without requiring separate verification processes.
4Reliability
If system-level tests are executed on large DUTs with complete simulation, then comprehensive verification is achieved, but throughput is limited and turnaround cycle is long
Solution Approach 1:
The patent applies preliminary action by performing comprehensive initialization and configuration in a first simulation session, saving the resulting state. Subsequent simulation sessions can then quickly restore this pre-configured state and execute new tests without re-performing the comprehensive initialization, thereby maintaining verification comprehensiveness while significantly improving throughput and reducing turnaround cycles.
Data Source
AI summary
A computer implemented method may include executing a first simulation test for testing a device under test (DUT) and a corresponding test environment; saving a snapshot image of the DUT and of the corresponding test environment upon completion of initialization actions included in the first simulation test to configure the DUT; compiling a DUT part of a second simulation test into the saved snapshot image of the DUT to obtain a restore image for the DUT; loading the restore image of the DUT and restoring the snapshot image of the test environment; loading a test environment part of the second simulation test; and executing the second simulation test on the DUT and corresponding test environment.


