Hardware-based automatic clock gating
First Claim
1. A method comprising:
- providing via a clock switching network (CSN) an associated one of a plurality of core clocks to each of a plurality of integrated circuit (IC) devices on a system-on-a-chip (SOC);
receiving at a hardware clock control unit (HCCU) a software-initiated request specifying a first IC device identifier corresponding to the plurality of IC devices, wherein the software-initiated request is generated at least in part responsive to an earlier indication sent by the HCCU indicating the first IC device is ready for a change in one or more core clocks;
selecting a given entry of a first table using the device identifier, wherein the first table comprises a plurality of entries and each entry of the plurality of entries associates a device identifier with one or more core clock identifiers;
identifying one or more core clock identifiers within the given entry;
for each of the one or more identified core clock identifiers, configuring circuitry within the CSN to generate an identified core clock.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for automatically updating with hardware clock tree settings on a system-on-a-chip (SOC). A SOC includes a hardware clock control unit (HCCU) coupled to a software interface and a clock tree. The SOC also includes multiple integrated circuit (IC) devices, wherein each IC device receives one or more associated core clocks provided by one or more phase lock loops (PLLs) via the clock tree. The HCCU receives a software-initiated request specifying a given IC device is to be enabled. The HCCU identifies one or more core clocks used by the given IC device. For each one of the identified core clocks, the HCCU configures associated circuitry within the clock tree to generate an identified core clock. The HCCU may also traverse the clock tree and disable clock generating gates found not to drive any other enabled gates or IC devices.
-
Citations
20 Claims
-
1. A method comprising:
-
providing via a clock switching network (CSN) an associated one of a plurality of core clocks to each of a plurality of integrated circuit (IC) devices on a system-on-a-chip (SOC); receiving at a hardware clock control unit (HCCU) a software-initiated request specifying a first IC device identifier corresponding to the plurality of IC devices, wherein the software-initiated request is generated at least in part responsive to an earlier indication sent by the HCCU indicating the first IC device is ready for a change in one or more core clocks; selecting a given entry of a first table using the device identifier, wherein the first table comprises a plurality of entries and each entry of the plurality of entries associates a device identifier with one or more core clock identifiers; identifying one or more core clock identifiers within the given entry; for each of the one or more identified core clock identifiers, configuring circuitry within the CSN to generate an identified core clock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system-on-a-chip (SOC) comprising:
-
a software interface; a plurality of phase lock loops (PLLs); a plurality of integrated circuit (IC) devices, each configured to receive one or more associated core clocks of a plurality of core clocks provided by one or more of the plurality of PLLs via a clock switching network; a hardware clock control unit (HCCU) coupled to the software interface and the clock switching network; and a table comprising a plurality of entries, wherein each entry of the plurality of entries associates a device identifier with one or more core clock identifiers; wherein the HCCU is configured to; receive a software-initiated request specifying a first IC device identifier corresponding to the plurality of IC devices, wherein the software-initiated request is generated at least in part responsive to an earlier indication sent by the HCCU indicating the first IC device is ready for a change in one or more core clocks; select a given entry of the table using the first IC device identifier; identify one or more core clock identifiers within the given entry; for each one of the one or more identified core clock identifiers, configure associated circuitry within the clock switching network (CSN) to generate an identified core clock. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A hardware clock control unit (HCCU) on a system-on-a-chip (SOC) comprising:
-
a first interface configured to receive software-initiated requests; a second interface coupled to a clock switching network (CSN) configured to provide an associated one of a plurality of core clocks to each of a plurality of integrated circuit (IC) devices on a system-on-a-chip (SOC); a table comprising a plurality of entries, wherein each entry of the plurality of entries associates a device identifier with one or more core clock identifiers; wherein the control logic is configured to; receive a software-initiated request specifying a first IC device identifier corresponding to the plurality of IC devices, wherein the software-initiated request is generated at least in part responsive to an earlier indication sent by the HCCU indicating the first IC device is ready for a change in one or more core clocks; select a given entry of the table using the first IC device identifier; identify one or more core clock identifiers within the given entry; for each one of the one or more identified core clock identifiers, configure associated circuitry within the clock switching network (CSN) to generate an identified core clock. - View Dependent Claims (18, 19, 20)
-
Specification