Inline Trace Compression Using Differential Frames and Bit Flags

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveamount of trace data storedVSAvoidDDR memory size
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter 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

Engineering Contradiction:
Improvedata transfer speedVSAvoidDDR memory bandwidth
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If data compression is applied to reduce trace data volume, then storage requirements decrease, but the processing complexity increases

Engineering Contradiction:
Improvetrace data volumeVSAvoidcompression processing
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11176018B1Inline hardware compression subsystem for emulation trace data
Publication Date: 2021.11.16 CADENCE DESIGN SYST INC
  • US11176018B1 patent drawing
  • US11176018B1 patent drawing
  • US11176018B1 patent drawing

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.