IP Library Granted Patent US 8,099,273
Granted Patent B2
US 8,099,273 · App. 10/454,818 · Granted Jan 17, 2012

Compression of emulation trace data

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 8,099,273
App. No.
10/454,818
Granted
Jan 17, 2012
Kind
B2
Abstract

A system and method for compressing trace data from an emulation system. Scan chains may receive trace data from configurable logic blocks inside one or more emulation chips, and the data received from the scan chains may be compressed. Where delta compression is used, the scan chains may also perform a delta detection function. Alternatively, delta detection may be performed using the outputs of the scan chains. In addition, event detectors may be implemented within or outside of the scan chains. Compression of the trace data may include receiving a plurality of data sets and performing compression along cross-sections of the combined data sets.

Claims (38)

1. A computer-implemented method for compressing trace data of an emulator, the method comprising:

receiving trace data from an emulator having reconfigurable hardware, the reconfigurable hardware including a plurality of integrated circuit chips, whereby the emulator can be configured to act as a circuit design that comprises different hardware than the emulator;

generating, based at least in part on the trace data, a plurality of first datasets, each of the plurality of first datasets representing where deltas have occurred in the trace data, wherein deltas represent changes;

generating, based at least in part on the trace data, a plurality of second datasets, each of the plurality of second datasets representing a different cross section than the plurality of first datasets;

compressing at least one of the plurality of second datasets, wherein at least part of the compression is performed on a one of the plurality of integrated circuit chips, wherein a compressed dataset is generated; and

wherein the circuit design can be debugged, at least in part, from the compressed dataset.

2. The method of claim 1 , wherein the method act of compressing includes determining for each of the plurality of second datasets whether that one of the plurality of second datasets represents at least a threshold number of deltas.

3. The method of claim 2 , wherein the method act of compressing is performed only for ones of the plurality of second datasets that do not represent at least the threshold number of deltas.

4. The method of claim 2 , wherein the method act of compressing includes:

generating the compressed dataset from at least some of the plurality of second datasets that represent at least one delta but do not represent at least the threshold number of deltas;

adding a first flag to those portions of the compressed dataset that correspond to ones of the plurality of second datasets that represent at least one delta but do not represent at least the threshold number of deltas; and

adding a second flag, different from the first flag, to each of the plurality second datasets that represent at least the threshold number of deltas.

5. The method of claim 4 , further including determining for each of the plurality of second datasets whether that one of the plurality of second datasets represents zero deltas, and if so then compressing that one of the plurality of second datasets by generating a third flag different from the first flag and the second flag.

6. The method of claim 1 , wherein there are N datasets in the plurality of first datasets, each one of the plurality of first datasets is M bits in length, there are M datasets in the plurality of second datasets and the method act of generating the plurality of first datasets includes adding at least one constant bit to at least one of the first sets, thereby resulting in each of the first sets being M bits in length, wherein M and N>1.

7. The method of claim 1 , further including forwarding the compressed second sets through a time-averaging buffer.

8. The method of claim 7 , further including forwarding an output of the time-averaging buffer to a memory.

9. The method of claim 1 , wherein there are N datasets in the plurality of first datasets, each one of the plurality of first datasets is M bits in length, there are M datasets in the plurality of second datasets and the method further includes forwarding the compressed dataset through a time-averaging buffer having a depth of at least 3×N×M bits, wherein M and N>1.

10. The method of claim 1 , wherein there are N datasets in the plurality of first datasets, each one of the plurality of first datasets is M bits in length, there are M datasets in the plurality of second datasets and N>1.

11. The method of claim 1 , wherein there are N datasets in the plurality of first datasets, each one of the plurality of first datasets is M bits in length, there are M datasets in the plurality of second datasets and M>1.

12. The method of claim 1 , wherein at least some of the compression is performed while the design is being emulated.

13. The method of claim 1 , wherein at least some of the compression is performed in real time from emulation trace data as it is produced by the emulation.

14. A computer-implemented method for compressing trace data of an emulator, the method comprising:

receiving trace data from an emulator having reconfigurable hardware, the reconfigurable hardware including a plurality of integrated circuit chips, whereby the emulator can be configured to act as a circuit design that comprises different hardware than the emulator;

generating, based at least in part on the trace data, a plurality of first datasets, each of the plurality of first datasets representing where deltas have occurred in the trace data, wherein deltas represent changes;

generating, based at least in part on the trace data, a plurality of second datasets, each of the plurality of second datasets representing a different cross section that the plurality of first datasets;

compressing at least one of the plurality of second datasets, wherein compressed trace data is generated;

transferring the compressed trace data from the emulator to a first computer, wherein the emulator is divided, functionally, from the first computer; and

wherein the circuit design can be debugged, at least in part, from the compressed trace data.

15. The method of claim 14 , wherein the method act of compressing includes compressing the emulation trace data using delta compression.

16. The method of claim 14 , wherein at least part of the emulation is performed on an integrated circuit chip and at least part of the compression is performed on the same integrated circuit chip.

17. The method of claim 16 , wherein there are N datasets in the plurality of first datasets, each of the plurality of first datasets is M bits in length, there are M datasets in the plurality of second datasets and M>1.

18. The method of claim 14 , wherein at least some of the compression is performed while the design is being emulated.

19. The method of claim 14 , wherein at least some of the compression is performed in real time from emulation trace data as it is produced by the emulation.

20. An apparatus for compressing trace data, comprising:

a system that receives trace data from an emulator having reconfigurable hardware, the reconfigurable hardware including a plurality of integrated circuit chips, whereby the emulator can be configured to act as a circuit design that comprises different hardware than the emulator;

a system that generates, from the trace data, second data comprising one or more second sets, each second set representing where deltas have occurred in the trace data, wherein deltas represent changes;

a compression system for compressing at least one of the second set, wherein the compression system includes at least one of the plurality of integrated circuit chips and the emulator emulates at least part of the circuit design on the same integrated circuit chip, wherein compressed data is generated; and

wherein the design can be debugged, at least in part, from the compressed data.

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Jun 16, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 057279/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2005
From: MENTOR GRAPHICS (HOLDINGS) LTD.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 016566/0825 →
RETROACTIVE ASSIGNMENT AND QUITCLAIM Recorded Sep 20, 2005
From: META SYSTEMS SARL; BARBIER, JEAN; LEPAPE, OLIVIER; REBLEWSKI, FREDERIC; BURGUN, LUC M.; RAYNAUD, ALAIN; EMIRIAN, FREDERIC M.; HOCHAPFEL, ERIC G.F.; DOUEZY, FRANCOIS; SAINT GENIEYS, DAVID FENECH; LAURENT, GILLES; SELVIDGE, CHARLEY; DAVIS, ROBERT W.; SCHMITT, PEER G.; MARANTZ, JOSHUA D.; DIEHL, PHILIPPE; QUENNESSON, CYRIL; FILOCHE, OLIVIER; MONTAGNE, XAVIER; BEDOISEAU, FLORENT; MAQUINON, FRANCK; JOSSO, FREDERIC
To: MENTOR GRAPHICS CORPORATION; MENTOR GRAPHICS (HOLDING) LTD.
Reel/Frame 016547/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2004
From: MENTOR GRAPHICS CORPORATION
To: MENTOR GRAPHICS (HOLDING) LTD.
Reel/Frame 015003/0277 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2004
From: SELVIDGE, CHARLEY; DAVIS, ROBET W.; SCHMITT, PEER; MARANTZ, JOSHUA D.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 015004/0129 →