Distributed Circuit Simulation Synchronization via Phase Boundaries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current synchronization processes in distributed circuit design simulations often lead to incorrect functionality determination due to under or over synchronization, increasing processing time and power requirements, and can result in non-deterministic outcomes due to timing differences between simulations.
Innovation Solution
A synchronization method that allows simulations to run asynchronously for most of the time, synchronizing only at the completion of common phases or based on a primary clock signal, ensuring deterministic results by maintaining a common synchronization clock across simulations and using wait commands in testbenches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If simulations are synchronized frequently to ensure deterministic results, then reliability is improved, but processing time and power consumption increase
Solution Approach 1:
The patent implements periodic synchronization at phase boundaries rather than continuous synchronization. Simulations run asynchronously during phases and synchronize only at completion points, creating a periodic pattern that reduces overall synchronization frequency while maintaining determinism where needed.
Solution Approach 2:
The system dynamically adjusts synchronization frequency based on simulation phase. During active simulation phases, operations run asynchronously with minimal synchronization, while at phase boundaries, synchronization occurs to ensure deterministic state transitions. This dynamic approach optimizes the balance between reliability and processing time.
2Reliability
If simulations are synchronized frequently to maintain determinism, then reliability is improved, but power consumption increases
Solution Approach 1:
Synchronization operations that consume power are performed periodically at phase boundaries rather than continuously. This reduces the total number of power-intensive synchronization events while maintaining deterministic behavior at critical transition points.
Solution Approach 2:
The system dynamically manages power consumption by enabling full synchronization only when necessary at phase boundaries, while allowing asynchronous operation during phases. This dynamic power management reduces overall power consumption while preserving determinism where required.
3Productivity
If simulations run asynchronously to reduce processing time, then productivity is improved, but reliability deteriorates due to timing differences
Solution Approach 1:
The simulation process is segmented into distinct phases with clear boundaries. Within each phase, simulations run asynchronously to maximize productivity, while phase boundaries provide natural synchronization points that ensure deterministic results. This segmentation allows asynchronous execution without compromising reliability.
Solution Approach 2:
The system dynamically switches between asynchronous operation during phases (for productivity) and synchronous operation at phase boundaries (for reliability). This dynamic behavior allows the system to achieve both high productivity and deterministic results by adapting the synchronization level to the current simulation state.
4Productivity
If distributed simulation is used to speed up circuit design verification, then productivity is improved, but device complexity increases
Solution Approach 1:
The distributed simulation system is segmented into independent phases with well-defined interfaces. This segmentation simplifies the synchronization complexity by providing clear boundaries where synchronization occurs, rather than requiring complex continuous coordination between all simulation components.
Solution Approach 2:
Synchronization occurs periodically at phase boundaries rather than continuously throughout the simulation. This periodic approach reduces the complexity of the synchronization system by limiting coordination events to specific moments, rather than requiring constant communication and coordination between distributed simulation components.
Data Source
AI summary
A system and method for using a distributed simulation system includes simulating a first portion of the circuit design within a first simulation environment by a first client device to generate first simulation data. Further, a second portion of the circuit design is simulated within a second simulation environment by a second client device to generate second simulation data. The first simulation data and the second simulation data are generated asynchronously with each other. Further, the first simulation data and the second simulation data are received at a primary client device synchronously with each other.


