Clock gating for system-on-chip elements

US10074053B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10074053-B2
Application numberUS-201615387402-A
CountryUS
Kind codeB2
Filing dateDec 21, 2016
Priority dateOct 1, 2014
Publication dateSep 11, 2018
Grant dateSep 11, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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.

Assignees

Inventors

Classifications

  • Configuration management of networks or network elements (address allocation H04L61/50) · CPC title

  • Means for saving power · CPC title

  • Physics · mapped topic

  • G06N5/045Primary

    Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence · CPC title

  • G06N20/00Primary

    Machine learning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10074053B2 cover?
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 d…
Who is the assignee on this patent?
Netspeed Systems
What technology area does this patent fall under?
Primary CPC classification G06N5/045. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 11 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).