Post-Simulation Memory Debug via Transaction Capture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and analysis tools face challenges in obtaining accurate and complete knowledge of system memory values during and after simulation or emulation sessions, especially when no API is available for post-processing, as existing methods are inefficient and storage-intensive, and may introduce system side effects.
Innovation Solution
A system and method that captures and stores memory execution transactions, bus transactions, and register transactions during simulation, allowing for the construction of an accurate view of system memory over time, using a database to parse and store these transactions, enabling post-processing debug and analysis without relying on specific APIs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a brute force solution stops the simulation at each tick of time to dump the entire state of memory, then complete memory value inspection is achieved, but efficiency deteriorates and storage requirements increase
Solution Approach 1:
The patent extracts only the necessary memory transaction data from the simulation process and stores it in a database. Instead of dumping the entire memory state at each time tick, the system selectively captures and stores only the transactions that occurred, significantly reducing storage requirements and improving debugging efficiency while maintaining complete inspectability of memory values.
Solution Approach 2:
The system performs preliminary capture and storage of memory transactions during the simulation process itself. By proactively recording transactions as they occur and storing them in a database during simulation, the data is prepared in advance for efficient post-processing debugging without requiring costly full memory dumps later.
2Ease of operation
If run-time APIs are used to access memory values, then memory inspection is enabled, but the solution is unavailable after simulation termination
Solution Approach 1:
The patent creates a persistent copy of memory transaction data by capturing transactions during simulation and storing them in a database. This copy of the transaction data remains available after simulation termination, enabling post-processing debugging operations without requiring the original simulation environment or run-time APIs to be active.
3Loss of information
If the entire memory state is dumped at each time tick, then complete memory knowledge is achieved, but storage requirements increase dramatically
Solution Approach 1:
The system extracts and stores only the essential transaction information (memory addresses, values, and timestamps) in a database rather than dumping the entire memory state. This selective extraction maintains complete information about all memory modifications while dramatically reducing the storage requirements compared to full memory dumps at each time tick.
Data Source
AI summary
According to an embodiment, a system and method are provided for constructing an accurate view of memory and events on a simulation platform. The system memory view can be used with a debug and analysis tool to provide post-processing debug, including searching forward and backward in capture time of the stored memory view to analyze the events of the simulation. The memory is constructed by capturing and storing each memory execution transaction, bus transaction, and register transaction during simulation. Changes in simulation platform hardware state may also be captured and stored in a hardware state database, including switches between process threads detected during the simulation that may update a simulator register. The captured events provide observability into the OS processes, the hardware, and the embedded software of the simulation platform.


