Claims
- 1. A method of providing to an emulation controller located externally of an integrated circuit timing information indicative of an internal clock of the integrated circuit that drives internal data processing activity of the integrated circuit, comprising:
monitoring cycles of the internal clock; and in response to each cycle of the internal clock, producing a corresponding digital bit that represents the cycle.
- 2. The method of claim 1, wherein said producing step includes producing the bit with a first logic value to indicate that a first data processing event occurred during the corresponding clock cycle, and producing the bit with a second logic value to indicate that a second data processing event occurred during the corresponding clock cycle.
- 3. The method of claim 2, wherein the first data processing event is execution of a program instruction.
- 4. The method of claim 3, wherein the second data processing event is the absence of execution of a program instruction.
- 5. The method of claim 2, wherein the second event is that the first event did not occur.
- 6. A method of exporting from a data processor emulation information including emulation control information and emulation data, comprising:
arranging the emulation information into information blocks; outputting a sequence of the information blocks from the data processor via a plurality of terminals of the data processor; and said arranging step including providing some of the information blocks with relative proportions of emulation control information and emulation data that differ from the relative proportions of emulation control information and emulation data in other blocks of the sequence.
- 7. The method of claim 6, wherein the emulation control information includes information which identifies data in the information block in which the control information is included.
- 8. The method of claim 6, wherein the emulation control information includes information that identifies data in an information block other than the information block in which the emulation control information is included.
- 9. The method of claim 7, wherein the emulation control information includes a compression map.
- 10. The method of claim 6, wherein the emulation data represents operations of a clock used by the data processor for performing data processing operations.
- 11. The method of claim 6, wherein the relative proportions of emulation control information and emulation data in said some blocks are respectively 100% and 0%.
- 12. The method of claim 6, wherein each of the information blocks is a packet of emulation information including emulation control information.
- 13. The method of claim 6, wherein said providing step includes providing in some of the information blocks a unique identifier which indicates that the corresponding data in the same information block is a portion of a larger unit of data having another portion in another information block of the sequence.
- 14. The method of claim 13, wherein said another information block is an earlier block in the sequence.
- 15. A method of providing emulation information indicative of internal operations of a data processor for use by an apparatus external to the data processor, comprising:
providing a stream of emulation trace information indicative of data processing operations performed by the data processor; providing a stream of timing information indicative of operation of a clock used by the data processor to perform data processing operations; and inserting in the trace stream and in the timing stream information indicative of a temporal relationship between the trace information and the timing information.
- 16. The method of claim 15, wherein said step of providing a timing stream includes providing a plurality of bits which are respectively indicative of a plurality of cycles of said clock.
- 17. The method of claim 16, wherein said inserting step includes inserting mutually corresponding identifiers in both the trace stream and the timing stream, and inserting in one of the streams an index for identifying a bit of the timing stream which represents a clock cycle that timewise corresponds to data in the trace stream at a point in the trace stream at which the associated identifier is inserted.
- 18. A method of providing data processor emulation information, comprising:
providing a program counter trace stream of program counter values used by a data processor; inserting a synchronization marker into the program counter stream; providing trace information indicative of a data processing operation performed by the data processor, including identifying a corresponding program counter value from which the data processing operation was generated, said identifying step including expressing said corresponding program counter value as an offset which indicates a number of program counter values in the program counter trace stream by which said corresponding program counter value is offset from said synchronization marker in said program counter trace stream.
- 19. The method of claim 18, wherein said data processing operation is a memory access operation.
- 20. A method of exporting emulation information from a data processor, comprising:
collecting internal emulation information within a data processor; arranging the collected emulation information into a plurality of first information blocks; receiving the plurality of first information blocks and arranging the emulation information contained therein into a plurality of second information blocks which differ in size from the first information blocks; and outputting a sequence of the second information blocks from the data processor via a plurality of terminals of the data processor.
- 21. The method of claim 20, wherein the second information blocks are smaller in size than the first information blocks.
- 22. The method of claim 20, including receiving the sequence of second information blocks externally of the data processor, and re-arranging the emulation information contained in the second information blocks into a plurality of the first information blocks.
- 23. The method of claim 20, wherein each of the first and second information blocks is a packet of emulation information.
- 24. A method of exporting from a data processor a plurality of values of an emulation parameter, the emulation parameter indicative of data processing operations performed by the data processor, comprising:
outputting a sequence of parameter values from data processing terminals of the data processor; inserting into the sequence of parameter values information which indicates that a first portion of a first said parameter value is identical to a corresponding portion of a second said parameter value which precedes the first parameter value in the sequence; and said outputting step including outputting only a remainder portion of said first parameter value other than said first portion thereof.
- 25. The method of claim 24, wherein said inserting step includes inserting within the sequence of parameter values a compression map including a plurality of bits which respectively correspond to a plurality of portions of the emulation parameter and whose values indicate which of the respectively corresponding portions of the first parameter value are identical to corresponding portions of the second parameter value.
- 26. The method of claim 24, including determining whether a first group of bits within the remainder portion of the first parameter value all have the same bit value, determining that a predetermined bit within a second group of bits in the remainder portion has a bit value equal to the bit value of the bits of the first group and, after said determining steps, said outputting step including outputting from the data processor via the terminals thereof only the second group of bits of the remainder portion without outputting the first group of bits.
- 27. A method of exporting from a data processor an emulation parameter value indicative of a data processing operation performed by the data processor, comprising:
providing the parameter value as a plurality of digital bits; determining that the bits of a first group within the plurality of bits all have the same bit value; determining that a predetermined bit within a second group of the plurality of bits has a bit value equal to the bit value of the bits of the first group; and after said determining steps, outputting from the data processor via terminals thereof only the second group of bits without outputting the first group of bits.
- 28. The method of claim 27, including receiving only the second group of bits externally of the data processor, and recreating the first group of bits based on the bit value of said predetermined bit.
- 29. The method of claim 27, wherein the first group of bits is at least one byte, and the second group of bits is at least one byte.
- 30. The method of claim 29, wherein the predetermined bit is a most significant bit of one of the bytes of the second group.
- 31. The method of claim 30, wherein said one byte of the second group is the most significant byte of the second group.
- 32. The method of claim 1, including outputting the digital bits to the emulation controller at an output clock rate that differs from the clock rate of the internal clock.
- 33. The method of claim 32, wherein said output clock rate is independent of said internal clock rate.
- 34. The method of claim 6, wherein emulation control information in one information block of the sequence affects how emulation control information in another information block of the sequence is to be interpreted.
- 35. The method of claim 18, wherein said identifying step includes expressing said corresponding program counter value as a native program counter value unless a program counter trace condition exists.
Parent Case Info
[0001] This application claims the priority under 35 U.S.C. 119(e)(1) of the following co-pending U.S. provisional applications: 60/186,326 (Docket TI-30526) filed on Mar. 2, 2000; and 60/219,340 (Docket TI-30498) originally filed on Mar. 2, 2000 as non-provisional U.S. Ser. No. 09/515,093 and thereafter converted to provisional application status by a petition granted on Aug. 18, 2000.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60186326 |
Mar 2000 |
US |
|
60219340 |
Mar 2000 |
US |