IP Library Granted Patent US 9,767,057
Granted Patent B2
US 9,767,057 · App. 14/832,526 · Granted Sep 19, 2017

Hardware data structure for tracking partially ordered and reordered transactions

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 9,767,057
App. No.
14/832,526
Granted
Sep 19, 2017
Kind
B2
Abstract

Methods and hardware data structures are provided for tracking ordered transactions in a multi-transactional hardware design comprising one or more slaves configured to receive transaction requests from a plurality of masters. The data structure includes one or more counters for keeping track of the number of in-flight transactions; a table that keeps track of the age of each of the in-flight transactions for each master using the one or more counters; and control logic that verifies that a transaction response for an in-flight transaction for a particular master has been issued by the slave in a predetermined order based on the tracked age for the in-flight transaction in the table.

Claims (30)

1. A hardware data structure configured to track a plurality of ordered transactions in a multi-transactional hardware design comprising a slave and a plurality of masters, the slave configured to receive transaction requests from more than one of the plurality of masters, the hardware data structure comprising:

one or more counters configured to track a number of in-flight transactions in the hardware design;

a table configured to track an age of each of the in-flight transactions for the plurality of masters using the one or more counters; and

control logic configured to verify that a transaction response issued by the slave for an in-flight transaction for a particular master has been issued in a predetermined order based on the tracked age of the in-flight transaction for that master in the table.

2. The hardware data structure of claim 1 , wherein the table comprises transaction information for each master of the plurality of masters, the transaction information comprising in-flight information for each of a plurality of transactions associated with that master.

3. The hardware data structure of claim 2 , wherein the in-flight information indicates whether the transaction is in-flight and if in-flight, the age of the transaction.

4. The hardware data structure of claim 3 , wherein the in-flight information comprises a valid bit that indicates whether the transaction is in-flight and an age value that indicates the age of the transaction; or,

wherein the in-flight information comprises an age value that indicates whether the transaction is in-flight and the age of the transaction.

5. The hardware data structure of claim 3 , wherein the control logic comprises a request detection module configured to detect when a new transaction is in-flight for a specific master by monitoring one or more control signals of an input interface of the slave.

6. The hardware data structure of claim 5 , wherein the control logic further comprises a counter control module configured, in response to the request detection module detecting that a new transaction is in-flight for the specific master, to increment one of the one or more counters.

7. The hardware data structure of claim 6 , wherein the one or more counters comprises a counter for each master of the plurality of masters, each counter configured to track a number of in-flight transactions for the associated master; and the counter control module is configured, in response to the request detection module detecting that a new transaction is in-flight for the specific master, to increment the counter for the specific master.

8. The hardware data structure of claim 5 , wherein the control logic further comprises a table control module configured, in response to the request detection module detecting that a new transaction is in-flight for the specific master, to update the transaction information for the specific master so that the in-flight information for the new transaction comprises a numerical value equal to one counter of the one or more counters, the counter indicating the age of the new transaction with respect to the other in-flight transactions.

9. The hardware data structure of claim 8 , wherein the one or more counters comprises a counter for each master of the plurality of masters, each counter configured to track a number of in-flight transactions for the associated master; and the table control module is configured, in response to the request detection module detecting that a new transaction is in-flight for the specific master, to update the transaction information for the specific master so that the in-flight information for the new transaction comprises a numerical value equal to the counter for the specific master.

10. The hardware data structure of claim 8 , wherein the table control module is further configured, in response to the request detection module detecting that a new transaction is in-flight for the specific master, to update the transaction information for the specific master so that the in-flight information for the new transaction indicates the new transaction is in-flight.

11. The hardware data structure of claim 3 , wherein the control logic comprises a response detection module configured to detect when a transaction response has been issued for an in-flight transaction for a specific master by monitoring one or more control signals of an output interface of the slave.

12. The hardware data structure of claim 11 , wherein the control logic further comprises a counter control module configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to decrement one counter of the one or more counters.

13. The hardware data structure of claim 12 , wherein the one or more counters comprises a counter for each master of the plurality of masters, each counter configured to track a number of in-flight transactions for the associated master; and the counter control module is configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to decrement the counter for the specific master.

14. The hardware data structure of claim 11 , wherein the control logic further comprises a table control module configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to update the transaction information for the specific master so that the in-flight information for the transaction response indicates the transaction is not in-flight.

15. The hardware data structure of claim 14 , wherein the table control module is further configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to update the transaction information for the specific master so that the in-flight information for each in-flight transaction reflects there is one-less transaction in-flight.

16. The hardware data structure of claim 11 , wherein the control logic further comprises an error detection module configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to verify that the transaction response has been issued in a predetermined order by verifying that the in-flight transaction is the oldest in-flight transaction for the specific master based on the transaction information for the specific master.

17. The hardware data structure of claim 11 , wherein the control logic further comprises an error detection module configured, in response to the response detection module detecting that a transaction response has been issued for an in-flight transaction for a specific master, to verify that the transaction response has been issued in a predetermined order using one or more assertions written in an assertion-based language.

18. The hardware data structure of claim 2 , wherein each transaction comprises a transaction ID and the in-flight information for a particular transaction is identified by the transaction ID.

19. A method of tracking a plurality of transactions in a multi-transactional hardware design comprising a slave and a plurality of masters, the slave configured to receive transaction requests from more than one of the plurality of masters, the method comprising:

tracking a number of in-flight transactions in the hardware design using one or more counters;

tracking an age of each of the in-flight transactions for the plurality of masters in a table using the one or more counters; and

verifying that a transaction response issued by the slave for an in-flight transaction for a particular master has been issued in a predetermined order based on the tracked age of the in-flight transaction for that master in the table.

20. A non-transitory computer readable storage medium having stored thereon computer executable instructions that when executed cause at least one processor to:

track a number of in-flight transactions in a multi-transactional hardware design using one or more counters, the multi-transactional hardware design comprising a slave and a plurality of masters;

track an age of each of the in-flight transactions for the plurality of masters in a table using the one or more counters; and

verify that a transaction response issued by the slave for an in-flight transaction for a particular master has been issued in a predetermined order based on the tracked age of the in-flight transaction for that master in the table.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2015
From: DARBARI, ASHISH
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 036393/0346 →