Inline Trace Compression Using Differential Frames and Bit Flags
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The limited bandwidth and storage capacity of DDR memory in emulation systems restrict the amount of trace data that can be stored and transferred, making it challenging to handle the increasing volume of data generated during the emulation of complex semiconductor IC designs.
Innovation Solution
Implementing a data compression algorithm that determines differential data between successive frames, generates flag bits to indicate changes, and stores only the changed data in an uncompressed form, allowing for efficient storage and transfer of trace data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the size of DDR memory is increased to store more trace data, then the amount of trace data that can be stored increases, but the cost and complexity of the system increases
Solution Approach 1:
The patent extracts only the changed portions of trace data (differential data) rather than storing complete frames. By identifying and storing only the non-zero differential values between successive frames, the system significantly reduces the volume of data requiring storage while maintaining the ability to reconstruct complete trace information.
Solution Approach 2:
The patent changes the representation parameter of trace data from absolute frame values to differential values. By computing the difference between successive frames and storing only changed values, the system transforms the data format to achieve higher compression ratios, especially when consecutive frames have minimal changes.
2Productivity
If the bandwidth of DDR memory is increased to transfer more trace data, then the speed of data transfer increases, but the cost and complexity of the system increases
Solution Approach 1:
The patent extracts and transmits only the differential data portions that contain changes between frames, rather than transferring complete trace frames. This extraction approach reduces the data volume requiring bandwidth, allowing faster effective transfer rates with existing bandwidth resources.
3Quantity of substance
If data compression is applied to reduce trace data volume, then storage requirements decrease, but the processing complexity increases
Solution Approach 1:
The patent segments the trace data into individual frames and then into differential components between successive frames. By processing data in discrete frame segments and identifying only changed portions, the compression process becomes more manageable and efficient compared to compressing entire trace datasets at once.
Solution Approach 2:
The differential encoding process is self-organizing, where each frame automatically references its predecessor to identify changes. This self-referential approach eliminates the need for external compression algorithms, allowing the data structure itself to perform the compression function through simple differential calculations.
Data Source
AI summary
A trace subsystem of an emulation system may generate differential frame data based upon successive frames. If one compression mode, the trace subsystem may set a flag bit and store differential frame data if there is at least one non-zero bit in the differential frame data. If the differential frame data includes only zero bits, the trace subsystem may set the flag bit without storing the frame data. In another compression mode, the computer may further compress the differential data if the frame data includes one (one-hot) or two (two-hot) non-zero bits. The controller may set flag bits to indicate one of all-zeroes, one-hot, two-hot, and random data conditions (more than two non-zero bits). For one-hot or two-hot conditions, the controller may store bits indicating the positions of the non-zero bits. For random data conditions, the controller may store the entire differential frame.


