Hardware-Software State Expression Evaluation for Post-Processing Debug
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and analyzing event-driven simulation and emulation systems is challenging due to incorrect interactions between hardware and embedded software elements, particularly in post-processing scenarios where real-time memory value inspection is not possible, and brute force methods for capturing memory states are inefficient and storage-intensive.
Innovation Solution
A system and method that generate unique names for hardware and software state elements, combine them into arbitrary expressions, evaluate these expressions at discrete time points, and record the results in an electronic design database, allowing for indexing by simulation events and times, and displaying the results through graphical user interfaces or log files.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If brute force method is used to capture memory states at each time point, then complete memory value knowledge is achieved, but storage space consumption increases and simulation efficiency decreases
Solution Approach 1:
The patent extracts only the necessary memory values at specific time points rather than capturing entire memory states. By identifying and extracting only the memory values needed for debugging and analysis at discrete time points, the system reduces storage requirements while maintaining essential information for post-processing analysis.
Solution Approach 2:
The patent performs preliminary identification of required memory values before capturing them. By determining in advance which memory values are needed for debugging purposes, the system can capture only those specific values at appropriate time points, avoiding the need to store complete memory states throughout the entire simulation.
2Loss of information
If brute force method is used to capture memory states at each time point, then complete memory value knowledge is achieved, but simulation productivity decreases
Solution Approach 1:
The patent extracts only the necessary memory values at specific time points rather than capturing entire memory states. By identifying and extracting only the memory values needed for debugging and analysis at discrete time points, the system reduces storage requirements while maintaining essential information for post-processing analysis.
Solution Approach 2:
The patent performs preliminary identification of required memory values before capturing them. By determining in advance which memory values are needed for debugging purposes, the system can capture only those specific values at appropriate time points, avoiding the need to store complete memory states throughout the entire simulation.
3Ease of operation
If real-time memory inspection is performed, then debugging capability is improved, but system complexity increases due to API requirements
Solution Approach 1:
The patent performs preliminary capture of memory values during simulation execution, storing them in a database for later analysis. This preliminary action eliminates the need for complex real-time inspection APIs by capturing the necessary information in advance during the simulation, making post-processing debugging simpler and less complex.
Solution Approach 2:
The patent creates a copy of memory values at specific time points and stores them in a database for post-processing analysis. Instead of requiring complex real-time inspection mechanisms, the system captures memory state information and preserves it for later examination, simplifying the overall system architecture while maintaining debugging capability.
4Loss of information
If complete memory state dumping is performed at all time points, then full analysis capability is achieved, but storage requirements become excessive
Solution Approach 1:
The patent extracts only the necessary memory values at specific time points rather than capturing entire memory states. By identifying and extracting only the memory values needed for debugging and analysis at discrete time points, the system reduces storage requirements while maintaining essential information for post-processing analysis.
Solution Approach 2:
The patent applies partial action by capturing only the necessary memory values rather than complete memory states. By selectively capturing memory values at appropriate time points based on analysis needs, the system achieves sufficient analysis capability without the excessive storage requirements of complete state dumping.
Data Source
AI summary
The present disclosure relates to a system and method for use in an electronic design environment. Embodiments may include receiving, using at least one processor, an electronic design and generating a unique name for each hardware state element associated with the electronic design. Embodiments may further include generating a unique name for each software state element associated with the electronic design. Embodiments may also include combining a plurality of unique names into an arbitrary expression, wherein the plurality of unique names includes at least one software state unique name and at least one hardware state unique name. Embodiments may further include evaluating the arbitrary expression at one or more discrete time points. Embodiments may also include recording an evaluated expression in an electronic design database.


