IP Library › Granted Patent US 11,176,018
Granted Patent B1
US 11,176,018 · App. 16/219,836 · Granted Nov 16, 2021

Inline hardware compression subsystem for emulation trace data

Inventors: Aruna Aluri (San Jose, CA); Linwei Ding (San Jose, CA); Mitchell G. Poplack (San Jose, CA)
Assignee: CADENCE DESIGN SYSTEMS, INC.
G06F11/348G06F11/0772G06F11/3476G06F11/3652G06F30/331
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,176,018
App. No.
16/219,836
Granted
Nov 16, 2021
Kind
B1
Abstract

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.

Claims (32)

1. A system for compressing emulation frame data, the system comprising:

a non-transitory storage medium configured to store frame data received from one or more emulation processors; and

a controller configured to:

determine a set of differential data between successive frame data;

determine whether the set of differential data contains a non-zero value;

generate a flag bit in a flag array indicative of whether the set of differential data contains the non-zero value; and

store the set of differential data in an uncompressed form to the non-transitory storage medium when the set of differential data contains the non-zero value.

2. The system of claim 1 , wherein the controller is further configured to generate only the flag bit in response to determining the controller determining that the set of differential data contains only zero values without storing the set of differential data.

3. The system of claim 1 , wherein the set differential data is 8 bit long.

4. The system of claim 3 , wherein the flag bit is a single bit.

5. The system of claim 1 , wherein the controller is further configured to generate a back-pressure signal upon determining that the non-transitory storage medium is full or near full.

6. The system of claim 1 , wherein the frame data corresponds to a portion of trace data produced during one or more emulation cycles of emulating an electronic circuit design.

7. The system of claim 6 , wherein the trace data corresponds to a record of changing states of signal inputs, signal outputs, and internal signals of the electronic circuit design being emulated.

8. The system of claim 1 , wherein the non-transitory storage medium and the controller are located within an emulation chip.

9. The system of claim 1 , wherein the non-transitory storage medium is coupled to the one or more emulation processors.

10. The system of claim 1 , wherein the flag array is coupled to the controller.

11. A method for compressing emulation frame data, the method comprising:

determining, by a controller of an emulation system, a set of differential data between successive frame data received from one or more emulation processors;

determining, by the controller, whether the set of differential data contains a non-zero value;

generating, by the controller, a flag bit in a flag array indicative of whether the set of differential data contains the non-zero value; and

storing, by the controller, the set of differential data in an uncompressed form to a non-transitory storage medium when the set of differential data contains the non-zero value.

12. The method of claim 11 , further comprising:

generating, by the controller, only the flag bit in response to determining the controller determining that the set of differential data contains only zero values without storing the set of differential data.

13. The method of claim 11 , wherein the set differential data is 8 bit long.

14. The method of claim 13 , wherein the flag bit is a single bit.

15. The method of claim 11 , further comprising:

generating, by the controller, a back-pressure signal upon determining that the non-transitory storage medium is full or near full.

16. The method of claim 11 , wherein the frame data corresponds to a portion of trace data produced during one or more emulation cycles of emulating an electronic circuit design.

17. The method of claim 16 , wherein the trace data corresponds to a record of changing states of signal inputs, signal outputs, and internal signals of the electronic circuit design being emulated.

18. The method of claim 11 , wherein the non-transitory storage medium and the controller are located within an emulation chip.

19. The method of claim 11 , wherein the non-transitory storage medium is coupled to the one or more emulation processors.

20. The method of claim 11 , wherein the flag array is coupled to the controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2018
From: ALURI, ARUNA; DING, LINWEI; POPLACK, MITCHELL G.
To: CADENCE DESIGN SYSTEMS, INC.
Reel/Frame 047772/0764 →
Cited By (1)
US 12,554,499