IP Library Granted Patent US 9,519,611
Granted Patent B2
US 9,519,611 · App. 14/832,087 · Granted Dec 13, 2016

Hardware data structure for tracking ordered 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,519,611
App. No.
14/832,087
Granted
Dec 13, 2016
Kind
B2
Abstract

Methods and hardware data structures are provided for tracking ordered transactions in a multi-transactional hardware design using a counter and an indexed table. The data structure includes a counter that keeps track of the number of in-flight transactions; a table that keeps track of the age of each of the in-flight transactions using the counter; and control logic that verifies a transaction response has been received in the correct order (e.g. corresponds to the oldest in-flight transaction) based on the age information in the table.

Claims (29)

1. A hardware data structure configured to track a plurality of ordered transactions in a multi-transactional hardware design, the hardware data structure comprising:

a counter configured to store a value that tracks a number of in-flight transactions in the hardware design;

a table configured to track an age of each of the in-flight transactions using the counter; and

control logic configured to verify that a transaction response issued by the hardware design has been issued in a predetermined order based on the tracked ages of the in-flight transactions in the table.

2. The hardware data structure of claim 1 , wherein verifying that the transaction response has been issued in the predetermined order comprises verifying that the transaction response corresponds to the oldest in-flight transaction based on the tracked ages of the in-flight transactions in the table.

3. The hardware data structure of claim 1 , wherein the table comprises an entry for each transaction of the plurality of ordered transactions, each entry comprising information indicating the age of the transaction when the transaction is an in-flight transaction.

4. The hardware data structure of claim 3 , wherein each entry further comprises information indicating whether the transaction is currently in-flight.

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

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

7. 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, to update the entry of the table corresponding to the new in-flight transaction so that the information indicating the age of the new in-flight transaction is set to the counter value.

8. The hardware data structure of claim 7 , wherein the table control module is further configured, in response to the request detection module detecting that a new transaction is in-flight, to update the entry of the table corresponding to the new in-flight transaction so that the information indicating whether the transaction is in-flight indicates the transaction is in-flight.

9. The hardware data structure of claim 4 , wherein the control logic comprises a response detection module configured to detect when a transaction response has been issued by monitoring one or more control signals of an interface of the hardware design.

10. The hardware data structure of claim 9 , 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, to decrement the counter value.

11. The hardware data structure of claim 9 , 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, to update the entry of the table corresponding to the transaction response so that the information indicating whether the transaction is in-flight indicates the transaction is not in-flight.

12. The hardware data structure of claim 11 , wherein the table control module is further configured, in response to the response detection module detecting that a transaction response has been issued, to decrement the information indicating the age of the transaction in the table for each in-flight transaction.

13. The hardware data structure of claim 9 , 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, to verify that the transaction response has been issued in the predetermined order based on the information indicating the age of the transaction of the entry of the table corresponding to the transaction response.

14. The hardware data structure of claim 13 , wherein the error detection module is configured to verify that the transaction response has been issued in the predetermined order using one or more assertions written in an assertion-based language.

15. The hardware data structure of claim 14 , wherein the error detection module verifies that the transaction response has been issued in the predetermined order by evaluating the one or more assertions for one or more states of the hardware design.

16. The hardware data structure of claim 14 , wherein the error detection module verifies that the transaction response has been issued in the predetermined order by evaluating the one or more assertions as input stimuli are applied to the hardware design.

17. The hardware data structure of claim 14 , wherein the error detection module is configured to verify that the transaction response has been issued in the predetermined order using one or more assertions under one or more fairness constraints.

18. The hardware data structure of claim 3 , wherein each transaction comprises a transaction ID and the entry of the table corresponding to a particular transaction is identified by the transaction ID.

19. A method of tracking a plurality of ordered transactions in a multi-transactional hardware design, the method comprising:

tracking a number of in-flight transactions in the hardware design using a counter;

tracking an age of each of the in-flight transactions in a table using the counter; and

verifying that a transaction response issued by the hardware design has been issued in a predetermined order based on the tracked ages of the in-flight transactions 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 a counter;

track an age of each of the in-flight transactions in a table using the counter; and

verify that a transaction response issued by the multi-transactional hardware design has been issued in a predetermined order based on the tracked ages of the in-flight transactions 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 036389/0922 →