IP Library Granted Patent US 10,074,053
Granted Patent B2
US 10,074,053 · App. 15/387,402 · Granted Sep 11, 2018

Clock gating for system-on-chip elements

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,074,053
App. No.
15/387,402
Granted
Sep 11, 2018
Kind
B2
Abstract

An aspect of the present disclosure provides a hardware element in a Network on Chip (NoC), wherein the hardware element includes a clock gating circuit configures one or more neighboring hardware elements to activate before receiving new incoming data and to sleep after a defined number of cycles, wherein the defined number of cycles can be counted from a cycle having non-receipt of incoming data and/or having a clearance of all data within an input queue of a source hardware element.

Claims (24)

1. A hardware element in a Network on Chip (NoC) and/or System on Chip (SoC) comprising:

a buffer, configured to store flits of new incoming data as packets for transmission to one or more neighboring hardware elements; and

a clock gating circuit that configures the one or more neighboring hardware elements to activate before receiving the new incoming data; and to configure the one or more neighboring hardware elements to sleep after a defined number of cycles, said defined number of cycles are counted from a cycle having non-receipt of incoming data and having a clearance of all data within an input queue of a source hardware element, the defined number of cycles being set based on at least one of a predetermined number of cycles and a calculation based on a self-learning process associated with one or more conditions of the at least one of the SoC and the NoC;

wherein the clock gating circuit initiates a hysteresis counter for the one or more neighboring hardware elements being in a sleep state and asserts clock gating based on the hysteresis counter;

wherein the clock gating circuit initiates an idle counter for the one or more neighboring hardware elements based on an arrival time of a receipt of the flits of the incoming data corresponding to the one or more neighboring hardware elements.

2. The hardware element of claim 1 , wherein the clock gating circuit is configured to transmit advance wake up notification to one or more adjacent hardware elements, the notification comprising at least one of a signal and a message.

3. The hardware element of claim 2 , wherein the clock gating circuit is configured to extract information regarding a subsequent hop for incoming data, and transmit said wake up notification only to a hardware element associated with the subsequent hop.

4. The hardware element of claim 1 , wherein the number of cycles is configured based on a hysteresis counter for reducing latency penalty due to clock gating and for saving power.

5. The hardware element of claim 4 , wherein the hysteresis counter value is configured to be set via self-learning based on network traffic and at least one of the SoC and the NoC conditions, wherein the self-learning applies self-correction to the number of cycles.

6. The hardware element of claim 1 , wherein the clock gating circuit uses a window of predetermined number of cycles for information across synchronous and asynchronous clock boundaries with neighboring agents to stabilize, before making clock gating decisions.

7. The hardware element of claim 1 , wherein the clock gating circuit is configured to be overridden.

8. The hardware element of claim 7 , wherein the override can be in form of a local override, and is implemented in form of a programmable internal register or a signal or a combination thereof.

9. The hardware element of claim 7 , wherein the override can be in form of a global override for clock gating circuit provisioned through an external register or a signal.

10. A semiconductor device comprising a Network on Chip (NoC), said NoC comprising:

a buffer, configured to store flits of new incoming data as packets for transmission to one or more neighboring hardware elements; and

a clock gating circuit configured in a hardware element of said NoC, said clock gating circuit configures the one or more neighboring hardware elements to activate before receiving the new incoming data; and to configure the one or more neighboring hardware elements to sleep after a defined number of cycles, said defined number of cycles are counted from a cycle having non-receipt of incoming data and having a clearance of all data within an input queue of a source hardware element, the defined number of cycles being set based on at least one of a predetermined number of cycles and a calculation based on a self-learning process associated with one or more conditions of the NoC;

wherein the clock gating circuit initiates a hysteresis counter for the one or more neighboring hardware elements being in a sleep state and asserts clock gating based on the hysteresis counter;

wherein the clock gating circuit initiates an idle counter for the one or more neighboring hardware elements based on an arrival time of a receipt of the flits of the incoming data corresponding to the one or more neighboring hardware elements.

11. The semiconductor device of claim 10 , wherein the clock gating circuit is configured to transmit advance wake up notification to one or more adjacent hardware elements, the notification comprising at least one of a signal and a flit.

12. The semiconductor device of claim 11 , wherein the clock gating circuit is configured to extract information regarding a subsequent hop for incoming data, and transmit said wake up notification only to a hardware element associated with the subsequent hop.

13. The semiconductor device of claim 10 , wherein the number of cycles is configured based on a hysteresis counter for reducing latency penalty due to clock gating and for saving power.

14. The semiconductor device of claim 13 , wherein the hysteresis counter value is configured to be set via self-learning based on network traffic and NoC conditions, wherein the self-learning applies self-correction to the number of cycles.

15. The semiconductor device of claim 10 , wherein the clock gating circuit uses a window of predetermined number of cycles for information across synchronous and asynchronous clock boundaries with neighboring agents to stabilize, before making clock gating decisions.

16. The semiconductor device of claim 10 , wherein the clock gating circuit is configured to be overridden based on a specification of a route on NoC, from system level.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061827/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: NETSPEED SYSTEMS, INC.
To: INTEL CORPORATION
Reel/Frame 060753/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2018
From: KUMAR, SAILESH; DAS, SANDIP
To: NETSPEED SYSTEMS
Reel/Frame 046554/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2018
From: KONGETIRA, POONACHA
To: NETSPEED SYSTEMS
Reel/Frame 046494/0597 →