Co-simulation Snapshot Restart for IC Design
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current co-simulation platforms for integrated circuit designs do not support the ability to halt and resume simulation at a checkpoint, leading to the need to restart simulation from the beginning each time processing is halted.
Innovation Solution
The method involves saving and restarting co-simulation of integrated circuit designs from a co-simulation snapshot, using a co-simulation communicator process to coordinate the execution of cycle-based and event-based simulators, allowing for restart from specific checkpoints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If simulation processing is halted at a checkpoint, then processing can be paused for later resumption, but currently available co-simulation platforms require the simulation to be restarted from the beginning each time it is halted
Solution Approach 1:
The system performs preliminary actions by saving the simulation state (checkpoint) at specific points during co-simulation execution. This allows the simulation to be halted and later restarted from the saved checkpoint rather than beginning anew, thereby reducing time loss while maintaining operational simplicity.
Solution Approach 2:
The system creates a copy of the simulation state at checkpoints during co-simulation. This copied state is stored and enables resumption of the simulation from the checkpoint without requiring a full restart, thus addressing both time efficiency and ease of operation.
2Adaptability or versatility
If multiple diverse simulators are coordinated for co-simulation, then compatibility across different hardware models is improved, but the complexity of coordinating and managing multiple simulators increases
Solution Approach 1:
The system introduces an intermediary mechanism (the co-simulation platform with checkpoint management) that coordinates between multiple diverse simulators. This intermediary handles the complexity of synchronization and state management, allowing different simulators to work together while keeping the coordination logic centralized and manageable.
Solution Approach 2:
The co-simulation process is segmented into discrete checkpoints that can be independently saved and restored. This segmentation allows each simulator to progress through the simulation in manageable segments rather than requiring continuous coordinated execution, reducing the overall coordination complexity while maintaining versatility.
Data Source
AI summary
Co-simulation of an integrated circuit design is restarted from a co-simulation snapshot. Execution of a respective co-simulation communicator (CC) process for each of a main co-simulation unit, a first client co-simulation unit, and a second client co-simulation unit is initiated. A first child process is forked from the CC process of the first client co-simulation unit, and a second child process is forked from the CC process of the second client co-simulation unit. Via inter-process communication from the CC process of the main co-simulation unit to the CC process of each of the first and second client co-simulation units, coordinated execution of a cycle-based simulator by the first child process and execution of an event-based simulator by the second child process is restarted. Execution of the cycle-based simulator is restarted from a cycle-based simulation checkpoint, and execution of the event-based simulator is restarted from an event-based simulation snapshot.


