WO2004102623A2 - Managing power on integrated circuits using power islands - Google Patents

Managing power on integrated circuits using power islands Download PDF

Info

Publication number
WO2004102623A2
WO2004102623A2 PCT/US2004/014205 US2004014205W WO2004102623A2 WO 2004102623 A2 WO2004102623 A2 WO 2004102623A2 US 2004014205 W US2004014205 W US 2004014205W WO 2004102623 A2 WO2004102623 A2 WO 2004102623A2
Authority
WO
WIPO (PCT)
Prior art keywords
power
islands
level
power islands
action
Prior art date
Application number
PCT/US2004/014205
Other languages
French (fr)
Other versions
WO2004102623A3 (en
Inventor
Barry Alan Hoberman
Daniel L. Hillman
Jon Shiell
Original Assignee
Virtual Silicon Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33452226&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2004102623(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Virtual Silicon Technology, Inc. filed Critical Virtual Silicon Technology, Inc.
Priority to JP2006532832A priority Critical patent/JP2007501478A/en
Priority to KR1020107008956A priority patent/KR101053010B1/en
Priority to EP04751547.3A priority patent/EP1623349B1/en
Priority to KR1020117001439A priority patent/KR101189346B1/en
Publication of WO2004102623A2 publication Critical patent/WO2004102623A2/en
Publication of WO2004102623A3 publication Critical patent/WO2004102623A3/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F3/00Non-retroactive systems for regulating electric variables by using an uncontrolled element, or an uncontrolled combination of elements, such element or such combination having self-regulating properties
    • G05F3/02Regulating voltage or current
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J4/00Circuit arrangements for mains or distribution networks not specified as ac or dc
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates generally to integrated circuits, and more particularly to managing power on integrated circuits using power islands.
  • One design goal for integrated circuits is to reduce power consumption. Devices with batteries such as cell phones and laptops especially need a reduction in power consumption in the integrated circuit to extend the charge of the battery. Additionally, a reduction in power consumption prevents overheating and lowers the heat dissipation of the. integrated circuit, which in some cases, eliminates or simplifies the heat sinks and/or fans for the integrated circuit.
  • Some integrated circuits are designed using building blocks of library cells. These library cells are blocks of circuitry performing a function. Some examples of library cells are NAND gates, multiplexers, decoders, comparators, and memory.
  • the integrated circuit is designed at the lowest level such as at the individual transistors, capacitors, and resistors level.
  • the "full-custom” flow may use library cells that are internally developed.
  • the integrated circuit can have optimal performance because the integrated circuit is designed in great detail at the lowest level.
  • some problems with the "full-custom” flow are the long time and expensive costs associated with designing at such a detailed level.
  • the "full-custom" flow is cumbersome because the design is at the lowest level.
  • the integrated circuit is designed using library cells acquired from a third party or other outside source. These library cells are standardized at the logic or function level. The design time for the standard-cell flow is reduced because the library cells are already, pre-designed and pre-tested.
  • the library cells are selected, and the custom logic is specified to build the integrated circuit.
  • the register transfer level (RTL) for the integrated circuit is then written for simulation and debugging.
  • the synthesis is run for the integrated circuit.
  • Performance measurement software is executed to determine performance of the integrated circuit.
  • the final synthesis of the integrated circuit can then be run based on the optimal performance of the integrated circuit.
  • an integrated circuit is a system-on-a-chip that includes a microprocessor, memory, I/O interfaces, and an analog-to-digital converter all in a single chip.
  • a system-on-a-chip that includes a microprocessor, memory, I/O interfaces, and an analog-to-digital converter all in a single chip.
  • functionahty employed within a single chip, the system-on-a-chip consumes even more power than single function integrated circuits.
  • Some prior integrated circuits have employed voltage islands or multiple clocks to lower power consumption.
  • One problem with these integrated circuits is that the voltages in the power island and the frequencies of the multiple clocks are static. The voltages and the frequencies do not dynamically change based on the needs and operation of the integrated circuit.
  • the invention addresses the above problems by managing power in an integrated circuit using power islands.
  • the integrated circuit includes a plurality of power islands where power consumption is independently controlled within each of the power islands.
  • a power manager determines a target power level for one of the power islands.
  • the power manager determines an action to change a consumption power level of the one of the power islands to the target power level.
  • the power manager performs the action to change the consumption power level of the one of the power islands to the target power level.
  • Power control circuitry controls the power of the one of the power islands.
  • the power islands may be delineated based on geographic factors or functional circuitry of the integrated circuit.
  • the action is selecting a clock frequency for one of the power islands or selecting a clock for one of the power islands.
  • the action is modifying voltage for one of the power islands. The action may be powering on or off one of the power islands.
  • the power manager monitors the power consumption level of one of the power islands, determines whether a threshold level was crossed based on the power consumption level, and performs the action based on the crossing of the threshold level. In some embodiments, the power manager saves and restores a state of components within one of the power islands.
  • HG. 1 is a block diagram of a system for managing power in an integrated circuit in an exemplary implementation of the invention
  • FIG. 2 is a diagram of a system for managing power in an integrated circuit in an exemplary implementation of the invention
  • FIG. 3 is an illustration for low leakage circuitry for a low power standard cell logic block in an exemplary implementation of the invention
  • FIG. 4 is a diagram of a power island in an exemplary implementation of the invention.
  • FIG. 5 is a flowchart from an application request to a slave power manager action in an exemplary implementation of the invention
  • FIG. 6 is an illustration of internal circuitry for a smart power unit in an exemplary implementation of the invention.
  • FIG. 7 is an illustration of external circuitry for a smart power unit in an exemplary implementation of the invention.
  • FIG. 8 is a flowchart from an application request to a smart power unit action in an exemplary implementation of the invention.
  • FIG. 9 is a flowchart for saving an IP unit's state prior to powering down and restoring the IP unit' s state when powering up in an exemplary implementation of the invention
  • FIG. 10 is diagram of a system on a chip and an extended local memory in an exemplary implementation of the invention.
  • FIG. 11 is a flowchart for generating a "hot spot" report from an intermediate power manager to a power management control layer in an exemplary implementation of the invention.
  • FIG. 12 is a diagram of a system on a chip in an exemplary implementation of the invention.
  • FIG. 13 is a flowchart for building a chip with power islands in an exemplary implementation of the invention.
  • FIG. 1 depicts a block diagram of a system 100 for managing power in an integrated circuit 110 in an exemplary implementation of the invention.
  • the system 100 includes an integrated circuit 110 and a power manager 120.
  • the integrated circuit 110 is any electronic device that is instantiated into silicon and or related manufacturing materials.
  • One example of the integrated circuit 110 is a system-on-a-chip.
  • the integrated circuit 110 includes multiple IP units, which are blocks of circuitry performing specific functions.
  • the integrated circuit 110 includes four power islands 112, 114, 116, and 118.
  • FIG. 1 only depicts four power islands 112, 114, 116, and 118 for the sake of simplicity.
  • Other embodiments of the integrated circuit 110 include a plurality of power islands 112, 114, 116, and 118.
  • the power islands 112, 114, 116, and 118 are coupled to a bus 125.
  • a power island 112, 114, 116, and 118 is any section, delineation, partition, or division of the integrated circuit 110 where power consumption is controlled within the section, delineation, partition, or division.
  • the power islands 112, 114, 116, and 118 are delineated based on geographic factors of the integrated circuit 110.
  • the power islands 112, 114, 116, and 118 are delineated based on functional IP units of the integrated circuit 110.
  • power islands are delineated by memory, a microprocessor, and separate IP blocks.
  • the power islands 112, 114, 116, and 118 are asynchronous or synchronous to each other.
  • the power islands 112, 114, 116, and 118 comprise sub-islands of power to provide further specificity in controlling power in the integrated circuit 110.
  • each of the power islands 112, 114, 116, and 118 supports multiple clock domains with its own control.
  • the clocks within the power islands 112, 114, 116, and 118 are variable.
  • each of the power islands 112, 114, 116, and 118 includes power control circuitry.
  • Power control circuitry is any circuitry configured to control power within one of the power islands 112, 114, 116, and 118.
  • Some examples of power control circuitry include circuitry for level shifting, signal isolation, Vdd multiplexing, clock multiplexing, and dynamic back bias.
  • the power control circuitry is included in a standard cell library for standard cell design of the integrated circuit 110.
  • the power manager 120 is also coupled to the bus 125.
  • One example of the bus 125 is a power command bus described in further detail below in FIG. 10.
  • Other embodiments of the system 100 include numerous variations in which the power manager 120 and the power islands 112, 114, 116, and 118 are interconnected.
  • the power manager 120 is any circuitry, device, or system configured to (1) determine a target power level for one of the power islands 112, 114, 116, and 118 where power consumption is independently controlled within each of the power islands 112, 114, 116, and 118, (2) determine action to change a consumption power level of the one of the power islands 112, 114, 116, and 118 to the target power level, and (3) perform the action to change the consumption power level of the one of the power islands 112, 114, 116, and 118 to the target power level.
  • the power manager 120 can dynamically change the power consumption of the power islands 112, 114, 116, and 118 based on the needs and operation of the integrated circuit 110.
  • the target power level is a desired, calculated, or specified power consumption of the power islands 112, 114, 116, and 118.
  • the power manager 120 are the slave power manager (SPM), the intermediate power manager (IPM), and the master power manager (MPM), which are described in further detail below.
  • the power manager 120 may be a hierarchy or group of power managers 120. Although FIG. 1 depicts the power manager 120 as being located outside the integrated circuit 110, other embodiments may have the power manager 120 located in the integrated circuit 110. In other embodiments, the power manager 120 may be distributed among multiple power managers that are on or off the integrated circuit 110 or integrated with a CPU.
  • the action is any instruction, message, process, function, signal, or variable that controls power consumption in the power island 112, 114, 116, and 118.
  • Some examples of actions are clock gating and dynamic clock selection.
  • Another example of an action is modifying a clock frequency of one of the power islands 112, 114, 116, and 118.
  • Another example of an action is to modify voltage of one of the power islands 112, 114, 116, and 118 such as dynamic voltage source, Vdd, selection.
  • Another example of an action is to control dynamic leakage by controlling variable Vt transistors.
  • FIG. 2 depicts a diagram of a system 200 for managing power in an integrated circuit 250 in an exemplary implementation of the invention.
  • the system 200 includes an embedded firmware stack 210 and an integrated circuit 250.
  • the embedded firmware stack 210 includes software layers that run on a central processing unit (CPU).
  • the embedded firmware stack 210 may include an application layer 212, an operating system (OS) sub-system 216, a power management control layer (PMCL) 218, a real-time operating system (RTOS) 220, I/O drivers 222, and power manager (PM) firmware 224 for the MPM, IPM and/or SPM.
  • OS operating system
  • PMCL power management control layer
  • RTOS real-time operating system
  • PM power manager
  • the integrated circuit 250 includes a power island 260, a power island 270, and a MPM 280.
  • the power island 260 includes a low power standard cell logic block 262 and a SPM 264.
  • the power island 270 includes a low power memory block 272 and a SPM 274.
  • the low power standard cell logic block 262 and the low power memory block are coupled to an interface 265.
  • the MPM 280 is coupled to the PMCL 218, the SPM 264, and the SPM 274.
  • the application layer 212 includes a global power application layer (GPAL) 214.
  • GPAL global power application layer
  • This GPAL 214 may be useful for more complex applications. If the GPAL 214 is present, then all calls to the PMCL 218 application program interfaces (API) are first directed to the GPAL 214.
  • Both the GPAL 214 and the PMCL 218 provide power management for the integrated circuit 250.
  • the GPAL 214 and/or the PMCL 218 monitor what load is on each power island 260 and 270,. Also, the GPAL 214 and/or the PMCL 218 may build a history of power levels on the power island 260 and 270 and store the history data in a database.
  • the GPAL 214 and the PMCL 218 may also provide data for on-demand resources interested in the power levels of the power islands 260 and 270.
  • the GPAL 214 when the GPAL 214 is present, the GPAL 214 provides guidance to the PMCL 218 in making local decisions for power management of the integrated circuit 250.
  • the GPAL 214 and the PMCL 218 include complex algorithms for a static schedule.
  • the GPAL 214 and the PMCL 218 provide the facility for use code to interact and control power behavior and parameters including providing a database and statistics.
  • the PMCL 218 also collects information from the MPM 280 and provides commands to the MPM 280 for possible IPMs, SPMs 264 and 274, and the power islands 260 and 270. Some of the commands may be to power on/off, change the power level, or change the frequency of the power islands 260 and 270.
  • the GPAL 214 and the PMCL 218 are responsible for communication with the SPU 290 to implement a power policy and collect information on the actual power supply.
  • the SPU 290 is described in further detail below in FIGS. 6-8.
  • the GPAL 214 and the PMCL 218 provides sockets for existing power management techniques.
  • the power manager firmware 224 is firmware executed by the master power manager 280, the intermediate power manager, and the slave power managers 264 and 274.
  • the MPM 280 is any circuitry configured to control the "global" power behavior of the entire integrated circuit 250. In some embodiments, there are multiple MPMs 280 that control the power behavior of the entire integrated circuit 250. In some embodiments, the MPM 280 communicates with existing IPMs and SPMs 264 and 274 to control power within the power islands 260 and 270. The MPM 280 may receive status information about the power islands 260 and 270 from the SPMs 264 and 274 and the IPMs. The MPM 280 may also determine power trade-offs between the IPMs and the SPMs 264 and 274.
  • the MPM 280 may also provide a main interface to the PMCL 218 firmware.
  • the MPM 280 communicates with the PMCL 218 to accept commands (e.g.. memory mapped commands) and provide status information about the power within the integrated circuit 250.
  • the MPM 280 communicates with the PMCL 218 through the main bus for the integrated circuit 250.
  • the MPM 280 may also register each of the SPMs 264 and 274 and IPMs and capabilities with the PMCL 218. Some operations of the MPM 280 are described in further detail below in FIGS. 5, 8, 9, and 11.
  • the MPM 280 reads and writes scan chains for state save and restore along with the local logic analyzer ability.
  • Some embodiments may include an IPM (not shown) that coordinates SPMs 264 and 274 on behalf of the MPM 280.
  • the IPM controls and coordinates power behavior on portions of the area controlled by the MPM 280.
  • the IPM controls the SPMs 264 and 274 that are on a separate chip from the MPM 280.
  • the SPM 264 is any circuitry configured to control power within a power island 264 in the integrated circuit 250.
  • One example of the SPM 264 is an LP block that controls power within a power island 264 in the integrated circuit 250.
  • the SPM 264 may include signal buffering, level shifting, and signal isolation.
  • the SPM 264 is integrated into scan chains to provide easier implementation and integration.
  • the SPM 264 has a very small "footprint" with a low gate count and low power.
  • the SPM 264 comprises a command interface to communicate status information, service requests, and commands. Some of the commands are load, sleep, and idle. The SPM 264 may also recognize its own address to allow for multi-drop bussing.
  • the SPM 264 has registration capabilities. For registration at power-up, the SPM 264 uses callback registration that is typically used for off chip SPMs and IPMs. For static registration when the integrated circuit is generated for on chip SPMs, the SPM 264 registers what the SPM 264 can do, what the IPM can do, and the type of commands that the SPM 264 or IPM can service. The SPM 264 may also have save and restore functions for power off periods. The SPM 264 may have watch-dog timer(s). In some embodiments, the SPM 264 has a debug interface coordination to the power island 260. The SPM 264 may also monitor local state and collect information for components within the power island 260. The SPM 264 may also locally control Vdd, clocks for frequency selection, and dynamic back biasing. The description for the SPM 264 also applies to the SPM 274 for the power island 270.
  • the SPM 264 checks whether an event occurs when the collected information from the power island 260 crosses a threshold or exceeds a range.
  • the SPM 264, IPMs, or the MPM 280 monitors power consumption levels of the power island 260 to check whether the power consumption levels cross a threshold level or exceed a range.
  • a power consumption level is any information, data, or statistic that indicate the power consumed in a power island 260. Some examples of power consumption levels are temperature and power.
  • the threshold or range may be programmable.
  • the SPM 264 may report the event asynchronously, or another element such as the MPM 280 may solicit whether an event has occurred.
  • the event may also be a multi-level test such as the conditions occur at a greater than a given, programmable frequency or exceed a given, programmable duration.
  • the low power standard cell logic block 262 one example of a standard cell library that may be included in the power island 260.
  • the standard cell library is optimized for lower power.
  • the standard cell library may be characterized over a range of operating voltages.
  • the standard cell library includes synchronous circuits and/or asynchronous circuits.
  • the standard cell library includes static circuits and or encapsulated, dynamic logic circuits.
  • the standard cell library may also include multiple voltage domain interface circuits such as level shifters and signal isolation circuits.
  • the standard cell library may also have a multi-threshold design and characterization such as standard Vt, high Vt, low Vt, and variable Vt circuits.
  • the standard cell library may also include data retention (shadow) circuits and anti-glitch circuits.
  • the standard cell library may also include low leakage "sleep" circuits.
  • FIG. 3 depicts an illustration of low leakage circuitry 300 for the low power standard cell logic block 262 in an exemplary implementation of the invention.
  • HG. 4 depicts a diagram of the power island 270 in an exemplary implementation of the invention.
  • the power island 270 includes a low power memory block 272 and the SPM 274.
  • the low power memory block 272 includes banked architectures 410, 420, 430, and 440 for memories and sleep, power down circuitry 450.
  • the memory in the power island 270 is RAM and/or ROM.
  • Some examples of the RAM are the SRAM compilers such as single-port, 2-port, and dual-port.
  • Some examples of the ROM are ROM compilers.
  • Some memories in the power island 270 are optimized for low power such as the low power memory block 272.
  • the low power memory block 272 includes multiple bank architectures via the compiler such as banked architectures 410, 420, 430, and 440.
  • the memories in the power island 270 may also include sleep, power down circuitry 450 for low power modes such as sleep, nap, and full power down.
  • the memories in the power island 270 may also include programmable read/write ports.
  • the memories in the power island 270 may also be an asynchronous and/or synchronous design.
  • the system 200 also includes a smart power unit (SPU) 290.
  • the SPU 290 is off -chip to the integrated circuit 250.
  • the SPU 290 is an external unit configured to control power and clock distribution to the integrated circuit.
  • the circuitry of the SPU is described in further detail below in HGS. 7 and 8.
  • HG. 5 depicts a flowchart from an application request to an SPM action in an exemplary implementation of the invention.
  • HG. 5 begins in step 500.
  • an application is invoked such as playing a movie.
  • the application determines the required frequency for performance of an IP unit. For example, the application determines a specified frequency in MHz for LP unit for an MPEG decoder.
  • the required frequency will be an artificial measure of performance.
  • the minimum performance for each clock is specified.
  • step 506 the application invokes the PMCL 218 API call.
  • This call is "Set_Rate (unit Y, N MHz, degree of dynamic power management (DPM) allowed, DPM threshold, other information to allow DPM trade-offs, starting back bias for SPMs with dynamic bias, wait for power up flag).”
  • the other information could be "no power off, use high Vt and clocks off instead” and "major waits are about 10 us, with a 400 ns threshold.”
  • the PMCL 218 API call allows the application to specify all required frequencies.
  • the PMCL 218 determines possible trade-offs available for the unit and selects a frequency rate, Vdd, and Vt if applicable for the unit that best meets the given requirements in step 508 and determines the applicable SPMs 264 and 274 in step 510.
  • the MPM 280 or LPM performs steps 508 and 510.
  • the Vdd and Vt specified would allow for all specified clocks to meet or exceed their required frequencies.
  • step 512 the PMCL 218 then writes the desired setting for the SPMs 264 and 274 to the MPM 280 (or IPM).
  • step 514 the MPM 280 (or IPM) converts the request into one or more commands for the SPMs 264 and 274 (or IPM) associated with the unit.
  • step 516 if the application sets the wait for power up flag, the PMCL 218 then waits until the IP unit is fully powered up before returning from the call. Otherwise, the call returns as soon as the command is acknowledged, with status of 0 for okay, 1 for fast power-up, 2 for slow power-up, or 3+ for error conditions.
  • the powered up state is when the unit is at the desired Vdd for the requested frequency, and not just that the unit is turned on.
  • step 518 the MPM 280 (or IPM) sends the requests to the appropriate targets.
  • step 520 the MPM 280 waits for the receipt of the acknowledgements that indicate message received and executed or execution has begun. A NACK or negative acknowledgement may also be returned from the SPM 264 and 274.
  • step 522 the SPM 264 receives the commands and performs the actions.
  • Steps 524-528 are possible actions that the SPM 264 may perform.
  • step 524 the SPM 264 switches the Vdd mux.
  • step 526 the SPM 264 switches a clock mux. In some embodiments when the voltage goes down, step 526 is performed before step 524.
  • step 528 the SPM 264 changes the Vt on the associated transistors. After the SPM 264 performs the actions, the SPM 264 returns a status message upstream indicating acknowledgement or negative acknowledgement in step 530. HG. 5 ends in step 532.
  • FIG. 6 depicts an illustration of internal ' circuitry 600 for an SPU 290 in an exemplary implementation of the invention.
  • the internal circuitry 600 for the SPU 290 is internal to the integrated circuit 250 of HG. 2.
  • the internal circuitry 600 includes an external voltage 610, a dropout voltage regulator 620, a dropout voltage regulator 630, a logic block 640, and a logic block 650.
  • HG. 7 depicts an illustration of external circuitry 700 for an SPU 290 in an exemplary implementation of the invention.
  • the external circuitry 700 for the SPU 290 is external to the integrated circuit 250 of HG. 2.
  • the internal circuitry 700 includes an external voltage 710, a power supply pin 720, a power supply pin 730, a power supply pin 740, a logic block 750, a logic block 760, and a logic block 770.
  • the external circuitry 700 for the SPU 290 provides a DC/DC conversion.
  • the DC/DC conversion provides multiple independent power supply pins 720, 730, and 740.
  • the power supply pins 720, 730, and 740 have a variable voltage supply on each separate power pin. Also, in some embodiments, the variable voltage is within a range and in steps.
  • the PMCL 218 controls the voltage to power supply pins 720, 730, and 740.
  • HG. 8 depicts a flowchart from an application request to an SPU action in an exemplary implementation of the invention.
  • HG. 8 begins in step 800.
  • an application is invoked.
  • the application determines the required frequency for per ormance of an IP unit. For example, the application determines a specified frequency in MHz for IP unit for an MPEG decoder.
  • step 806 the application invokes the PMCL 218 API call.
  • This call is "Set_Rate (unit Y, N MHz, degree of dynamic power management (DPM) allowed, DPM threshold, other information to allow DPM trade-offs, starting back bias for SPMs with dynamic bias, wait for power up flag).”
  • the other information could be "no power off, use high Vt and clocks off instead” and "major waits are about 10 us, with a 400 ns threshold.”
  • the PMCL 218 determines possible trade-offs available for the unit and selects a the lowest possible Vdd that will support the requested frequency in step 808 and determines the SPMs 264 and 274 that will be affected and which power PL s to change in step 810.
  • step 812 the PMCL 218 sends a command to the MPM 280 to have the SPMs 264 and 274 (and IPM) to prepare for a Vdd change.
  • step 814 the PMCL 218 waits for the acknowledgement from the MPM 280.
  • step 816 the PMCL 218 sends a command to the SPU 290 to change the Vdd on the selected power pins and waits for the affected area to "settle down.”
  • step 818 the PMCL 218 then sends a "resume operation at a specified frequency" command to the MPM 280.
  • step 820 the MPM 280 propagates the resume command to all affected SPMs 264 and 274 (and IPMs).
  • step 822 one of the power managers (i.e. MPM 280, IPM, or SPMs 264 and 274) sets the specified frequency.
  • step 824 the IP unit operation resumes after the clock has settled. HG. 8 ends in step 826.
  • the user application has the option of waiting for the entire operation to finish or to continue and either query the PMCL 218 as to the progress of the operation or wait for a "finished" interrupt from the PMCL 218.
  • HG. 9 depicts a flowchart for saving an IP unit's state prior to powering down and restoring the IP unit's state when powering up in an exemplary implementation of the invention.
  • HG. 9 begins in step 900.
  • the user application requests that the PMCL 218 power off an IP unit and wants to save the IP unit's state.
  • the reconfiguration of the IP unit takes a long time.
  • the request in step 902 may be accompanied by the address of an area to which the state should be saved.
  • step 904 the PMCL 218 sends a "stop clock and read IP unit state" message to the MPM 280.
  • the MPM 280 then propagates the "stop clock and read IP unit state” message to the SPMs 264 and 274 of the affected unit in step 906.
  • step 908 the MPM 280 uses the scan chain for the TP unit to read the state into a register or buffer for presentation to the PMCL 218.
  • step 910 if the PMCL 218 provided the MPM 280 with the address of the save area, the MPM 280 saves the state information directly in the specified area.
  • step 912 after all of the IP units' state has been saved, the PMCL 218 sends a "power off IP unit” message to the MPM 280.
  • step 914 the MPM 280 then propagates out the "power off IP unit” message.
  • step 916 the PMCL 218 returns the save state area to the user application.
  • the save state area contains the state of the unit.
  • the user application requests that the PMCL 218 power the IP unit back up and restore the state of the IP unit.
  • the user application request includes the address o the area to which the state was saved.
  • the PMCL 218 sends a "power up IP unit with clocks off and restore state" message to the MPM 280.
  • the MPM 280 propagates the "power up IP unit with clocks off and restore state” message to the SPMs 264 and 274 of the affected LP unit.
  • the MPM 280 uses the scan chain to reload the unit's state.
  • the reloading of the unit's state originates directly from the save area or from information passed to the MPM 280 from the PMCL 218.
  • the PMCL 218 sends a message to the MPM 280 to turn clock back on and report to user application that the IP unit is ready to continue operations.
  • HG. 9 ends in step 928.
  • HG. 9 the same functionality of HG. 9 can be used to implement an internal "logic analyzer" function, in which the IP unit in question would not be powered down after being read. If the associated SPMs 264 and 274 of the IP unit have the ability to single- or multi- step the clock, the local scan testing is performed by having the SPMs 264 and 274 "signal isolate" the IP unit. Then, use of a combination of the ability of single- or multi-step the clock and the ability to use the scan chain can read/write the IP unit's internal state.
  • HG. 10 depicts a diagram of a system-on-a-chip (SOC) 1000 and an extended local memory 1004 in an exemplary implementation of the invention.
  • the SOC 1000 is one example of the integrated circuit 250 and communicates with the embedded firmware stack 210 in HG. 2 as described above.
  • the SOC 1000 includes a CPU 1010, a local memory 1020, a memory controller 1030, a mixed signal circuitry 1040, an application specific circuitry 1050, a PCI-X circuitry 1060, a MPM 1070, a real-time clock (RTC) 1075, an Ethernet circuitry 1080, and a USB circuitry 1090.
  • RTC real-time clock
  • the CPU 1010, the local memory 1020, the memory controller 1030, the mixed signal circuitry 1040, the application specific circuitry 1050, the PCI-X circuitry 1060, the Ethernet circuitry 1080, and the USB circuitry 1090 are all power islands in which power is controlled within the power islands by power managers.
  • the power islands are delineated by the functionality of a part of the SOC 1000.
  • the extended local memory 1004 includes an IPM 1006 that is coupled to the bus 1071.
  • the CPU 1010 includes an SPM 1015 that is coupled to the bus 1071.
  • the local memory 1020 includes an SPM 1025 that is also coupled to the bus 1071.
  • the memory controller 1030 comprises an SPM 1035 that is coupled to the bus 1071.
  • the mixed signal circuitry 1040 includes an SPM 1045 that is coupled to the bus 1071.
  • the application specific circuitry 1050 includes an IPM 1055 and an SPM 1058 that are both coupled to the bus 1072.
  • the PCI-X circuitry 1060 includes an SPM 1065 that is coupled to the bus 1072.
  • the MPM 1070 is coupled to the bus 1071 and the bus 1072.
  • the MPM 1070 is one example of the MPM 280 as described above.
  • the Ethernet circuitry 1080 includes an SPM 1085 that is coupled to the bus 1072.
  • the USB circuitry 1090 includes an SPM 1095 that is coupled to the bus 1072.
  • power command buses comprise the bus 1071 and the bus 1072.
  • the bus 1071 and 1072 are simple multi-drop serial buses that may cross chip boundaries and interconnect power managers.
  • the power command bus may be a combination of serial busses, such as the bus 1071 and the bus 1072, with one per region of the chip and then multi-drop within the region.
  • the power command bus includes a parallel bus or a combination of serial and parallel busses.
  • the power command bus is the system bus.
  • the power command bus may contain messages with at least a unit ID with the associated payload. For a fixed point to point bus, the message does not need a unit ID only the payload.
  • the power command bus uses an error detection scheme such as parity, ECC, or a redundant code.
  • the power command bus is a low performance bus that does not interfere with the integrated circuit design and is not visible to the user.
  • the communication between the PMCL 218 and the MPM 1070 is memory mapped and based on the main bus such as an AHB for an SOC 1000.
  • Some embodiments may include a separate bus for reporting status information between the power managers.
  • this separate bus provides asynchronous "Alert" type status messages from SPMs to the MPM.
  • the message format includes a start of message indicator, a power manager address, type code, basic command, and an end of message indicator.
  • the message format includes the basic format, an additional length, and additional information.
  • the message format includes a start of message reply indictor, a power manager address, a 3b ACK or NAK or return status (implied ACK), a payload length for return status messages, a payload for return status messages, a reason code for NAK, and an end of message indicator.
  • the SPM 1015 or the IPM 1006 times out on replying to a command, and the MPM 1070 reissues the command a programmable number of times. If the SPM 1015 or the IPM 1006 still fails, the MPM 1070 marks the SPM 1015 or the IPM 1006 as unusable and reports back the failure to the PMCL 218. In one embodiment, the PMCL 218 has the MPM 1070 reinitialize the failing SPM 1015 or the IPM 1006 via the scan system and then retries sending the message. Other conditions such as invalid responses to commands or invalid status reports are also handled by the re-initialization. In some embodiments, the state of the failing SPM 1015 or the IPM 1006 may be read out and saved for later analysis.
  • HG. 11 depicts a flowchart for generating a "hot spot" report from an IPM 1055 to the PMCL 218 in an exemplary implementation of the invention.
  • HG. 11 begins in step 1100.
  • the IPM 1055 monitors the temperature statistics of the SPMs.
  • the IPM 1055 checks whether the mean temperature has exceeded a predetermined and programmed threshold. If the mean temperature has not exceeded the threshold, the IPM 1055 returns to step 1102 to keep monitoring. If the mean temperature has exceeded the threshold, the IPM 1055 then generates a problem ("hot spot") report message in step 1106.
  • the IPM 1055 waits for the next status query the MPM 1070.
  • a logically separate bus is provided for asynchronous status reports to the MPM 280.
  • the MPM 1070 receives the hot spot report message.
  • the MPM 1070 either waits for further confirmation (i.e. see that the "hot spot" last pasts a predetermined threshold) or immediately takes action to fix the problem depending on the internal logic of the MPM 1070.
  • the MPM 1070 takes action by posting an interrupt to the PMCL 280 that it needs attention. In other embodiments, if the PMCL 280 queries the MPM 1070 often enough, then the interrupt is not needed.
  • the MPM 1070 (or IPM) fixes the problem by making a local trade-off, performing the action, or ordering the action to be performed.
  • One example of fixing the problem is lowering the operating frequency of the hot spot area.
  • the MPM 1070 reports both the problem and the fixing of the problem upstream.
  • step 1120 the PMCL 218 reads the modified hot spot report from the MPM 1070.
  • step 1122 the PMCL 218 determines what action to take to fix the problem or notify the GPAL 1070 to fix the problem. In this step, the software will make the trade-off required to fix the problem. In some embodiments, if the GPAL 214 determines the high level fix, then the GPAL 214 sends it to the PMCL 280 to be converted into MPM commands.
  • step 1126 the PMCL 218 monitors the problem area for a specified time to check if the problem is fixed. HG. 11 ends in step 1128.
  • the type of functionality in HG. 11 can be performed at other levels such as the PMCL 218.
  • the PMCL 218 queries (via the MPM 1070) all the SPMs that have the desired measurement ability (and IPMs) as to their local conditions and can then, for example, build a "map" of power usage that it can then act on.
  • HG. 12 depicts a diagram of a system-on-a-chip (SOC) 1200 in another exemplary implementation of the invention.
  • the SOC 1200 is attached to a sensor link 1212, an RF link 1214, a control link 1216, a video link 1294, an audio link 1295, an interface link 1296, a control link 1297, and a power link 1298.
  • the SOC 1200 includes clock and distribution management 1210, an IP block power island 1220, a memory power island 1230, a microprocessor power island 1240, an IP block power island 1250, a distribution power island 1260, an IP block power island 1270, an IP block power island 1280, and power and distribution management 1290.
  • the IP block power island 1220 includes a product standard interface IP block including an analog-to-digital converter (ADC) 1222, which includes an SPM 1224.
  • the IP block power island 1230 includes a memory 1232, which includes an SPM 1234.
  • the microprocessor power island 1240 includes a microprocessor 1242, which includes an SPM 1244.
  • the LP block power island 1250 includes a product standard interface L? block including ADC 1252, which includes an SPM 1254.
  • the distribution power island 1260 includes a data and signal distribution 1262, which includes an SPM 1264.
  • the IP block power island 1270 includes a general purpose IP block including a digital signal processor (DSP) 1272, which includes an SPM 1274.
  • the IP block power island 1280 includes a product-specific LP block 1282, which includes an SPM 1284.
  • the power and distribution management 1290 includes an MPM 1292.
  • HG. 13 depicts a flowchart for building a chip with power islands in an exemplary implementation of the invention.
  • HG. 13 begins in step 1300.
  • the IPs or library cells are selected, and the custom logic, if any, is specified to be used to build the chip.
  • the maximum and sub clock rate, % idle time, and minimum and maximum Vdd are specified.
  • the register transfer level (RTL) is written.
  • the RTL is simulated and debugged.
  • a software tool may be used to add annotations for the MPM, IPM, and/or SPM blocks in step 1308.
  • the desired functionality options are specified in the annotations.
  • the optional functionality is specified per SPM block.
  • the RTL is annotated with SPM configuration information on a per-module basis.
  • the proper annotation is inserted by hand on a per module basis during or after the RTL is written.
  • a separate table in the proper format is created with the module names and respective annotations.
  • a separate software tool provides the ability to interactively build the separate table.
  • the software tool adds the proper annotation to the un-annotated modules in the RTL using information from the table.
  • step 1310 the synthesis is run on a power island basis, where power islands are not mixed.
  • step 1312 performance measurement software is run on each module for each Vdd and Vt option, and then the annotations for the MPM are added to the RTL. In some embodiments, the performance of the design is measured at all desired voltages and Vt combinations. The software tool then derives the actual frequency, Vdd, and Vt tables for each SPM and back annotates the MPM (or LPM) RTL of the SPM characteristics.
  • step 1314 the final synthesis is run on a power island basis. In some embodiments, the modules are separately routed or by SPM.
  • step 1316 the software tool is run to hook up power and clocks to each SPM. Step 1318 is the rest of the steps to tape-out. In some embodiments, the software tool generates the finished net-list with all information. HG. 13 ends in step 1320.
  • the above-described elements can be comprised of instructions that are stored on storage media.
  • the instructions can be retrieved and executed by a processor.
  • Some examples of instructions are software, program code, and firmware.
  • Some examples of storage media are memory devices, tape, disks, integrated circuits, and servers.
  • the instructions are operational when executed by the processor to direct the processor to operate in accord with the invention. Those skilled in the art are familiar with instructions, processor, and storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Microcomputers (AREA)

Abstract

Systems and methods manage power in an integrated circuit using power islands. The integrated circuit includes a plurality of power islands where power consumption is independently controlled within each of the power islands. A power manager determines a target power level for one of the power islands. The power manager then determines an action to change a consumption power level of the one of the power islands to the target power level. The power manager performs the action to change the consumption power level of the one of the power islands to the target power level.

Description

MANAGING POWER
ON INTEGRATED CIRCUITS
USING POWER ISLANDS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial Number 60/468,742 titled "System and Method for Managing Power in Integrated Circuits," filed May 7, 2003, which is hereby incorporated by reference.
BACKGROUND
1. Field of the Invention
[0002] The present invention relates generally to integrated circuits, and more particularly to managing power on integrated circuits using power islands.
2. Description of the Prior Art
[0003] One design goal for integrated circuits is to reduce power consumption. Devices with batteries such as cell phones and laptops especially need a reduction in power consumption in the integrated circuit to extend the charge of the battery. Additionally, a reduction in power consumption prevents overheating and lowers the heat dissipation of the. integrated circuit, which in some cases, eliminates or simplifies the heat sinks and/or fans for the integrated circuit. [0004] Some integrated circuits are designed using building blocks of library cells. These library cells are blocks of circuitry performing a function. Some examples of library cells are NAND gates, multiplexers, decoders, comparators, and memory.
[0005] In a "full-custom" flow, the integrated circuit is designed at the lowest level such as at the individual transistors, capacitors, and resistors level. The "full-custom" flow may use library cells that are internally developed. The integrated circuit can have optimal performance because the integrated circuit is designed in great detail at the lowest level. However, some problems with the "full-custom" flow are the long time and expensive costs associated with designing at such a detailed level. Furthermore, the "full-custom" flow is cumbersome because the design is at the lowest level.
[0006] In a "standard-cell" flow, the integrated circuit is designed using library cells acquired from a third party or other outside source. These library cells are standardized at the logic or function level. The design time for the standard-cell flow is reduced because the library cells are already, pre-designed and pre-tested.
[0007] In one example for designing an integrated circuit, the library cells are selected, and the custom logic is specified to build the integrated circuit. The register transfer level (RTL) for the integrated circuit is then written for simulation and debugging. After simulation and debugging, the synthesis is run for the integrated circuit. Performance measurement software is executed to determine performance of the integrated circuit. The final synthesis of the integrated circuit can then be run based on the optimal performance of the integrated circuit.
[0008] One problem with many integrated circuits is that power consumption is not efficiently utilized. For example, the entire integrated circuit may operate at a maximum frequency just to support an application needing that maximum frequency, while other portions of the integrated circuit can operate at a lower frequency. In another example, inactive circuitry within the integrated circuit consumes power and increases the likelihood of leakage. Inefficient power consumption may also adversely affect performance of the integrated circuit.
[0009] With the growing complexity of integrated circuits, the reduction of power consumption is even more important when the integrated circuit employs more functionality. One example of an integrated circuit is a system-on-a-chip that includes a microprocessor, memory, I/O interfaces, and an analog-to-digital converter all in a single chip. With many different types of functionahty employed within a single chip, the system-on-a-chip consumes even more power than single function integrated circuits.
[00010] Some prior integrated circuits have employed voltage islands or multiple clocks to lower power consumption. One problem with these integrated circuits is that the voltages in the power island and the frequencies of the multiple clocks are static. The voltages and the frequencies do not dynamically change based on the needs and operation of the integrated circuit.
SUMMARY OF THE INVENTION
[00011] The invention addresses the above problems by managing power in an integrated circuit using power islands. The integrated circuit includes a plurality of power islands where power consumption is independently controlled within each of the power islands. A power manager determines a target power level for one of the power islands. The power manager then determines an action to change a consumption power level of the one of the power islands to the target power level. The power manager performs the action to change the consumption power level of the one of the power islands to the target power level. Power control circuitry controls the power of the one of the power islands.
[00012] The power islands may be delineated based on geographic factors or functional circuitry of the integrated circuit. In some embodiments, the action is selecting a clock frequency for one of the power islands or selecting a clock for one of the power islands. In some embodiments, the action is modifying voltage for one of the power islands. The action may be powering on or off one of the power islands.
[00013] In some embodiments, the power manager monitors the power consumption level of one of the power islands, determines whether a threshold level was crossed based on the power consumption level, and performs the action based on the crossing of the threshold level. In some embodiments, the power manager saves and restores a state of components within one of the power islands.
BRIEF DESCRIPTION OF THE DRAWINGS
[00014] HG. 1 is a block diagram of a system for managing power in an integrated circuit in an exemplary implementation of the invention;
[00015] FIG. 2 is a diagram of a system for managing power in an integrated circuit in an exemplary implementation of the invention;
[00016] FIG. 3 is an illustration for low leakage circuitry for a low power standard cell logic block in an exemplary implementation of the invention;
[00017] FIG. 4 is a diagram of a power island in an exemplary implementation of the invention;
[00018] FIG. 5 is a flowchart from an application request to a slave power manager action in an exemplary implementation of the invention;
[00019] FIG. 6 is an illustration of internal circuitry for a smart power unit in an exemplary implementation of the invention;
[00020] FIG. 7 is an illustration of external circuitry for a smart power unit in an exemplary implementation of the invention;
[00021] FIG. 8 is a flowchart from an application request to a smart power unit action in an exemplary implementation of the invention;
[00022] FIG. 9 is a flowchart for saving an IP unit's state prior to powering down and restoring the IP unit' s state when powering up in an exemplary implementation of the invention;
[00023] FIG. 10 is diagram of a system on a chip and an extended local memory in an exemplary implementation of the invention;
[00024] FIG. 11 is a flowchart for generating a "hot spot" report from an intermediate power manager to a power management control layer in an exemplary implementation of the invention. [00025] FIG. 12 is a diagram of a system on a chip in an exemplary implementation of the invention; and
[00026] FIG. 13 is a flowchart for building a chip with power islands in an exemplary implementation of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[00027] As shown in the exemplary drawings wherein like reference numerals indicate like or corresponding elements among the figures, exemplary embodiments of a system and method according to the present invention are described below in detail. It is to be understood, however, that the present invention may be embodied in various forms. Therefore, specific details disclosed herein are not to be interpreted as limiting, but rather as a basis for the claims and as a representative basis for teaching one skilled in the art to employ the present invention in virtually any appropriately detailed system, structure, method, process or manner.
[00028] FIG. 1 depicts a block diagram of a system 100 for managing power in an integrated circuit 110 in an exemplary implementation of the invention. The system 100 includes an integrated circuit 110 and a power manager 120. The integrated circuit 110 is any electronic device that is instantiated into silicon and or related manufacturing materials. One example of the integrated circuit 110 is a system-on-a-chip. The integrated circuit 110 includes multiple IP units, which are blocks of circuitry performing specific functions.
[00029] The integrated circuit 110 includes four power islands 112, 114, 116, and 118. FIG. 1 only depicts four power islands 112, 114, 116, and 118 for the sake of simplicity. Other embodiments of the integrated circuit 110 include a plurality of power islands 112, 114, 116, and 118. The power islands 112, 114, 116, and 118 are coupled to a bus 125.
[00030] A power island 112, 114, 116, and 118 is any section, delineation, partition, or division of the integrated circuit 110 where power consumption is controlled within the section, delineation, partition, or division. In some embodiments, the power islands 112, 114, 116, and 118 are delineated based on geographic factors of the integrated circuit 110. In some embodiments, the power islands 112, 114, 116, and 118 are delineated based on functional IP units of the integrated circuit 110. In one example depicted in FIG. 10, power islands are delineated by memory, a microprocessor, and separate IP blocks. In some embodiments, the power islands 112, 114, 116, and 118 are asynchronous or synchronous to each other. In some embodiments, the power islands 112, 114, 116, and 118 comprise sub-islands of power to provide further specificity in controlling power in the integrated circuit 110. In some embodiments, each of the power islands 112, 114, 116, and 118 supports multiple clock domains with its own control. In some embodiments, the clocks within the power islands 112, 114, 116, and 118 are variable.
[00031] In some embodiments, each of the power islands 112, 114, 116, and 118 includes power control circuitry. Power control circuitry is any circuitry configured to control power within one of the power islands 112, 114, 116, and 118. Some examples of power control circuitry include circuitry for level shifting, signal isolation, Vdd multiplexing, clock multiplexing, and dynamic back bias. In some embodiments, the power control circuitry is included in a standard cell library for standard cell design of the integrated circuit 110.
[00032] The power manager 120 is also coupled to the bus 125. One example of the bus 125 is a power command bus described in further detail below in FIG. 10. Other embodiments of the system 100 include numerous variations in which the power manager 120 and the power islands 112, 114, 116, and 118 are interconnected. The power manager 120 is any circuitry, device, or system configured to (1) determine a target power level for one of the power islands 112, 114, 116, and 118 where power consumption is independently controlled within each of the power islands 112, 114, 116, and 118, (2) determine action to change a consumption power level of the one of the power islands 112, 114, 116, and 118 to the target power level, and (3) perform the action to change the consumption power level of the one of the power islands 112, 114, 116, and 118 to the target power level. The power manager 120 can dynamically change the power consumption of the power islands 112, 114, 116, and 118 based on the needs and operation of the integrated circuit 110. The target power level is a desired, calculated, or specified power consumption of the power islands 112, 114, 116, and 118. Some examples of the power manager 120 are the slave power manager (SPM), the intermediate power manager (IPM), and the master power manager (MPM), which are described in further detail below. The power manager 120 may be a hierarchy or group of power managers 120. Although FIG. 1 depicts the power manager 120 as being located outside the integrated circuit 110, other embodiments may have the power manager 120 located in the integrated circuit 110. In other embodiments, the power manager 120 may be distributed among multiple power managers that are on or off the integrated circuit 110 or integrated with a CPU.
[00033] The action is any instruction, message, process, function, signal, or variable that controls power consumption in the power island 112, 114, 116, and 118. Some examples of actions are clock gating and dynamic clock selection. Another example of an action is modifying a clock frequency of one of the power islands 112, 114, 116, and 118. Another example of an action is to modify voltage of one of the power islands 112, 114, 116, and 118 such as dynamic voltage source, Vdd, selection. Another example of an action is to control dynamic leakage by controlling variable Vt transistors.
[00034] FIG. 2 depicts a diagram of a system 200 for managing power in an integrated circuit 250 in an exemplary implementation of the invention. The system 200 includes an embedded firmware stack 210 and an integrated circuit 250. The embedded firmware stack 210 includes software layers that run on a central processing unit (CPU). In some embodiments, the embedded firmware stack 210 may include an application layer 212, an operating system (OS) sub-system 216, a power management control layer (PMCL) 218, a real-time operating system (RTOS) 220, I/O drivers 222, and power manager (PM) firmware 224 for the MPM, IPM and/or SPM.
[00035] The integrated circuit 250 includes a power island 260, a power island 270, and a MPM 280. The power island 260 includes a low power standard cell logic block 262 and a SPM 264. The power island 270 includes a low power memory block 272 and a SPM 274. The low power standard cell logic block 262 and the low power memory block are coupled to an interface 265. The MPM 280 is coupled to the PMCL 218, the SPM 264, and the SPM 274.
[00036] In some embodiments, the application layer 212 includes a global power application layer (GPAL) 214. This GPAL 214 may be useful for more complex applications. If the GPAL 214 is present, then all calls to the PMCL 218 application program interfaces (API) are first directed to the GPAL 214. Both the GPAL 214 and the PMCL 218 provide power management for the integrated circuit 250. In some embodiments, the GPAL 214 and/or the PMCL 218 monitor what load is on each power island 260 and 270,. Also, the GPAL 214 and/or the PMCL 218 may build a history of power levels on the power island 260 and 270 and store the history data in a database. The GPAL 214 and the PMCL 218 may also provide data for on-demand resources interested in the power levels of the power islands 260 and 270.
[00037] In some embodiments when the GPAL 214 is present, the GPAL 214 provides guidance to the PMCL 218 in making local decisions for power management of the integrated circuit 250. In some embodiments, the GPAL 214 and the PMCL 218 include complex algorithms for a static schedule. The GPAL 214 and the PMCL 218 provide the facility for use code to interact and control power behavior and parameters including providing a database and statistics.
[00038] The PMCL 218 also collects information from the MPM 280 and provides commands to the MPM 280 for possible IPMs, SPMs 264 and 274, and the power islands 260 and 270. Some of the commands may be to power on/off, change the power level, or change the frequency of the power islands 260 and 270. In some embodiments with a smart power unit (SPU) 290, the GPAL 214 and the PMCL 218 are responsible for communication with the SPU 290 to implement a power policy and collect information on the actual power supply. The SPU 290 is described in further detail below in FIGS. 6-8. In some embodiments, the GPAL 214 and the PMCL 218 provides sockets for existing power management techniques. [00039] The power manager firmware 224 is firmware executed by the master power manager 280, the intermediate power manager, and the slave power managers 264 and 274.
[00040] The MPM 280 is any circuitry configured to control the "global" power behavior of the entire integrated circuit 250. In some embodiments, there are multiple MPMs 280 that control the power behavior of the entire integrated circuit 250. In some embodiments, the MPM 280 communicates with existing IPMs and SPMs 264 and 274 to control power within the power islands 260 and 270. The MPM 280 may receive status information about the power islands 260 and 270 from the SPMs 264 and 274 and the IPMs. The MPM 280 may also determine power trade-offs between the IPMs and the SPMs 264 and 274.
[00041] The MPM 280 may also provide a main interface to the PMCL 218 firmware. In some embodiments, the MPM 280 communicates with the PMCL 218 to accept commands (e.g.. memory mapped commands) and provide status information about the power within the integrated circuit 250. In some embodiments, the MPM 280 communicates with the PMCL 218 through the main bus for the integrated circuit 250. The MPM 280 may also register each of the SPMs 264 and 274 and IPMs and capabilities with the PMCL 218. Some operations of the MPM 280 are described in further detail below in FIGS. 5, 8, 9, and 11. In some embodiments, the MPM 280 reads and writes scan chains for state save and restore along with the local logic analyzer ability.
[00042] Some embodiments may include an IPM (not shown) that coordinates SPMs 264 and 274 on behalf of the MPM 280. In some embodiments, the IPM controls and coordinates power behavior on portions of the area controlled by the MPM 280. In some embodiments, the IPM controls the SPMs 264 and 274 that are on a separate chip from the MPM 280.
[00043] The SPM 264 is any circuitry configured to control power within a power island 264 in the integrated circuit 250. One example of the SPM 264 is an LP block that controls power within a power island 264 in the integrated circuit 250. The SPM 264 may include signal buffering, level shifting, and signal isolation. In some embodiments, the SPM 264 is integrated into scan chains to provide easier implementation and integration. Also, in some embodiments, the SPM 264 has a very small "footprint" with a low gate count and low power. In some embodiments, the SPM 264 comprises a command interface to communicate status information, service requests, and commands. Some of the commands are load, sleep, and idle. The SPM 264 may also recognize its own address to allow for multi-drop bussing.
[00044] In some embodiments, the SPM 264 has registration capabilities. For registration at power-up, the SPM 264 uses callback registration that is typically used for off chip SPMs and IPMs. For static registration when the integrated circuit is generated for on chip SPMs, the SPM 264 registers what the SPM 264 can do, what the IPM can do, and the type of commands that the SPM 264 or IPM can service. The SPM 264 may also have save and restore functions for power off periods. The SPM 264 may have watch-dog timer(s). In some embodiments, the SPM 264 has a debug interface coordination to the power island 260. The SPM 264 may also monitor local state and collect information for components within the power island 260. The SPM 264 may also locally control Vdd, clocks for frequency selection, and dynamic back biasing. The description for the SPM 264 also applies to the SPM 274 for the power island 270.
[00045] In some embodiments, the SPM 264 checks whether an event occurs when the collected information from the power island 260 crosses a threshold or exceeds a range. In some embodiments, the SPM 264, IPMs, or the MPM 280 monitors power consumption levels of the power island 260 to check whether the power consumption levels cross a threshold level or exceed a range. A power consumption level is any information, data, or statistic that indicate the power consumed in a power island 260. Some examples of power consumption levels are temperature and power. The threshold or range may be programmable. The SPM 264 may report the event asynchronously, or another element such as the MPM 280 may solicit whether an event has occurred. The event may also be a multi-level test such as the conditions occur at a greater than a given, programmable frequency or exceed a given, programmable duration.
[00046] In some embodiments, the low power standard cell logic block 262 one example of a standard cell library that may be included in the power island 260. In some embodiments, the standard cell library is optimized for lower power. The standard cell library may be characterized over a range of operating voltages. In some embodiments, the standard cell library includes synchronous circuits and/or asynchronous circuits. In some embodiments, the standard cell library includes static circuits and or encapsulated, dynamic logic circuits. The standard cell library may also include multiple voltage domain interface circuits such as level shifters and signal isolation circuits. The standard cell library may also have a multi-threshold design and characterization such as standard Vt, high Vt, low Vt, and variable Vt circuits. The standard cell library may also include data retention (shadow) circuits and anti-glitch circuits. The standard cell library may also include low leakage "sleep" circuits. FIG. 3 depicts an illustration of low leakage circuitry 300 for the low power standard cell logic block 262 in an exemplary implementation of the invention.
[00047] HG. 4 depicts a diagram of the power island 270 in an exemplary implementation of the invention. The power island 270 includes a low power memory block 272 and the SPM 274. The low power memory block 272 includes banked architectures 410, 420, 430, and 440 for memories and sleep, power down circuitry 450. In some embodiments, the memory in the power island 270 is RAM and/or ROM. Some examples of the RAM are the SRAM compilers such as single-port, 2-port, and dual-port. Some examples of the ROM are ROM compilers. Some memories in the power island 270 are optimized for low power such as the low power memory block 272. In one embodiment, the low power memory block 272 includes multiple bank architectures via the compiler such as banked architectures 410, 420, 430, and 440. The memories in the power island 270 may also include sleep, power down circuitry 450 for low power modes such as sleep, nap, and full power down. The memories in the power island 270 may also include programmable read/write ports. The memories in the power island 270 may also be an asynchronous and/or synchronous design.
[00048] In some embodiments, the system 200 also includes a smart power unit (SPU) 290. In some embodiments, the SPU 290 is off -chip to the integrated circuit 250. The SPU 290 is an external unit configured to control power and clock distribution to the integrated circuit. The circuitry of the SPU is described in further detail below in HGS. 7 and 8.
[00049] HG. 5 depicts a flowchart from an application request to an SPM action in an exemplary implementation of the invention. HG. 5 begins in step 500. In step 502, an application is invoked such as playing a movie. In step 504, the application determines the required frequency for performance of an IP unit. For example, the application determines a specified frequency in MHz for LP unit for an MPEG decoder. In some embodiments, when the IP unit is totally asynchronous, the required frequency will be an artificial measure of performance. In some embodiments that have multiple clocks involved, the minimum performance for each clock is specified.
[00050] In step 506, the application invokes the PMCL 218 API call. One example of this call is "Set_Rate (unit Y, N MHz, degree of dynamic power management (DPM) allowed, DPM threshold, other information to allow DPM trade-offs, starting back bias for SPMs with dynamic bias, wait for power up flag)." In this example, the other information could be "no power off, use high Vt and clocks off instead" and "major waits are about 10 us, with a 400 ns threshold." In some embodiments with multiple clocks, the PMCL 218 API call allows the application to specify all required frequencies.
[00051] The PMCL 218 determines possible trade-offs available for the unit and selects a frequency rate, Vdd, and Vt if applicable for the unit that best meets the given requirements in step 508 and determines the applicable SPMs 264 and 274 in step 510. In some embodiments, the MPM 280 or LPM performs steps 508 and 510. In some embodiments for multiple clocks, the Vdd and Vt specified would allow for all specified clocks to meet or exceed their required frequencies.
[00052] In step 512, the PMCL 218 then writes the desired setting for the SPMs 264 and 274 to the MPM 280 (or IPM). In step 514, the MPM 280 (or IPM) converts the request into one or more commands for the SPMs 264 and 274 (or IPM) associated with the unit.
[00053] In step 516, if the application sets the wait for power up flag, the PMCL 218 then waits until the IP unit is fully powered up before returning from the call. Otherwise, the call returns as soon as the command is acknowledged, with status of 0 for okay, 1 for fast power-up, 2 for slow power-up, or 3+ for error conditions. The powered up state is when the unit is at the desired Vdd for the requested frequency, and not just that the unit is turned on.
[00054] In step 518, the MPM 280 (or IPM) sends the requests to the appropriate targets. In step 520, the MPM 280 waits for the receipt of the acknowledgements that indicate message received and executed or execution has begun. A NACK or negative acknowledgement may also be returned from the SPM 264 and 274.
[00055] In step 522, the SPM 264 receives the commands and performs the actions. Steps 524-528 are possible actions that the SPM 264 may perform. In step 524, the SPM 264 switches the Vdd mux. In step 526, the SPM 264 switches a clock mux. In some embodiments when the voltage goes down, step 526 is performed before step 524. In step 528, the SPM 264 changes the Vt on the associated transistors. After the SPM 264 performs the actions, the SPM 264 returns a status message upstream indicating acknowledgement or negative acknowledgement in step 530. HG. 5 ends in step 532.
[00056] FIG. 6 depicts an illustration of internal' circuitry 600 for an SPU 290 in an exemplary implementation of the invention. In this embodiment, the internal circuitry 600 for the SPU 290 is internal to the integrated circuit 250 of HG. 2. The internal circuitry 600 includes an external voltage 610, a dropout voltage regulator 620, a dropout voltage regulator 630, a logic block 640, and a logic block 650.
[00057] HG. 7 depicts an illustration of external circuitry 700 for an SPU 290 in an exemplary implementation of the invention. In this embodiment, the external circuitry 700 for the SPU 290 is external to the integrated circuit 250 of HG. 2. The internal circuitry 700 includes an external voltage 710, a power supply pin 720, a power supply pin 730, a power supply pin 740, a logic block 750, a logic block 760, and a logic block 770. The external circuitry 700 for the SPU 290 provides a DC/DC conversion. The DC/DC conversion provides multiple independent power supply pins 720, 730, and 740. The power supply pins 720, 730, and 740 have a variable voltage supply on each separate power pin. Also, in some embodiments, the variable voltage is within a range and in steps. In some embodiments, the PMCL 218 controls the voltage to power supply pins 720, 730, and 740.
[00058] HG. 8 depicts a flowchart from an application request to an SPU action in an exemplary implementation of the invention. HG. 8 begins in step 800. In step 802, an application is invoked. In step 804, the application determines the required frequency for per ormance of an IP unit. For example, the application determines a specified frequency in MHz for IP unit for an MPEG decoder.
[00059] In step 806, the application invokes the PMCL 218 API call. One example of this call is "Set_Rate (unit Y, N MHz, degree of dynamic power management (DPM) allowed, DPM threshold, other information to allow DPM trade-offs, starting back bias for SPMs with dynamic bias, wait for power up flag)." In this example, the other information could be "no power off, use high Vt and clocks off instead" and "major waits are about 10 us, with a 400 ns threshold." [00060] The PMCL 218 determines possible trade-offs available for the unit and selects a the lowest possible Vdd that will support the requested frequency in step 808 and determines the SPMs 264 and 274 that will be affected and which power PL s to change in step 810.
[00061] In step 812, the PMCL 218 sends a command to the MPM 280 to have the SPMs 264 and 274 (and IPM) to prepare for a Vdd change. In step 814, the PMCL 218 waits for the acknowledgement from the MPM 280. In step 816, the PMCL 218 sends a command to the SPU 290 to change the Vdd on the selected power pins and waits for the affected area to "settle down." In step 818, the PMCL 218 then sends a "resume operation at a specified frequency" command to the MPM 280. In step 820, the MPM 280 propagates the resume command to all affected SPMs 264 and 274 (and IPMs). In step 822, one of the power managers (i.e. MPM 280, IPM, or SPMs 264 and 274) sets the specified frequency. In step 824, the IP unit operation resumes after the clock has settled. HG. 8 ends in step 826. In some embodiments, the user application has the option of waiting for the entire operation to finish or to continue and either query the PMCL 218 as to the progress of the operation or wait for a "finished" interrupt from the PMCL 218.
[00062] HG. 9 depicts a flowchart for saving an IP unit's state prior to powering down and restoring the IP unit's state when powering up in an exemplary implementation of the invention. HG. 9 begins in step 900. In step 902, the user application requests that the PMCL 218 power off an IP unit and wants to save the IP unit's state. In some embodiments, the reconfiguration of the IP unit takes a long time. The request in step 902 may be accompanied by the address of an area to which the state should be saved.
[00063] In step 904, the PMCL 218 sends a "stop clock and read IP unit state" message to the MPM 280. The MPM 280 then propagates the "stop clock and read IP unit state" message to the SPMs 264 and 274 of the affected unit in step 906. In step 908, the MPM 280 uses the scan chain for the TP unit to read the state into a register or buffer for presentation to the PMCL 218. In step 910, if the PMCL 218 provided the MPM 280 with the address of the save area, the MPM 280 saves the state information directly in the specified area. In step 912, after all of the IP units' state has been saved, the PMCL 218 sends a "power off IP unit" message to the MPM 280. In step 914, the MPM 280 then propagates out the "power off IP unit" message. In step 916, the PMCL 218 returns the save state area to the user application. The save state area contains the state of the unit.
[00064] At a later time, in step 918, the user application requests that the PMCL 218 power the IP unit back up and restore the state of the IP unit. In some embodiments, the user application request includes the address o the area to which the state was saved. In step 920, the PMCL 218 sends a "power up IP unit with clocks off and restore state" message to the MPM 280. In step 922, the MPM 280 propagates the "power up IP unit with clocks off and restore state" message to the SPMs 264 and 274 of the affected LP unit. In step 924, after the IP unit is powered up, the MPM 280 uses the scan chain to reload the unit's state. In some embodiments, the reloading of the unit's state originates directly from the save area or from information passed to the MPM 280 from the PMCL 218. In step 926, the PMCL 218 sends a message to the MPM 280 to turn clock back on and report to user application that the IP unit is ready to continue operations. HG. 9 ends in step 928.
[00065] In some embodiments, the same functionality of HG. 9 can be used to implement an internal "logic analyzer" function, in which the IP unit in question would not be powered down after being read. If the associated SPMs 264 and 274 of the IP unit have the ability to single- or multi- step the clock, the local scan testing is performed by having the SPMs 264 and 274 "signal isolate" the IP unit. Then, use of a combination of the ability of single- or multi-step the clock and the ability to use the scan chain can read/write the IP unit's internal state.
[00066] HG. 10 depicts a diagram of a system-on-a-chip (SOC) 1000 and an extended local memory 1004 in an exemplary implementation of the invention. The SOC 1000 is one example of the integrated circuit 250 and communicates with the embedded firmware stack 210 in HG. 2 as described above. The SOC 1000 includes a CPU 1010, a local memory 1020, a memory controller 1030, a mixed signal circuitry 1040, an application specific circuitry 1050, a PCI-X circuitry 1060, a MPM 1070, a real-time clock (RTC) 1075, an Ethernet circuitry 1080, and a USB circuitry 1090. The CPU 1010, the local memory 1020, the memory controller 1030, the mixed signal circuitry 1040, the application specific circuitry 1050, the PCI-X circuitry 1060, the Ethernet circuitry 1080, and the USB circuitry 1090 are all power islands in which power is controlled within the power islands by power managers. In this embodiment, the power islands are delineated by the functionality of a part of the SOC 1000.
[00067] The extended local memory 1004 includes an IPM 1006 that is coupled to the bus 1071. The CPU 1010 includes an SPM 1015 that is coupled to the bus 1071. The local memory 1020 includes an SPM 1025 that is also coupled to the bus 1071. The memory controller 1030 comprises an SPM 1035 that is coupled to the bus 1071. The mixed signal circuitry 1040 includes an SPM 1045 that is coupled to the bus 1071. The application specific circuitry 1050 includes an IPM 1055 and an SPM 1058 that are both coupled to the bus 1072. The PCI-X circuitry 1060 includes an SPM 1065 that is coupled to the bus 1072. The MPM 1070 is coupled to the bus 1071 and the bus 1072. The MPM 1070 is one example of the MPM 280 as described above. The Ethernet circuitry 1080 includes an SPM 1085 that is coupled to the bus 1072. The USB circuitry 1090 includes an SPM 1095 that is coupled to the bus 1072.
[00068] In this embodiment, power command buses comprise the bus 1071 and the bus 1072. The bus 1071 and 1072 are simple multi-drop serial buses that may cross chip boundaries and interconnect power managers. The power command bus may be a combination of serial busses, such as the bus 1071 and the bus 1072, with one per region of the chip and then multi-drop within the region. In other embodiments, the power command bus includes a parallel bus or a combination of serial and parallel busses. In some embodiments, the power command bus is the system bus. The power command bus may contain messages with at least a unit ID with the associated payload. For a fixed point to point bus, the message does not need a unit ID only the payload.
[00069] In some embodiments, the power command bus uses an error detection scheme such as parity, ECC, or a redundant code. In some embodiments, the power command bus is a low performance bus that does not interfere with the integrated circuit design and is not visible to the user. In some embodiments, the communication between the PMCL 218 and the MPM 1070 is memory mapped and based on the main bus such as an AHB for an SOC 1000.
[00070] Some embodiments may include a separate bus for reporting status information between the power managers. In one example, this separate bus provides asynchronous "Alert" type status messages from SPMs to the MPM.
[00071] There can be various message formats for the power command bus. In one example for a basic format, the message format includes a start of message indicator, a power manager address, type code, basic command, and an end of message indicator. In one example for an extended format, the message format includes the basic format, an additional length, and additional information. In one example for a response message format, the message format includes a start of message reply indictor, a power manager address, a 3b ACK or NAK or return status (implied ACK), a payload length for return status messages, a payload for return status messages, a reason code for NAK, and an end of message indicator. '
[00072] In some embodiments, the SPM 1015 or the IPM 1006 times out on replying to a command, and the MPM 1070 reissues the command a programmable number of times. If the SPM 1015 or the IPM 1006 still fails, the MPM 1070 marks the SPM 1015 or the IPM 1006 as unusable and reports back the failure to the PMCL 218. In one embodiment, the PMCL 218 has the MPM 1070 reinitialize the failing SPM 1015 or the IPM 1006 via the scan system and then retries sending the message. Other conditions such as invalid responses to commands or invalid status reports are also handled by the re-initialization. In some embodiments, the state of the failing SPM 1015 or the IPM 1006 may be read out and saved for later analysis.
[00073] HG. 11 depicts a flowchart for generating a "hot spot" report from an IPM 1055 to the PMCL 218 in an exemplary implementation of the invention. HG. 11 begins in step 1100. In step 1102, the IPM 1055 monitors the temperature statistics of the SPMs. In step 1104, the IPM 1055 checks whether the mean temperature has exceeded a predetermined and programmed threshold. If the mean temperature has not exceeded the threshold, the IPM 1055 returns to step 1102 to keep monitoring. If the mean temperature has exceeded the threshold, the IPM 1055 then generates a problem ("hot spot") report message in step 1106. In step 1108, the IPM 1055 waits for the next status query the MPM 1070. In some embodiments, a logically separate bus is provided for asynchronous status reports to the MPM 280.
[00074] In step 1110, the MPM 1070 receives the hot spot report message. In step 1112, the MPM 1070 either waits for further confirmation (i.e. see that the "hot spot" last pasts a predetermined threshold) or immediately takes action to fix the problem depending on the internal logic of the MPM 1070. In some embodiments, in step 1114, the MPM 1070 takes action by posting an interrupt to the PMCL 280 that it needs attention. In other embodiments, if the PMCL 280 queries the MPM 1070 often enough, then the interrupt is not needed. In step 1116, the MPM 1070 (or IPM) fixes the problem by making a local trade-off, performing the action, or ordering the action to be performed. One example of fixing the problem is lowering the operating frequency of the hot spot area. In step 1118, the MPM 1070 reports both the problem and the fixing of the problem upstream.
[00075] In step 1120, the PMCL 218 reads the modified hot spot report from the MPM 1070. In step 1122, the PMCL 218 determines what action to take to fix the problem or notify the GPAL 1070 to fix the problem. In this step, the software will make the trade-off required to fix the problem. In some embodiments, if the GPAL 214 determines the high level fix, then the GPAL 214 sends it to the PMCL 280 to be converted into MPM commands. In step 1126, the PMCL 218 monitors the problem area for a specified time to check if the problem is fixed. HG. 11 ends in step 1128.
[00076] In some embodiments, the type of functionality in HG. 11 can be performed at other levels such as the PMCL 218. In one example, the PMCL 218 queries (via the MPM 1070) all the SPMs that have the desired measurement ability (and IPMs) as to their local conditions and can then, for example, build a "map" of power usage that it can then act on.
[00077] HG. 12 depicts a diagram of a system-on-a-chip (SOC) 1200 in another exemplary implementation of the invention. The SOC 1200 is attached to a sensor link 1212, an RF link 1214, a control link 1216, a video link 1294, an audio link 1295, an interface link 1296, a control link 1297, and a power link 1298. The SOC 1200 includes clock and distribution management 1210, an IP block power island 1220, a memory power island 1230, a microprocessor power island 1240, an IP block power island 1250, a distribution power island 1260, an IP block power island 1270, an IP block power island 1280, and power and distribution management 1290.
[00078] The IP block power island 1220 includes a product standard interface IP block including an analog-to-digital converter (ADC) 1222, which includes an SPM 1224. The IP block power island 1230 includes a memory 1232, which includes an SPM 1234. The microprocessor power island 1240 includes a microprocessor 1242, which includes an SPM 1244. The LP block power island 1250 includes a product standard interface L? block including ADC 1252, which includes an SPM 1254. The distribution power island 1260 includes a data and signal distribution 1262, which includes an SPM 1264. The IP block power island 1270 includes a general purpose IP block including a digital signal processor (DSP) 1272, which includes an SPM 1274. The IP block power island 1280 includes a product-specific LP block 1282, which includes an SPM 1284. The power and distribution management 1290 includes an MPM 1292.
[00079] HG. 13 depicts a flowchart for building a chip with power islands in an exemplary implementation of the invention. HG. 13 begins in step 1300. In step 1302, the IPs or library cells are selected, and the custom logic, if any, is specified to be used to build the chip. In some embodiments, the maximum and sub clock rate, % idle time, and minimum and maximum Vdd are specified. In step 1304, the register transfer level (RTL) is written. In step 1306, the RTL is simulated and debugged.
[00080] Either during or after the writing of the RTL, a software tool may be used to add annotations for the MPM, IPM, and/or SPM blocks in step 1308. In some embodiments, the desired functionality options are specified in the annotations. In some embodiments, the optional functionality is specified per SPM block. In some embodiments, the RTL is annotated with SPM configuration information on a per-module basis. In some embodiments, the proper annotation is inserted by hand on a per module basis during or after the RTL is written. In other embodiments, a separate table in the proper format is created with the module names and respective annotations. In some embodiments, a separate software tool provides the ability to interactively build the separate table. In some embodiments, the software tool adds the proper annotation to the un-annotated modules in the RTL using information from the table.
[00081] In step 1310, the synthesis is run on a power island basis, where power islands are not mixed. In step 1312, performance measurement software is run on each module for each Vdd and Vt option, and then the annotations for the MPM are added to the RTL. In some embodiments, the performance of the design is measured at all desired voltages and Vt combinations. The software tool then derives the actual frequency, Vdd, and Vt tables for each SPM and back annotates the MPM (or LPM) RTL of the SPM characteristics. [00082] In step 1314, the final synthesis is run on a power island basis. In some embodiments, the modules are separately routed or by SPM. In step 1316, the software tool is run to hook up power and clocks to each SPM. Step 1318 is the rest of the steps to tape-out. In some embodiments, the software tool generates the finished net-list with all information. HG. 13 ends in step 1320.
[00083] The above-described elements can be comprised of instructions that are stored on storage media. The instructions can be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage media are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with the invention. Those skilled in the art are familiar with instructions, processor, and storage media.
[00084] The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

Claims

CLAIMSWhat is claimed is:
1. A method of managing power on an integrated circuit including a plurality of power islands, the method comprising: determining a target power level for one of the power islands where power consumption is independently controlled within each of the power islands; determining an action to change a consumption power level of the one of the power islands to the target power level; and performing the action to change the consumption power level of the one of the power islands to the target power level.
2. The method of claim 1 wherein the power islands are delineated based on geographic factors of the integrated circuit.
3. The method of claim 1 wherein the power islands are delineated based on functional circuitry of the integrated circuit.
4. The method of claiml wherein the power islands comprise power sub-islands.
5. The method of claim 1 wherein the power islands comprises multiple clock domains.
6. The method of claim 1 wherein the action comprises selecting a clock frequency for one of the power islands.
7. The method of claim 1 wherein the action comprises selecting a clock for one of the power islands.
8. The method of claim 1 wherein the action comprises modifying a first voltage for one of the power islands.
9. The method of claim 8 wherein the first voltage comprises a source voltage.
10. The method of claim 8 wherein the first voltage comprises a threshold voltage.
11. The method of claim 1 wherein the action comprises powering on one of the power islands.
12. The method of claim 1 wherein the action comprises powering off one of the power islands.
13. The method of claim 1 wherein the action comprises changing one of the power islands to a sleep mode.
14. The method of claim 1 further comprising: monitoring the power consumption level of one of the power islands; determining whether a threshold level was crossed based on the power consumption level; and performing the action based on the crossing of the threshold level.
15. The method of claim 1 further comprising saving a state of components within one of the power islands.
16. The method of claim 1 further comprising restoring a state of components within one of the power islands.
17. A system for an integrated circuit comprising a plurality of power islands where power consumption is independently controlled within each of the power islands, the system comprising: power control circuitry configured to control power for one of the power islands; and a power manager configured to determine a target power level for one of the power islands, determine an action to change a consumption power level of the one of the power islands to the target power level, and perform the action to change the consumption power level of the one of the power islands to the target power level.
18. The system of claim 17 wherein the power islands are delineated based on geographic factors of the integrated circuit.
19. The system of claim 17 wherein the power islands are delineated based on functional circuitry of the integrated circuit.
20. The system of claim 17 wherein the power islands comprise power sub-islands.
21. The system of claim 17 wherein the power islands comprise multiple clock domains.
22. The system of claim 17 wherein the action comprises selecting a clock frequency for one of the power islands.
23. The system of claim 17 wherein the action comprises selecting a clock for one of the power islands.
24. The system of claim 17 wherein the action comprises modifying a first voltage for one of the power islands.
25. The system of claim 24 wherein the first voltage comprises a source voltage.
26. The system of claim 24 wherein the first voltage comprises a threshold voltage.
27. The system of claim 17 wherein the action comprises powering on one of the power islands.
28. The system of claim 17 wherein the action comprises powering off one of the power islands.
29. The system of claim 17 wherein the action comprises changing one of the power islands to a sleep mode.
30. The system of claim 17 wherein the power manager is configured to monitor the power consumption level of one of the power islands, determine whether a threshold level was crossed based on the power consumption level, and perform the action based on the crossing of the threshold level.
31. The system of claim 17 wherein the power manager is configured to save a state of components within one of the power islands.
32. The system of claim 17 wherein the power manager is configured to restore a state of components within one of the power islands.
33. The system of claim 17 further comprising a bus coupled to the power manager and the power islands.
34. The system of claim 17 wherein the power manager comprises a master manager configured to control power of the integrated circuit.
35. The system of claim 17 wherein the power manager comprises a slave manager configured to control power of one of the power islands.
36. The system of claim 17 wherein the power control circuitry includes clock multiplexing circuitry.
37. The system of claim 17 wherein the power control circuitry includes voltage multiplexing circuitry.
38. The system of claim 17 wherein the power control circuitry includes level shifting circuitry.
39. A software product for managing power on an integrated circuit including a plurality of power islands, the software product comprising: power management software operational when executed by a processor to direct the processor to determine a target power level for one of the power islands where power consumption is independently controlled within each of the power islands, determine an action to change a consumption power level of the one of the power islands to the target power level, and perform the action to change the consumption power level of the one of the power islands to the target power level; and a software storage medium operational to store the power management software
40. The software product of claim 39 wherein the power islands are delineated based on geographic factors of the integrated circuit.
41. The software product of claim 39 wherein the power islands are delineated based on functional circuitry of the integrated circuit.
42. The software product of claim 39 wherein the power islands comprise power sub-islands.
43. The software product of claim 39 wherein the power islands comprise multiple clock domains.
44. The software product of claim 39 wherein the action comprises selecting a clock frequency for one of the power islands.
45. The software product of claim 39 wherein the action comprises selecting a clock for one of the power islands.
46. The software product of claim 39 wherein the action comprises modifying a first voltage for one of the power islands.
47. The software product of claim 46 wherein the first voltage comprises a source voltage.
48. The software product of claim 46 wherein the first voltage comprises a threshold voltage.
49. The software product of claim 39 wherein the action comprises powering on one of the power islands.
50. The software product of claim 39 wherein the action comprises powering off one of the power islands.
51. The software product of claim 39 wherein the action comprises changing one of the power islands to a sleep mode.
52. The software product of claim 39 wherein the power management software is operational when executed by the processor to direct the processor to monitor the power consumption level of one of the power islands, determine whether a threshold level was crossed based on the power consumption level, and perform the action based on the crossing of the threshold level.
53. The software product of claim 39 wherein the power management software is operational when executed by the processor to direct the processor to save a state of components within one of the power islands.
54. The software product of claim 39 wherein the power management software is operational when executed by the processor to direct the processor to restore a state of components within one of the power islands.
PCT/US2004/014205 2003-05-07 2004-05-07 Managing power on integrated circuits using power islands WO2004102623A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006532832A JP2007501478A (en) 2003-05-07 2004-05-07 Managing power in integrated circuits using power islands
KR1020107008956A KR101053010B1 (en) 2003-05-07 2004-05-07 Managing power on integrated circuits using power islands
EP04751547.3A EP1623349B1 (en) 2003-05-07 2004-05-07 Managing power on integrated circuits using power islands
KR1020117001439A KR101189346B1 (en) 2003-05-07 2004-05-07 Managing power on integrated circuits using power islands

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46874203P 2003-05-07 2003-05-07
US60/468,742 2003-05-07

Publications (2)

Publication Number Publication Date
WO2004102623A2 true WO2004102623A2 (en) 2004-11-25
WO2004102623A3 WO2004102623A3 (en) 2005-07-14

Family

ID=33452226

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/014205 WO2004102623A2 (en) 2003-05-07 2004-05-07 Managing power on integrated circuits using power islands

Country Status (7)

Country Link
US (11) US7051306B2 (en)
EP (2) EP3321769A1 (en)
JP (4) JP2007501478A (en)
KR (4) KR100992177B1 (en)
CN (1) CN100416573C (en)
TW (3) TWI397795B (en)
WO (1) WO2004102623A2 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007018856A1 (en) * 2005-07-29 2007-02-15 Intel Corporation Ic with on-die power-gating circuit
US7482792B2 (en) 2005-06-14 2009-01-27 Intel Corporation IC with fully integrated DC-to-DC power converter
GB2457170A (en) * 2008-02-11 2009-08-12 Nvidia Corp Power optimization for an integrated circuit having power domains and power islands
WO2010043838A2 (en) * 2008-10-17 2010-04-22 Arm Limited Power control of an integrated circuit including an array of interconnected configurable logic elements
WO2010140141A1 (en) 2009-06-05 2010-12-09 Nxp B.V. Power island with independent power characteristics for memory and logic
WO2011075327A1 (en) * 2009-12-14 2011-06-23 The Boeing Company System and method of controlling devices operating within different voltage ranges
JP2012009061A (en) * 2004-11-29 2012-01-12 Intel Corp Scaling architecture for frequency and voltage
US8327173B2 (en) 2007-12-17 2012-12-04 Nvidia Corporation Integrated circuit device core power down independent of peripheral device operation
US8397090B2 (en) 2006-12-08 2013-03-12 Intel Corporation Operating integrated circuit logic blocks at independent voltages with single voltage supply
US8607177B2 (en) 2008-04-10 2013-12-10 Nvidia Corporation Netlist cell identification and classification to reduce power consumption
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
KR101424534B1 (en) * 2006-12-31 2014-08-01 샌디스크 테크놀로지스, 인코포레이티드 Systems, circuits, chips and methods with protection at power island boundaries
US8996899B2 (en) 2006-11-01 2015-03-31 Intel Corporation Independent power control of processing cores
US9411390B2 (en) 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US9423846B2 (en) 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
US9471395B2 (en) 2012-08-23 2016-10-18 Nvidia Corporation Processor cluster migration techniques
WO2017030722A1 (en) * 2015-08-20 2017-02-23 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
FR3043476A1 (en) * 2015-11-05 2017-05-12 Dolphin Integration Sa
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9703351B2 (en) 2010-01-28 2017-07-11 Cavium, Inc. Method and apparatus for power control
US9742396B2 (en) 2012-09-05 2017-08-22 Nvidia Corporation Core voltage reset systems and methods with wide noise margin
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
US20170288649A1 (en) 2003-05-07 2017-10-05 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US9811874B2 (en) 2012-12-31 2017-11-07 Nvidia Corporation Frame times by dynamically adjusting frame buffer resolution
EP3726231A1 (en) * 2019-04-17 2020-10-21 Volkswagen Aktiengesellschaft Electronic component and system with integrated self-test functionality
EP3367212B1 (en) * 2010-04-07 2021-05-26 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events

Families Citing this family (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7039819B1 (en) * 2003-04-30 2006-05-02 Advanced Micro Devices, Inc. Apparatus and method for initiating a sleep state in a system on a chip device
EP1636684A2 (en) * 2003-06-10 2006-03-22 Koninklijke Philips Electronics N.V. Real-time adaptive control for best ic performance
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
WO2005024910A2 (en) 2003-09-09 2005-03-17 Robert Eisenstadt Apparatus and method for integrated circuit power management
US7227383B2 (en) * 2004-02-19 2007-06-05 Mosaid Delaware, Inc. Low leakage and data retention circuitry
US7138824B1 (en) * 2004-05-10 2006-11-21 Actel Corporation Integrated multi-function analog circuit including voltage, current, and temperature monitor and gate-driver circuit blocks
KR100750590B1 (en) * 2004-06-15 2007-08-20 삼성전자주식회사 Method and device for controlling internal power voltage, and semiconductor memory device having the same
US7409315B2 (en) * 2004-06-28 2008-08-05 Broadcom Corporation On-board performance monitor and power control system
US9281718B2 (en) * 2004-06-28 2016-03-08 Broadcom Corporation On-board power supply monitor and power control system
US7926008B2 (en) * 2004-06-28 2011-04-12 Broadcom Corporation Integrated circuit with on-board power utilization information
US7382178B2 (en) * 2004-07-09 2008-06-03 Mosaid Technologies Corporation Systems and methods for minimizing static leakage of an integrated circuit
US7984398B1 (en) * 2004-07-19 2011-07-19 Synopsys, Inc. Automated multiple voltage/power state design process and chip description system
US20060119382A1 (en) * 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
US7131099B2 (en) * 2004-12-09 2006-10-31 International Business Machines Corporation Method, apparatus, and computer program product for RTL power sequencing simulation of voltage islands
US7275164B2 (en) * 2005-01-31 2007-09-25 International Business Machines Corporation System and method for fencing any one of the plurality of voltage islands using a lookup table including AC and DC components for each functional block of the voltage islands
CN1844946A (en) * 2005-04-08 2006-10-11 株式会社东芝 Semiconductor integrated circuit and method of testing delay thereof
US7454738B2 (en) * 2005-06-10 2008-11-18 Purdue Research Foundation Synthesis approach for active leakage power reduction using dynamic supply gating
US7574683B2 (en) * 2005-08-05 2009-08-11 John Wilson Automating power domains in electronic design automation
US7264985B2 (en) * 2005-08-31 2007-09-04 Freescale Semiconductor, Inc. Passive elements in MRAM embedded integrated circuits
JP2009507425A (en) * 2005-09-02 2009-02-19 サイプレス セミコンダクター コーポレイション Circuit, system and method for multiplexing signals with reduced jitter
US7554843B1 (en) * 2005-11-04 2009-06-30 Alta Analog, Inc. Serial bus incorporating high voltage programming signals
US7716612B1 (en) * 2005-12-29 2010-05-11 Tela Innovations, Inc. Method and system for integrated circuit optimization by using an optimized standard-cell library
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US7763534B2 (en) 2007-10-26 2010-07-27 Tela Innovations, Inc. Methods, structures and designs for self-aligning local interconnects used in integrated circuits
US8541879B2 (en) 2007-12-13 2013-09-24 Tela Innovations, Inc. Super-self-aligned contacts and method for making the same
US8225261B2 (en) 2006-03-09 2012-07-17 Tela Innovations, Inc. Methods for defining contact grid in dynamic array architecture
US7943967B2 (en) 2006-03-09 2011-05-17 Tela Innovations, Inc. Semiconductor device and associated layouts including diffusion contact placement restriction based on relation to linear conductive segments
US7932545B2 (en) 2006-03-09 2011-04-26 Tela Innovations, Inc. Semiconductor device and associated layouts including gate electrode level region having arrangement of six linear conductive segments with side-to-side spacing less than 360 nanometers
US9230910B2 (en) 2006-03-09 2016-01-05 Tela Innovations, Inc. Oversized contacts and vias in layout defined by linearly constrained topology
US9563733B2 (en) 2009-05-06 2017-02-07 Tela Innovations, Inc. Cell circuit and layout with linear finfet structures
US8653857B2 (en) 2006-03-09 2014-02-18 Tela Innovations, Inc. Circuitry and layouts for XOR and XNOR logic
US8225239B2 (en) 2006-03-09 2012-07-17 Tela Innovations, Inc. Methods for defining and utilizing sub-resolution features in linear topology
US7917879B2 (en) 2007-08-02 2011-03-29 Tela Innovations, Inc. Semiconductor device with dynamic array section
US8839175B2 (en) 2006-03-09 2014-09-16 Tela Innovations, Inc. Scalable meta-data objects
US8448102B2 (en) 2006-03-09 2013-05-21 Tela Innovations, Inc. Optimizing layout of irregular structures in regular layout context
US7956421B2 (en) 2008-03-13 2011-06-07 Tela Innovations, Inc. Cross-coupled transistor layouts in restricted gate level layout architecture
US8247846B2 (en) 2006-03-09 2012-08-21 Tela Innovations, Inc. Oversized contacts and vias in semiconductor chip defined by linearly constrained topology
US9009641B2 (en) 2006-03-09 2015-04-14 Tela Innovations, Inc. Circuits with linear finfet structures
US8658542B2 (en) 2006-03-09 2014-02-25 Tela Innovations, Inc. Coarse grid design methods and structures
US7446352B2 (en) 2006-03-09 2008-11-04 Tela Innovations, Inc. Dynamic array architecture
US8245180B2 (en) 2006-03-09 2012-08-14 Tela Innovations, Inc. Methods for defining and using co-optimized nanopatterns for integrated circuit design and apparatus implementing same
US9035359B2 (en) 2006-03-09 2015-05-19 Tela Innovations, Inc. Semiconductor chip including region including linear-shaped conductive structures forming gate electrodes and having electrical connection areas arranged relative to inner region between transistors of different types and associated methods
US7454642B2 (en) * 2006-03-31 2008-11-18 International Business Machines Corporation Method and architecture for power management of an electronic device
US7739629B2 (en) * 2006-04-14 2010-06-15 Cadence Design Systems, Inc. Method and mechanism for implementing electronic designs having power information specifications background
WO2007144825A1 (en) * 2006-06-15 2007-12-21 Koninklijke Philips Electronics N.V. A method of balancing power consumption between loads.
US7899434B2 (en) * 2006-12-15 2011-03-01 Broadcom Corporation Power management for a mobile communication device and method for use therewith
US20080162954A1 (en) * 2006-12-31 2008-07-03 Paul Lassa Selectively powered data interfaces
US7948264B2 (en) * 2006-12-31 2011-05-24 Sandisk Corporation Systems, methods, and integrated circuits with inrush-limited power islands
US8304813B2 (en) * 2007-01-08 2012-11-06 SanDisk Technologies, Inc. Connection between an I/O region and the core region of an integrated circuit
TW200835151A (en) * 2007-02-15 2008-08-16 Univ Nat Chiao Tung Low-power dynamic sequential controlling multiplexer
US7979829B2 (en) 2007-02-20 2011-07-12 Tela Innovations, Inc. Integrated circuit cell library with cell-level process compensation technique (PCT) application and associated methods
US8286107B2 (en) 2007-02-20 2012-10-09 Tela Innovations, Inc. Methods and systems for process compensation technique acceleration
US7735030B1 (en) * 2007-02-28 2010-06-08 Cadence Design Systems, Inc. Simulating restorable registers in power domain systems
US8667443B2 (en) 2007-03-05 2014-03-04 Tela Innovations, Inc. Integrated circuit cell library for multiple patterning
US8135944B2 (en) * 2007-03-14 2012-03-13 Sandisk Technologies Inc. Selectively powered data interfaces
US7739626B2 (en) * 2007-04-20 2010-06-15 Iwatt Inc. Method and apparatus for small die low power system-on-chip design with intelligent power supply chip
US7954078B1 (en) * 2007-06-29 2011-05-31 Cadence Design Systems, Inc. High level IC design with power specification and power source hierarchy
US8055925B2 (en) * 2007-07-18 2011-11-08 International Business Machines Corporation Structure and method to optimize computational efficiency in low-power environments
US8122273B2 (en) * 2007-07-18 2012-02-21 International Business Machines Corporation Structure and method to optimize computational efficiency in low-power environments
US20090037629A1 (en) * 2007-08-01 2009-02-05 Broadcom Corporation Master slave core architecture with direct buses
US7941679B2 (en) 2007-08-10 2011-05-10 Atrenta, Inc. Method for computing power savings and determining the preferred clock gating circuit of an integrated circuit design
US8205182B1 (en) * 2007-08-22 2012-06-19 Cadence Design Systems, Inc. Automatic synthesis of clock distribution networks
US7710800B2 (en) * 2007-12-12 2010-05-04 International Business Machines Corporation Managing redundant memory in a voltage island
US20090157334A1 (en) * 2007-12-14 2009-06-18 Kenneth Joseph Goodnow Measurement of power consumption within an integrated circuit
US7715995B2 (en) * 2007-12-14 2010-05-11 International Business Machines Corporation Design structure for measurement of power consumption within an integrated circuit
US8112641B2 (en) * 2007-12-26 2012-02-07 Cisco Technology, Inc. Facilitating communication and power transfer between electrically-isolated powered device subsystems
US7830039B2 (en) * 2007-12-28 2010-11-09 Sandisk Corporation Systems and circuits with multirange and localized detection of valid power
US8453094B2 (en) 2008-01-31 2013-05-28 Tela Innovations, Inc. Enforcement of semiconductor structure regularity for localized transistors and interconnect
US7898285B2 (en) * 2008-03-26 2011-03-01 International Business Machines Corporation Optimal local supply voltage determination circuit
US7939443B2 (en) 2008-03-27 2011-05-10 Tela Innovations, Inc. Methods for multi-wire routing and apparatus implementing same
KR101761530B1 (en) 2008-07-16 2017-07-25 텔라 이노베이션스, 인코포레이티드 Methods for cell phasing and placement in dynamic array architecture and implementation of the same
US9122832B2 (en) 2008-08-01 2015-09-01 Tela Innovations, Inc. Methods for controlling microloading variation in semiconductor wafer layout and fabrication
US8001405B2 (en) * 2008-08-29 2011-08-16 International Business Machines Corporation Self-tuning power management techniques
US20100057404A1 (en) * 2008-08-29 2010-03-04 International Business Machines Corporation Optimal Performance and Power Management With Two Dependent Actuators
US9189049B2 (en) * 2008-12-24 2015-11-17 Stmicroelectronics International N.V. Power management in a device
US8161304B2 (en) * 2009-01-20 2012-04-17 Microsoft Corporation Power management for large memory subsystems
US8341582B2 (en) * 2009-01-30 2012-12-25 Active-Semi, Inc. Programmable analog tile configuration tool
US9003340B2 (en) * 2009-01-30 2015-04-07 Active-Semi, Inc. Communicating configuration information across a programmable analog tile to another tile
US8248152B2 (en) 2009-02-25 2012-08-21 International Business Machines Corporation Switched capacitor voltage converters
US8127167B2 (en) * 2009-03-30 2012-02-28 Mediatek Inc. Methods for reducing power consumption and devices using the same
US8174288B2 (en) 2009-04-13 2012-05-08 International Business Machines Corporation Voltage conversion and integrated circuits with stacked voltage domains
WO2010137262A1 (en) 2009-05-25 2010-12-02 パナソニック株式会社 Multiprocessor system, multiprocessor control method, and multiprocessor integrated circuit
US8385148B2 (en) * 2009-06-15 2013-02-26 Broadcom Corporation Scalable, dynamic power management scheme for switching architectures utilizing multiple banks
US8533388B2 (en) 2009-06-15 2013-09-10 Broadcom Corporation Scalable multi-bank memory architecture
US8370683B1 (en) 2009-07-31 2013-02-05 Western Digital Technologies, Inc. System and method to reduce write splice failures
US7977972B2 (en) 2009-08-07 2011-07-12 The Board Of Trustees Of The University Of Arkansas Ultra-low power multi-threshold asynchronous circuit design
US8661392B2 (en) 2009-10-13 2014-02-25 Tela Innovations, Inc. Methods for cell boundary encroachment and layouts implementing the Same
US8276002B2 (en) 2009-11-23 2012-09-25 International Business Machines Corporation Power delivery in a heterogeneous 3-D stacked apparatus
US9058440B1 (en) * 2009-12-15 2015-06-16 Cadence Design Systems, Inc. Method and mechanism for verifying and simulating power aware mixed-signal electronic designs
JP5610566B2 (en) * 2010-02-22 2014-10-22 ルネサスエレクトロニクス株式会社 Semiconductor device and data processing system
US20120017100A1 (en) * 2010-02-25 2012-01-19 Emmanuel Petit Power System Optimization and Verification for Embedded System Design
KR20110124617A (en) * 2010-05-11 2011-11-17 삼성전자주식회사 System-on-chip and debugging method thereof
US20110283130A1 (en) * 2010-05-17 2011-11-17 Global Unichip Corporation Power control manager
US8629705B2 (en) 2010-06-07 2014-01-14 International Business Machines Corporation Low voltage signaling
CN102314208B (en) * 2010-06-30 2016-08-03 重庆重邮信科通信技术有限公司 A kind of method and device of dynamic adjustment embedded device voltage to frequency
TWI411930B (en) * 2010-07-15 2013-10-11 Faraday Tech Corp System-level emulation/verification system and method thereof
US8601288B2 (en) 2010-08-31 2013-12-03 Sonics, Inc. Intelligent power controller
US9159627B2 (en) 2010-11-12 2015-10-13 Tela Innovations, Inc. Methods for linewidth modification and apparatus implementing the same
US9709625B2 (en) * 2010-11-19 2017-07-18 International Business Machines Corporation Measuring power consumption in an integrated circuit
US8756442B2 (en) 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
JP5630870B2 (en) * 2011-02-18 2014-11-26 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit layout method and program
US20120226949A1 (en) * 2011-03-02 2012-09-06 Texas Instruments Incorporated Multi-Channel Bus Protection
JP5647062B2 (en) * 2011-04-28 2014-12-24 富士通フロンテック株式会社 Maximum power consumption reduction device
CN102318289B (en) 2011-07-29 2014-12-10 华为技术有限公司 Bandwidth adjusting method, bus controller and signal converter
US8918102B2 (en) 2011-07-29 2014-12-23 At&T Intellectual Property I, L.P. Method and system for selecting from a set of candidate frequency bands associated with a wireless access point
US8868941B2 (en) * 2011-09-19 2014-10-21 Sonics, Inc. Apparatus and methods for an interconnect power manager
KR101861743B1 (en) * 2011-09-19 2018-05-30 삼성전자주식회사 System-on chip for selectively performing heterogeneous power control and homegeneous power control, and method thereof
US9680773B1 (en) 2011-09-26 2017-06-13 Altera Corporation Integrated circuit with dynamically-adjustable buffer space for serial interface
JP5660010B2 (en) * 2011-11-21 2015-01-28 トヨタ自動車株式会社 Information processing apparatus and data restoration method
US9400545B2 (en) 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US9158359B2 (en) * 2012-03-23 2015-10-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Adaptive voltage scaling using a serial interface
US9529953B2 (en) * 2012-08-02 2016-12-27 The United States Of America, As Represented By The Secretary Of The Navy Subthreshold standard cell library
US20140136873A1 (en) * 2012-11-14 2014-05-15 Advanced Micro Devices, Inc. Tracking memory bank utility and cost for intelligent power up decisions
US9946319B2 (en) * 2012-11-20 2018-04-17 Advanced Micro Devices, Inc. Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device
US9633872B2 (en) 2013-01-29 2017-04-25 Altera Corporation Integrated circuit package with active interposer
US8710906B1 (en) 2013-02-12 2014-04-29 Freescale Semiconductor, Inc. Fine grain voltage scaling of back biasing
US9335809B2 (en) * 2013-03-15 2016-05-10 Seagate Technology Llc Volatile memory storing system data during low power mode operation and monitoring the voltage supplied to the memory during low power mode
US9411394B2 (en) * 2013-03-15 2016-08-09 Seagate Technology Llc PHY based wake up from low power mode operation
US10409353B2 (en) * 2013-04-17 2019-09-10 Qualcomm Incorporated Dynamic clock voltage scaling (DCVS) based on application performance in a system-on-a-chip (SOC), and related methods and processor-based systems
US9094013B2 (en) 2013-05-24 2015-07-28 The Board Of Trustees Of The University Of Arkansas Single component sleep-convention logic (SCL) modules
US9059696B1 (en) 2013-08-01 2015-06-16 Altera Corporation Interposer with programmable power gating granularity
US9172373B2 (en) * 2013-09-06 2015-10-27 Globalfoundries U.S. 2 Llc Verifying partial good voltage island structures
JP2015069333A (en) * 2013-09-27 2015-04-13 富士通セミコンダクター株式会社 Design method and design program
US9594413B2 (en) 2013-12-24 2017-03-14 Intel Corporation Interface for communication between circuit blocks of an integrated circuit, and associated apparatuses, systems, and methods
US9058459B1 (en) * 2013-12-30 2015-06-16 Samsung Electronics Co., Ltd. Integrated circuit layouts and methods to reduce leakage
KR101538458B1 (en) 2014-01-03 2015-07-23 연세대학교 산학협력단 Voltage island formation for 3d many-core chip multiprocessor
US9329237B2 (en) 2014-01-10 2016-05-03 Freescale Semiconductor, Inc. Switch detection device and method of use
SG11201500568TA (en) * 2014-02-27 2015-09-29 Panasonic Ip Corp America Method for controlling information device, method for providing information, and program
US9257839B2 (en) 2014-02-28 2016-02-09 Freescale Semiconductor, Inc. Systems and methods for managing multiple power domains
US9766684B2 (en) 2014-07-21 2017-09-19 Apple Inc. Telemetry for power and thermal management
KR102320399B1 (en) 2014-08-26 2021-11-03 삼성전자주식회사 Power management integrated circuit, mobile device having the same and clock adjusting method thereof
CN105446653B (en) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 A kind of data merging method and equipment
US10416750B2 (en) 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
US9811142B2 (en) 2014-09-29 2017-11-07 Apple Inc. Low energy processor for controlling operating states of a computer system
CN105573463A (en) * 2014-10-17 2016-05-11 深圳市中兴微电子技术有限公司 Power consumption management method and device
US10101786B2 (en) 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US9829902B2 (en) * 2014-12-23 2017-11-28 Intel Corporation Systems and methods for dynamic temporal power steering
US9785211B2 (en) 2015-02-13 2017-10-10 Qualcomm Incorporated Independent power collapse methodology
EP3304364A4 (en) 2015-06-05 2018-07-11 Chaoyang Semiconductor Jiangyin Technology Co., Ltd. Integrated system of pdn implementation and digital co-synthesis
US10152112B2 (en) 2015-06-10 2018-12-11 Sonics, Inc. Power manager with a power switch arbitrator
US9608605B2 (en) * 2015-08-06 2017-03-28 Futurewei Technologies, Inc. Apparatus and scheme for IO-pin-less calibration or trimming of on-chip regulators
US9576615B1 (en) * 2015-10-15 2017-02-21 Smart Modular Technologies, Inc. Memory module with power management system and method of operation thereof
US10516304B2 (en) * 2015-12-22 2019-12-24 Intel Corporation Wireless charging coil placement for reduced field exposure
US10411492B2 (en) 2015-12-23 2019-09-10 Intel Corporation Wireless power transmitter shield with capacitors
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
KR20180039463A (en) * 2016-10-10 2018-04-18 삼성전자주식회사 Electronic device and method for controlling malfunction
US11068018B2 (en) * 2016-10-25 2021-07-20 Dolphin Design System and method for power management of a computing system with a plurality of islands
US10148270B2 (en) 2017-03-15 2018-12-04 Quicklogic Corporation Switchable power islands having configurably on routing paths
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10303241B2 (en) * 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10642338B2 (en) 2017-09-28 2020-05-05 Intel Corporation Hierarchical power management unit for low power and low duty cycle devices
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10580730B2 (en) * 2017-11-16 2020-03-03 International Business Machines Corporation Managed integrated circuit power supply distribution
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10340916B1 (en) * 2017-12-29 2019-07-02 Advanced Micro Devices, Inc. Using islands to control operating parameters for functional blocks in an electronic device
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
US10629533B2 (en) 2018-03-13 2020-04-21 Toshiba Memory Corporation Power island segmentation for selective bond-out
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10740257B2 (en) * 2018-07-02 2020-08-11 International Business Machines Corporation Managing accelerators in application-specific integrated circuits
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11093019B2 (en) 2019-07-29 2021-08-17 Microsoft Technology Licensing, Llc Integrated circuit power domains segregated among power supply phases
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
CN111143275A (en) * 2019-12-27 2020-05-12 南方电网科学研究院有限责任公司 IP management and power consumption optimization system and method
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US12093100B2 (en) 2020-09-26 2024-09-17 Intel Corporation Hierarchical power management apparatus and method
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
WO2022267030A1 (en) * 2021-06-25 2022-12-29 华为技术有限公司 Switch chip and power supply method
CN113555372B (en) * 2021-06-30 2022-06-07 广芯微电子(广州)股份有限公司 Partition filling unit and multi-voltage-domain low-power-consumption chip
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
US11573624B1 (en) * 2022-06-08 2023-02-07 Ambiq Micro, Inc. System for providing power to low power systems
KR102643032B1 (en) * 2023-09-19 2024-03-04 주식회사 잇다반도체 Power control system, and system-on chip device including the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020053039A1 (en) 2000-10-26 2002-05-02 Matsushita Electric Industrial Co., Ltd Power management system for integrated circuit
US20020147932A1 (en) 2001-04-05 2002-10-10 International Business Machines Corporation Controlling power and performance in a multiprocessing system

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63104443A (en) * 1986-10-22 1988-05-09 Hitachi Ltd Large-scale integrated circuit
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
JP3082103B2 (en) * 1991-08-08 2000-08-28 富士通株式会社 Processor
EP0632360A1 (en) 1993-06-29 1995-01-04 Xerox Corporation Reducing computer power consumption by dynamic voltage and frequency variation
JPH07105174A (en) 1993-10-07 1995-04-21 Hitachi Ltd One-chip microcomputer
US5918061A (en) 1993-12-29 1999-06-29 Intel Corporation Enhanced power managing unit (PMU) in a multiprocessor chip
WO1996025796A1 (en) 1995-02-17 1996-08-22 Intel Corporation Power dissipation control system for vlsi chips
US5640573A (en) 1994-02-02 1997-06-17 Advanced Micro Devices, Inc. Power management message bus for integrated processor
JP3718251B2 (en) * 1994-02-28 2005-11-24 株式会社ルネサステクノロジ Data processing device
US5778237A (en) 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage
EP0809825A1 (en) * 1995-02-14 1997-12-03 Vlsi Technology, Inc. Method and apparatus for reducing power consumption in digital electronic circuits
JPH08234861A (en) * 1995-02-28 1996-09-13 Fujitsu Ltd Power consumption reduced processor
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5996083A (en) 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US5996084A (en) 1996-01-17 1999-11-30 Texas Instruments Incorporated Method and apparatus for real-time CPU thermal management and power conservation by adjusting CPU clock frequency in accordance with CPU activity
US6076141A (en) 1996-01-24 2000-06-13 Sun Microsytems, Inc. Look-up switch accelerator and method of operating same
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
US6785826B1 (en) 1996-07-17 2004-08-31 International Business Machines Corporation Self power audit and control circuitry for microprocessor functional units
JPH10222253A (en) * 1997-02-07 1998-08-21 Hitachi Ltd Information processing system
US6462976B1 (en) * 1997-02-21 2002-10-08 University Of Arkansas Conversion of electrical energy from one form to another, and its management through multichip module structures
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
US6411156B1 (en) 1997-06-20 2002-06-25 Intel Corporation Employing transistor body bias in controlling chip parameters
JP3524337B2 (en) 1997-07-25 2004-05-10 キヤノン株式会社 Bus management device and control device for multifunction device having the same
JP3150082B2 (en) * 1997-08-08 2001-03-26 日本電気株式会社 High-speed transmission compatible connector
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
KR100321976B1 (en) 1997-12-29 2002-05-13 윤종용 Fault tolerant voltage regulator module circuit for intel processors
JP3573957B2 (en) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Operating speed control method of processor in computer and computer
JP3857052B2 (en) 1998-07-02 2006-12-13 株式会社ルネサステクノロジ Microprocessor
US6141762A (en) 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
ATE246414T1 (en) * 1998-09-09 2003-08-15 Texas Instruments Inc METHOD AND DEVICE FOR REDUCING POWER LOSS IN A CIRCUIT
US6496729B2 (en) 1998-10-28 2002-12-17 Medtronic, Inc. Power consumption reduction in medical devices employing multiple supply voltages and clock frequency control
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6484265B2 (en) * 1998-12-30 2002-11-19 Intel Corporation Software control of transistor body bias in controlling chip parameters
US6477654B1 (en) 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
US6345362B1 (en) 1999-04-06 2002-02-05 International Business Machines Corporation Managing Vt for reduced power using a status table
US6166985A (en) 1999-04-30 2000-12-26 Intel Corporation Integrated circuit low leakage power circuitry for use with an advanced CMOS process
WO2001001228A1 (en) * 1999-06-29 2001-01-04 Hitachi, Ltd. System lsi
JP2001238190A (en) * 2000-02-25 2001-08-31 Canon Inc Image processing apparatus and its control processing method
JP2001306196A (en) * 2000-04-26 2001-11-02 Matsushita Electric Ind Co Ltd Image processing integrated circuit, image communication device and method of image communication
JP3878431B2 (en) 2000-06-16 2007-02-07 株式会社ルネサステクノロジ Semiconductor integrated circuit device
US6664775B1 (en) 2000-08-21 2003-12-16 Intel Corporation Apparatus having adjustable operational modes and method therefore
EP1182552A3 (en) 2000-08-21 2003-10-01 Texas Instruments France Dynamic hardware configuration for energy management systems using task attributes
EP1182548A3 (en) * 2000-08-21 2003-10-15 Texas Instruments France Dynamic hardware control for energy management systems using task attributes
JP4181317B2 (en) 2000-10-26 2008-11-12 松下電器産業株式会社 Integrated circuit power management system
US6792582B1 (en) * 2000-11-15 2004-09-14 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
JP2002182776A (en) 2000-12-18 2002-06-26 Kenwood Corp System and method for controlling operating frequency
US20020087904A1 (en) * 2000-12-28 2002-07-04 Zhong-Ning (George) Cai Method and apparatus for thermal sensitivity based dynamic power control
JP3884914B2 (en) 2001-01-30 2007-02-21 株式会社ルネサステクノロジ Semiconductor device
US20020112193A1 (en) * 2001-02-09 2002-08-15 International Business Machines Corporation Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile
JP3888070B2 (en) 2001-02-23 2007-02-28 株式会社ルネサステクノロジ Logic circuit module having power consumption control interface and storage medium storing the module
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US6509788B2 (en) * 2001-03-16 2003-01-21 Hewlett-Packard Company System and method utilizing on-chip voltage controlled frequency modulation to manage power consumption
US6535735B2 (en) * 2001-03-22 2003-03-18 Skyworks Solutions, Inc. Critical path adaptive power control
US7058834B2 (en) 2001-04-26 2006-06-06 Paul Richard Woods Scan-based state save and restore method and system for inactive state power reduction
US7254721B1 (en) 2001-05-01 2007-08-07 Advanced Micro Devices, Inc. System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit
JP2002366351A (en) 2001-06-06 2002-12-20 Nec Corp Super-scalar processor
US6889331B2 (en) * 2001-08-29 2005-05-03 Analog Devices, Inc. Dynamic voltage control method and apparatus
JP2003086693A (en) * 2001-09-12 2003-03-20 Nec Corp Semiconductor integrated circuit
JP2003099148A (en) * 2001-09-19 2003-04-04 Sanyo Electric Co Ltd Data processor and system controller available for the same, and data conversion method
JP4974202B2 (en) * 2001-09-19 2012-07-11 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
JP4050027B2 (en) 2001-09-28 2008-02-20 株式会社日立製作所 Information processing apparatus and information processing apparatus control method
US6523150B1 (en) * 2001-09-28 2003-02-18 International Business Machines Corporation Method of designing a voltage partitioned wirebond package
US7111179B1 (en) * 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6631502B2 (en) * 2002-01-16 2003-10-07 International Business Machines Corporation Method of analyzing integrated circuit power distribution in chips containing voltage islands
US6976182B1 (en) 2002-02-01 2005-12-13 Advanced Micro Devices, Inc. Apparatus and method for decreasing power consumption in an integrated circuit
US6667648B2 (en) * 2002-04-23 2003-12-23 International Business Machines Corporation Voltage island communications circuits
US6779169B1 (en) 2002-05-31 2004-08-17 Altera Corporation Method and apparatus for placement of components onto programmable logic devices
US6908227B2 (en) 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US6820240B2 (en) * 2002-09-25 2004-11-16 International Business Machines Corporation Voltage island chip implementation
US6779163B2 (en) * 2002-09-25 2004-08-17 International Business Machines Corporation Voltage island design planning
US6711447B1 (en) 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
US7085945B2 (en) 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
KR100992177B1 (en) * 2003-05-07 2010-11-04 모사이드 테크놀로지스 코포레이션 Managing power on integrated circuits using power islands
WO2005024910A2 (en) * 2003-09-09 2005-03-17 Robert Eisenstadt Apparatus and method for integrated circuit power management
WO2005125012A1 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics N.V. Adaptive control of power supply for integrated circuits
US7382178B2 (en) 2004-07-09 2008-06-03 Mosaid Technologies Corporation Systems and methods for minimizing static leakage of an integrated circuit
US7279956B2 (en) 2004-07-09 2007-10-09 Mosaid Technologies Incorporated Systems and methods for minimizing static leakage of an integrated circuit
US8001527B1 (en) * 2004-12-21 2011-08-16 Zenprise, Inc. Automated root cause analysis of problems associated with software application deployments
US8015426B2 (en) * 2008-03-27 2011-09-06 International Business Machines Corporation System and method for providing voltage power gating
US8390249B2 (en) * 2009-11-30 2013-03-05 Broadcom Corporation Battery with integrated wireless power receiver and/or RFID

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020053039A1 (en) 2000-10-26 2002-05-02 Matsushita Electric Industrial Co., Ltd Power management system for integrated circuit
US20020147932A1 (en) 2001-04-05 2002-10-10 International Business Machines Corporation Controlling power and performance in a multiprocessing system

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243542B2 (en) 2003-05-07 2019-03-26 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
EP3321769A1 (en) * 2003-05-07 2018-05-16 Conversant Intellectual Property Management Inc. Managing power on integrated circuits using power islands
US20170288649A1 (en) 2003-05-07 2017-10-05 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
JP2012009061A (en) * 2004-11-29 2012-01-12 Intel Corp Scaling architecture for frequency and voltage
US7482792B2 (en) 2005-06-14 2009-01-27 Intel Corporation IC with fully integrated DC-to-DC power converter
US7598630B2 (en) 2005-07-29 2009-10-06 Intel Corporation IC with on-die power-gating circuit
WO2007018856A1 (en) * 2005-07-29 2007-02-15 Intel Corporation Ic with on-die power-gating circuit
US9021279B2 (en) 2006-11-01 2015-04-28 Intel Corporation Independent power control of processing cores
US8996899B2 (en) 2006-11-01 2015-03-31 Intel Corporation Independent power control of processing cores
US8397090B2 (en) 2006-12-08 2013-03-12 Intel Corporation Operating integrated circuit logic blocks at independent voltages with single voltage supply
KR101424534B1 (en) * 2006-12-31 2014-08-01 샌디스크 테크놀로지스, 인코포레이티드 Systems, circuits, chips and methods with protection at power island boundaries
US8327173B2 (en) 2007-12-17 2012-12-04 Nvidia Corporation Integrated circuit device core power down independent of peripheral device operation
GB2457170A (en) * 2008-02-11 2009-08-12 Nvidia Corp Power optimization for an integrated circuit having power domains and power islands
GB2457170B (en) * 2008-02-11 2010-06-30 Nvidia Corp use method for power optimization using an integrated circuit having power domains and partitions
US9411390B2 (en) 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US9423846B2 (en) 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
US9305128B2 (en) 2008-04-10 2016-04-05 Nvidia Corporation Netlist cell identification and classification to reduce power consumption
US8607177B2 (en) 2008-04-10 2013-12-10 Nvidia Corporation Netlist cell identification and classification to reduce power consumption
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
WO2010043838A2 (en) * 2008-10-17 2010-04-22 Arm Limited Power control of an integrated circuit including an array of interconnected configurable logic elements
GB2464510B (en) * 2008-10-17 2013-09-04 Advanced Risc Mach Ltd Power control of an integrated circuit including an array of interconnected configurable logic elements
US8497702B2 (en) 2008-10-17 2013-07-30 Arm Limited Power control of an integrated circuit including an array of interconnected configurable logic elements
WO2010043838A3 (en) * 2008-10-17 2011-01-13 Arm Limited Power control of an integrated circuit including an array of interconnected configurable logic elements
WO2010140141A1 (en) 2009-06-05 2010-12-09 Nxp B.V. Power island with independent power characteristics for memory and logic
CN102483645A (en) * 2009-06-05 2012-05-30 Nxp股份有限公司 Power island with independent power characteristics for memory and logic
US8004922B2 (en) 2009-06-05 2011-08-23 Nxp B.V. Power island with independent power characteristics for memory and logic
US8860490B2 (en) 2009-12-14 2014-10-14 The Boeing Company System and method of controlling devices operating within different voltage ranges
US8502590B2 (en) 2009-12-14 2013-08-06 The Boeing Company System and method of controlling devices operating within different voltage ranges
WO2011075327A1 (en) * 2009-12-14 2011-06-23 The Boeing Company System and method of controlling devices operating within different voltage ranges
US9703351B2 (en) 2010-01-28 2017-07-11 Cavium, Inc. Method and apparatus for power control
EP3367212B1 (en) * 2010-04-07 2021-05-26 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
US9471395B2 (en) 2012-08-23 2016-10-18 Nvidia Corporation Processor cluster migration techniques
US9742396B2 (en) 2012-09-05 2017-08-22 Nvidia Corporation Core voltage reset systems and methods with wide noise margin
US9811874B2 (en) 2012-12-31 2017-11-07 Nvidia Corporation Frame times by dynamically adjusting frame buffer resolution
US10983576B2 (en) 2013-09-26 2021-04-20 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US10152102B2 (en) 2013-09-26 2018-12-11 Cavium, Llc Method and apparatus for managing global chip power on a multicore system on chip
US11709534B2 (en) 2013-09-26 2023-07-25 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US10732684B2 (en) 2013-09-26 2020-08-04 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US10078356B2 (en) 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
WO2017030722A1 (en) * 2015-08-20 2017-02-23 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
FR3043476A1 (en) * 2015-11-05 2017-05-12 Dolphin Integration Sa
US10282214B2 (en) 2015-11-05 2019-05-07 Dolphin Integration System and method for power management of a plurality of circuit islands
EP3726231A1 (en) * 2019-04-17 2020-10-21 Volkswagen Aktiengesellschaft Electronic component and system with integrated self-test functionality
US12032016B2 (en) 2019-04-17 2024-07-09 Volkswagen Aktiengesellschaft Electronic component and system with integrated self-test functionality

Also Published As

Publication number Publication date
US9660616B2 (en) 2017-05-23
KR101189346B1 (en) 2012-10-09
TW200945021A (en) 2009-11-01
US20090152948A1 (en) 2009-06-18
US20190173453A1 (en) 2019-06-06
US20040268278A1 (en) 2004-12-30
CN100416573C (en) 2008-09-03
KR20100053697A (en) 2010-05-20
US8782590B2 (en) 2014-07-15
KR100992177B1 (en) 2010-11-04
EP3321769A1 (en) 2018-05-16
US7996811B2 (en) 2011-08-09
KR101053010B1 (en) 2011-07-29
US11362645B2 (en) 2022-06-14
US20160087608A1 (en) 2016-03-24
US7051306B2 (en) 2006-05-23
TW201235813A (en) 2012-09-01
EP1623349B1 (en) 2018-01-24
US20080276105A1 (en) 2008-11-06
US9166412B2 (en) 2015-10-20
JP2012123823A (en) 2012-06-28
US10243542B2 (en) 2019-03-26
US7945885B2 (en) 2011-05-17
US20060123365A1 (en) 2006-06-08
TWI371674B (en) 2012-09-01
JP2013117994A (en) 2013-06-13
US7415680B2 (en) 2008-08-19
US20140333134A1 (en) 2014-11-13
US20120043812A1 (en) 2012-02-23
WO2004102623A3 (en) 2005-07-14
EP1623349A2 (en) 2006-02-08
US20210036689A1 (en) 2021-02-04
JP4992131B2 (en) 2012-08-08
KR20110011750A (en) 2011-02-08
TWI471714B (en) 2015-02-01
EP1623349A4 (en) 2011-06-29
KR100915258B1 (en) 2009-09-03
US20170288649A1 (en) 2017-10-05
US10749506B2 (en) 2020-08-18
CN1820270A (en) 2006-08-16
TWI397795B (en) 2013-06-01
JP2007501478A (en) 2007-01-25
TW200510985A (en) 2005-03-16
JP2009277252A (en) 2009-11-26
KR20060017773A (en) 2006-02-27
KR20090053964A (en) 2009-05-28
US8762923B2 (en) 2014-06-24
US20120256485A1 (en) 2012-10-11

Similar Documents

Publication Publication Date Title
US10749506B2 (en) Power managers for an integrated circuit
US8578312B2 (en) Method and apparatus for designing and manufacturing electronic circuits subject to leakage problems caused by temperature variations and/or aging
CN101233475A (en) Incresing workload performance of one or more cores on multiple core processors
CN114902186A (en) Error reporting for non-volatile memory modules
CN117616362A (en) In-band communication interface power management isolation

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480019586.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2006532832

Country of ref document: JP

Ref document number: 1020057021157

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004751547

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 3310/CHENP/2005

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 2004751547

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057021157

Country of ref document: KR