Emulation System Data Array Compaction via Tag Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware emulators waste memory space and power due to writing all processor outputs to the data array, even if only a portion are useful, leading to inefficient space utilization and increased power consumption.
Innovation Solution
A compaction unit filters and writes only valid bits to the data array, associated with valid tags, allowing for increased storage of valid data without expanding the data array's size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all processor outputs are written to the data array every step, then the data array maintains complete output records, but memory space utilization decreases and power consumption increases
Solution Approach 1:
The patent extracts only the useful subset of processor outputs from the complete output set and writes only those to the data array. The compaction unit identifies and filters out non-useful outputs, writing only the necessary portion to memory, thereby reducing power consumption while maintaining data completeness for useful outputs.
Solution Approach 2:
The patent discards non-useful processor outputs by not writing them to the data array at all. The compaction unit identifies which outputs are non-useful and selectively excludes them from the write operation, recovering power that would have been consumed by writing and reading these unnecessary data elements.
2Loss of information
If all processor outputs are written to the data array every step, then no data is lost, but memory space utilization decreases
Solution Approach 1:
The compaction unit extracts and identifies useful outputs from the complete processor output set. By taking out only the useful subset and writing only those to the data array, the system improves memory space utilization while ensuring that no useful information is lost.
Solution Approach 2:
The patent discards non-useful outputs by excluding them from writes to the data array. This selective discarding recovers memory space that would otherwise be occupied by unnecessary data, improving space utilization without losing any useful information.
3Quantity of substance
If the data array size is increased to store more valid bits, then storage capacity improves, but device complexity and cost increase
Solution Approach 1:
The patent introduces a dynamic compaction unit that adapts the effective storage capacity of the existing data array by selectively writing useful outputs. Instead of statically increasing the data array size, the system dynamically optimizes space utilization by filtering outputs based on usefulness, thereby improving storage capacity without increasing device complexity.
Solution Approach 2:
The compaction unit changes the parameter of data selection by filtering outputs based on usefulness criteria. This parameter change in the write operation allows the existing data array to effectively store more useful bits per emulation cycle without physically expanding the array, avoiding increased device complexity and cost.
4Reliability
If non-useful outputs are written to the data array, then all processor outputs are recorded, but power is wasted on unnecessary write and read operations
Solution Approach 1:
The compaction unit extracts useful outputs from the complete processor output set and writes only those to the data array. This extraction process eliminates unnecessary write and read operations for non-useful outputs, reducing power waste while maintaining reliable recording of all useful outputs.
Solution Approach 2:
The patent discards non-useful outputs by excluding them from data array operations. This selective discarding recovers power that would have been wasted on unnecessary write and read operations, while still ensuring reliable recording of all useful processor outputs.
Data Source
AI summary
Disclosed herein are systems and methods of an emulation system. A hardware emulator of an emulation system includes one or more processors configured to generate data in an emulation cycle. Each bit of the generated data is associated with a tag. The hardware emulator may include a compaction unit configured to receive the data generated by the one or more processors, and select one or more bits from total bits of the data based on valid tags associated with the bits of the data. The hardware emulator further includes a data array comprising non-transitory machine-readable storage media configured to store the one or more bits of the data received from the compaction unit.


