X-Accurate Logic Simulation via Symbolic Cosimulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Logic simulation struggles to accurately handle unknown values (Xs) due to X-optimism and X-pessimism issues, leading to non-deterministic states and incorrect simulation results, especially in Register Transfer Level (RTL) and gate-level simulations, and fails to address sequential false Xs.
Innovation Solution
The integration of symbolic simulation with logic simulation, where a symbolic simulator performs concurrent formal analysis with the logic simulator, exchanging information to correct logic simulation values at checkpoints, using the SimCluster tool for synchronized cosimulation and abstraction to manage complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If logic simulation is used to handle unknown values (Xs), then simulation speed and ease of use are improved, but accuracy deteriorates due to X-optimism and X-pessimism problems
Solution Approach 1:
The system segments the simulation process into two distinct engines: a logic simulation engine for fast initial simulation and a symbolic simulation engine for accurate X analysis. Each engine operates independently but coordinates through checkpoints, allowing the system to leverage both speed and accuracy without requiring a complete redesign of the simulation architecture.
Solution Approach 2:
Checkpoints serve as intermediaries between the logic and symbolic simulation engines. At these checkpoints, the logic simulator pauses and requests verification from the symbolic simulator, which then provides correction information back to the logic simulator. This intermediary mechanism enables accurate X handling without sacrificing the overall simulation speed.
2Measurement precision
If symbolic simulation is used to accurately handle Xs, then measurement precision is improved, but device complexity and ease of operation worsen
Solution Approach 1:
The system merges the logic simulation and symbolic simulation into a single integrated cosimulation environment. Rather than requiring users to set up separate symbolic simulation tools and manually coordinate them, the system automatically manages both engines and their interaction, presenting a unified interface to the user while maintaining the accuracy benefits of symbolic simulation.
Solution Approach 2:
The cosimulation system automatically identifies when checkpoints are needed, invokes the symbolic simulator for verification, and applies corrections without requiring manual intervention. The system self-manages the complexity of coordinating two simulation engines, freeing the user from dealing with the operational complexity while still providing accurate results.
3Ease of operation
If logic simulation runs without symbolic verification, then ease of operation is improved, but reliability deteriorates due to false X propagation
Solution Approach 1:
Instead of applying symbolic verification continuously throughout the entire simulation (which would reduce ease of operation), the system applies it partially at strategically chosen checkpoints. This selective verification maintains simplicity for the majority of the simulation while providing sufficient reliability checks at critical points where X propagation is most likely to occur.
Data Source
AI summary
A computer executable system that runs symbolic simulation with formal X-analysis along with logic simulation to determine if Xs produced in logic simulation are real or not. Simulated values in logic simulation shown to be incorrect are rectified using formal analysis results to produce X-accurate simulation results that match real hardware.


