IP Library Granted Patent US 10,437,700
Granted Patent B2
US 10,437,700 · App. 15/241,471 · Granted Oct 8, 2019

Tracing interconnect circuitry

Inventors: Iain Craig Robertson (Cople, GB); Andrew Brian Thomas Hopkins (Folkestone, GB); Michael Jonathan Thyer (Cambridge, GB)
Assignee: UltraSoC Technologies Limited
G06F11/3485G06F11/3041G06F11/349
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 10,437,700
App. No.
15/241,471
Granted
Oct 8, 2019
Kind
B2
Abstract

A method of tracing transactions on an integrated circuit chip. The method comprises, for each transaction: extracting the transaction from interconnect circuitry of the integrated circuit chip, the transaction comprising an address signal and a data signal; applying a filtering condition to the address signal; only if the address signal does not fail the filtering condition, storing the address signal in an address trace buffer; storing the data signal in a data trace buffer; applying a triggering condition to the stored transaction; and outputting the stored transaction if the stored transaction matches the triggering condition.

Claims (45)

1. A method of tracing transactions on an integrated circuit chip, the method comprising, for each transaction:

extracting the transaction from interconnect circuitry of the integrated circuit chip, the transaction comprising an address signal and a data signal;

applying a filtering condition to the extracted transaction, wherein the filtering condition applies at least to the address signal of the transaction;

only if the transaction passes the applied filtering condition:

storing the extracted transaction by storing each signal of that extracted transaction in a corresponding buffer, wherein the address signal is stored in an address trace buffer and the data signal is stored in a data trace buffer;

subsequently applying a triggering condition to that same stored transaction that has passed the applied filtering condition; and

outputting the stored transaction if the stored transaction matches the triggering condition and if the stored transaction does not match the triggering condition, retaining the stored transaction in the trace buffers.

2. A method as claimed in claim 1 , wherein the transaction further comprises a response signal, the method further comprising storing the response signal in a response trace buffer as part of storing the transaction.

3. A method as claimed in claim 2 , comprising:

upon becoming full, overwriting the address trace buffer,

upon becoming full, overwriting the data trace buffer, and

upon becoming full, overwriting the response trace buffer.

4. A method as claimed in claim 2 , further comprising:

applying the filtering condition to the response signal; and

storing the response signal in the response trace buffer only if the response signal does not fail the filtering condition.

5. A method as claimed in claim 2 , comprising:

applying a timestamp to the address signal on the address signal entering the address trace buffer,

applying a timestamp to the data signal on the data signal entering the data trace buffer, and

applying a timestamp to the response signal on the response signal entering the response trace buffer.

6. A method as claimed in claim 1 , comprising, following extracting the transaction from the interconnect circuitry, if the address signal fails the filtering condition, discarding the address signal.

7. A method as claimed in claim 1 , comprising, following extracting the transaction from the interconnect circuitry, if the address signal fails the filtering condition, discarding the transaction.

8. A method as claimed in claim 1 , comprising, if the stored transaction matches the triggering condition, outputting all contents of the address trace buffer and data trace buffer.

9. A method as claimed in claim 1 , further comprising:

applying the filtering condition to the data signal; and

storing the data signal in the data trace buffer only if the data signal does not fail the filtering condition.

10. A method as claimed in claim 9 , comprising, if the data signal fails the filtering condition, discarding all constituents of the transaction not already stored.

11. A method as claimed in claim 1 , further comprising:

allocating a tracker identity in association with the address signal; and

allocating the tracker identity in association with the data signal.

12. A method as claimed in claim 11 , comprising following outputting the stored transaction, reassembling the transaction by aggregating the address signal and data signal stored in association with the same tracker identity.

13. A method as claimed in claim 1 , wherein the transactions are communicated according to a protocol in which a data signal of a transaction is permitted to precede the address signal of the transaction by a time T, the method further comprising after extracting the transaction from the interconnect circuitry, pre-buffering the data signal prior to storing the data signal in the data trace buffer for at least the time T.

14. A method as claimed in claim 13 , further comprising only outputting the pre-buffered data signal to the data trace buffer if the address signal of the transaction did not fail the address filtering condition.

15. A method as claimed in claim 13 , comprising discarding the pre-buffered data signal if the address signal of the transaction fails the address filtering condition.

16. A method as claimed in claim 1 , wherein the triggering condition is a transaction error, a specific address signal, or a transaction in a specific address range.

17. An integrated circuit chip comprising:

system circuitry comprising interconnect circuitry configured to transport transactions, each transaction comprising an address signal and a data signal; and

debugging circuitry comprising an address trace buffer and a data trace buffer, the debugging circuitry being configured to:

extract a transaction from the interconnect circuitry;

apply a filtering condition to the extracted transaction, wherein the filtering condition applies at least to the address signal of the transaction;

only if the transaction passes the applied filtering condition:

store the extracted transaction by storing each signal of that extracted transaction in a corresponding buffer, wherein the debugging circuitry is configured to store the address signal in the address trace buffer and store the data signal in the data trace buffer;

subsequently apply a triggering condition to that same stored transaction that has passed the applied filtering condition; and

output the stored transaction if the stored transaction matches the triggering condition and retain the stored transaction in the trace buffers if the stored transaction does not match the triggering condition.

18. An integrated circuit chip as claimed in claim 17 , wherein the address trace buffer and the data trace buffer are each at least as long as the maximum number of concurrent transactions on the interconnect circuitry.

19. An integrated circuit chip as claimed in claim 17 , wherein the interconnect circuitry is a bus.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Oct 7, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 057731/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: ULTRASOC TECHNOLOGIES LTD.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 054736/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2016
From: ROBERTSON, IAIN CRAIG; HOPKINS, ANDREW BRIAN THOMAS; THYER, MICHAEL JONATHAN
To: ULTRASOC TECHNOLOGIES LIMITED
Reel/Frame 040112/0799 →
Priority Claims (1)
GB 1514908.1 · Aug 21, 2015 · national
Continuity (1)
Related Publication 20170052868A1 · Feb 23, 2017