IP Library › Granted Patent US 10,673,745
Granted Patent B2
US 10,673,745 · App. 15/886,583 · Granted Jun 2, 2020

End-to-end quality-of-service in a network-on-chip

Inventors: Ian A. Swarbrick (Santa Clara, CA); Ygal Arbel (Morgan Hill, CA); Millind Mittal (Saratoga, CA); Sagheer Ahmad (Cupertino, CA)
Assignee: XILINX, INC.
H04L45/302G06F15/781G06F15/7825H04L45/00H04L47/24H04L49/109H04L49/205H04L67/34H04W4/50H04L45/38H04L47/6215H04L2012/5651
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,673,745
App. No.
15/886,583
Granted
Jun 2, 2020
Kind
B2
Abstract

An example method of generating a configuration for a network on chip (NoC) in a programmable device includes: receiving traffic flow requirements for a plurality of traffic flows; assigning routes through the NoC for each traffic flow based on the traffic flow requirements; determining arbitration settings for the traffic flows along the assigned routes; generating programming data for the NoC; and loading the programming data to the programmable device to configure the NoC.

Claims (46)

1. A method of generating a configuration for a network on chip (NoC) in a programmable device, comprising:

receiving traffic flow requirements for a plurality of traffic flows;

assigning routes through the NoC for each traffic flow based on the traffic flow requirements;

determining arbitration settings for the traffic flows along the assigned routes;

generating programming data for the NoC; and

loading the programming data to the programmable device, the programmable device including the NoC, loading the programming data to the programmable device includes configuring the NoC.

2. The method of claim 1 , wherein the step of receiving the traffic flow requirements comprises:

receiving source and destination information for each of the plurality of traffic flows.

3. The method of claim 2 , wherein the step of receiving the traffic flow requirements further comprises:

receiving class information for each of the plurality of traffic flows, where the class information includes assignment of one of a plurality of traffic classes to each of the plurality of traffic flows.

4. The method of claim 3 , wherein the step of assigning the routes comprises:

selecting a physical channel for each of the plurality of traffic flows based on assigned source and destination; and

selecting a virtual channel for each of the plurality of traffic flows based on assigned traffic class.

5. The method of claim 3 , wherein the source and destination information includes a master circuit and a slave circuit for each of the plurality of traffic flows.

6. The method of claim 3 , wherein each of the routes is between a master circuit and a slave circuit having one or more switches therebetween.

7. The method of claim 6 , wherein each of the one or more switches includes an arbitrator, and wherein the step of determining the arbitration settings comprises assigning weights to one or more virtual channels input to the arbitrator in each of the one or more switches.

8. A non-transitory computer readable medium having stored thereon instructions executable by a processor to perform a method of generating a configuration for a network on chip (NoC) in a programmable device, comprising:

receiving traffic flow requirements for a plurality of traffic flows;

assigning routes through the NoC for each traffic flow based on the traffic flow requirements;

determining arbitration settings for the traffic flows along the assigned routes;

generating programming data for the NoC; and

loading the programming data to the programmable device, the programmable device including the NoC, wherein the loaded programming data configures the NoC.

9. The non-transitory computer readable medium of claim 8 , wherein the step of receiving the traffic flow requirements comprises:

receiving source and destination information for each of the plurality of traffic flows.

10. The non-transitory computer readable medium of claim 9 , wherein the step of receiving the traffic flow requirements further comprises:

receiving class information for each of the plurality of traffic flows, where the class information includes assignment of one of a plurality of traffic classes to each of the plurality of traffic flows.

11. The non-transitory computer readable medium of claim 10 , wherein the step of assigning the routes comprises:

selecting a physical channel for each of the plurality of traffic flows based on assigned source and destination; and

selecting a virtual channel for each of the plurality of traffic flows based on assigned traffic class.

12. The non-transitory computer readable medium of claim 10 , wherein the source and destination information includes a master circuit and a slave circuit for each of the plurality of traffic flows.

13. The non-transitory computer readable medium of claim 10 , wherein each of the routes is between a master circuit and a slave circuit having one or more switches therebetween.

14. The non-transitory computer readable medium of claim 13 , wherein each of the one or more switches includes an arbitrator, and wherein the step of determining the arbitration settings comprises assigning weights to one or more virtual channels input to the arbitrator in each of the one or more switches.

15. A method of implementing a configuration for a network on chip (NoC) in a programmable device, the method comprising:

assigning routes through the NoC for each traffic flow of a plurality of traffic flows based on traffic flow requirements;

determining arbitration settings for the traffic flows along the assigned routes;

generating programming data for the NoC based on the routes and the arbitration settings; and

loading the programming data to the programmable device, the programmable device being configured to store the programming data to configuration registers of components of the NoC, the NoC being configurable based on data stored in the configuration registers of the components of the NoC.

16. The method of claim 15 , wherein the traffic flow requirements comprises:

source and destination information for each of the plurality of traffic flows; and

class information for each of the plurality of traffic flows, wherein the class information includes assignment of one of a plurality of traffic classes to each of the plurality of traffic flows.

17. The method of claim 16 , wherein assigning the routes comprises:

selecting a physical channel for each of the plurality of traffic flows based on assigned source and destination; and

selecting a virtual channel for each of the plurality of traffic flows based on assigned traffic class.

18. The method of claim 16 , wherein the source and destination information includes a master circuit and a slave circuit for each of the plurality of traffic flows.

19. The method of claim 16 , wherein each of the routes is between a master circuit and a slave circuit having one or more switches therebetween.

20. The method of claim 19 , wherein each of the one or more switches includes an arbitrator, and wherein the step of determining the arbitration settings comprises assigning weights to one or more virtual channels input to the arbitrator in each of the one or more switches.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: SWARBRICK, IAN A.; ARBEL, YGAL; MITTAL, MILLIND; AHMAD, SAGHEER
To: XILINX, INC.
Reel/Frame 044803/0985 →
Continuity (1)
Related Publication 20190238453A1 · Aug 1, 2019
Cited By (6)
US 12,199,884 US 12,248,786 US 12,401,364 US 12,561,257 US 12,656,970 US 12,724,618