System on chip with power supply mode having a reduced number of phases
By independently activating and deactivating the adaptive control of the power levels, combined with the safety setting list and temperature threshold, the problems of long wake-up time and slow response in low-power mode in the existing technology are solved, and efficient and fast power management is achieved.
Patent Information
- Application Number
- CN202280059636.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-01-11
- Filing Date
- 2022-06-19
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2042-06-19
AI Technical Summary
In the existing technology, it is difficult to achieve an efficient low-power mode without compromising reliability in the adaptive activation and deactivation of power levels. In addition, the wake-up time is long and it is impossible to respond quickly to load changes.
It uses multiple independently activated and deactivated power stages, and adaptively adjusts the activation and deactivation of the power stages through control circuits. Combined with a safety setting list and temperature thresholds, it ensures that a predefined number of active power stages are maintained only when the operating voltages match, supporting rapid transitions to low-power modes.
This enables efficient low-power modes in the power stage without compromising reliability, reducing leakage current, extending battery life, and quickly responding to load changes.
Smart Images

Figure CN117897672B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority from U.S. Provisional Patent Application No. 63 / 243,754 filed on September 14, 2021 and U.S. Patent Application No. 17 / 572,664 filed on January 11, 2022, the disclosures of which are incorporated herein by reference. Technical Field
[0003] Embodiments described herein relate generally to power management in electronic circuits, and in particular to adaptive activation and deactivation of power stages of power sources. Background Art
[0004] Various power management schemes use multiple voltage regulators, for example, to efficiently adjust for variable load conditions. For example, U.S. Patent Application Publication 2004 / 0061380 describes techniques for distributing and regulating power to one or more variable loads. Power is supplied to one or more power conversion units (PCUs) connected to the one or more variable loads. The PCUs are adapted to convert the power into other forms suitable for use by components of a target system. Additionally, a power control module is adapted to monitor current and future load requirements of the one or more variable loads. Based at least in part on the load requirements, the power control module controls the operation of the one or more PCUs to provide sufficient power to the one or more loads at appropriate times while minimizing wasted power generation by deactivating any unnecessary PCUs.
[0005] As another example, US Pat. No. 7,161,339 describes a voltage regulator circuit including a single high voltage regulator and a plurality of parallel low voltage regulators capable of receiving an intermediate voltage from the high voltage regulator and capable of outputting a regulated output voltage.
[0006] US Patent Application Publication 2013 / 0207467 describes a system including a load, a linear regulator, a switch, and a controller. The linear regulator supplies power to the load, and the controller is adapted to selectively couple a power source to the linear regulator using the switch to regulate the collective power dissipation of the linear regulator. Summary of the Invention
[0007] The embodiments described herein provide a device comprising: a plurality of hardware circuits; a front-end power source; a plurality of voltage regulators; and a control circuit. The front-end power source is configured to generate electrical power for providing power to the plurality of hardware circuits. The front-end power source includes a set of power stages configured to generate corresponding portions of electrical power and to be activated and deactivated independently of each other. The voltage regulator is connected to the output of the front-end power source and is configured to provide an adjustable operating voltage to the hardware circuit. The control circuit is configured to: control the voltage regulator in response to a request from the hardware circuit to supply a setting of the adjustable operating voltage to the hardware circuit; compare the setting of the adjustable operating voltage with one or more safety settings specified as safe for supply by a predefined portion of the number of power stages of the front-end power source; and adaptively activate and deactivate the power stages, including ensuring that the number of active power stages is set to a predefined portion only when the setting of the operating voltage matches at least one of the safety settings.
[0008] In some embodiments, to adaptively activate and deactivate the power stages, the control circuit is further configured to: (i) at times set to match at least one of the safety settings, control the front-end power source so that only a predefined portion of the power stages are active; and (ii) at other times set to not match any of the safety settings, control the front-end power source so that more than a predefined portion of the power stages are active.
[0009] In one embodiment, in addition to adaptively activating and deactivating the power stages, the control circuit is further configured to adaptively transition one or more of the power stages between a normal mode and a standby mode. In the disclosed embodiment, the predefined portion of the power stages is a single power stage.
[0010] In an exemplary embodiment, while the number of active power stages is a predefined fractional number, the control circuit is configured to: (i) detect an expected request from one of the hardware circuits to change the setting of the operating voltage from a safe setting to an unsafe setting; and (ii) control the voltage regulator to switch to the unsafe setting only after the number of active power stages is increased.
[0011] In one embodiment, at least one of the safety settings is dependent upon one or more specified temperature thresholds, and when comparing the setting of the adjustable operating voltage to the safety setting, the control circuit is configured to compare one or more temperatures associated with the device to the one or more temperature thresholds.
[0012] According to the embodiments described herein, a method is further provided, comprising: using a front-end power source comprising a set of power stages, generating electrical power for providing power to a plurality of hardware circuits by using the power stages to generate corresponding portions of the electrical power. Using a plurality of voltage regulators connected to the output of the front-end power source to provide an adjustable operating voltage to the hardware circuit. Controlling the voltage regulators in response to a request from the hardware circuit to supply a setting of the adjustable operating voltage to the hardware circuit. Comparing the setting of the adjustable operating voltage with one or more safety settings designated as safe for supply by a predefined portion of the number of power stages of the front-end power source. Adaptively activating and deactivating the power stages, including ensuring that the number of active power stages is set to the predefined portion only when the setting of the operating voltage matches at least one of the safety settings.
[0013] These and other embodiments will be more fully understood from the following detailed description of embodiments of the invention taken in conjunction with the accompanying drawings, in which: BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 is a block diagram schematically illustrating a computing system implemented as a system-on-a-chip (SOC) according to embodiments described herein;
[0015] Figure 2 is a block diagram schematically illustrating an SOC and associated power sources according to embodiments described herein;
[0016] Figure 3 is a block diagram schematically illustrating a circuit for querying a list of safe operating voltage settings according to embodiments described herein;
[0017] Figure 4 is a diagram schematically illustrating a state machine for transitioning between low power (single phase) mode and normal (full phase) mode according to embodiments described herein;
[0018] Figure 5 is a block diagram schematically illustrating a system according to embodiments described herein; and
[0019] Figure 6 is a block diagram schematically illustrating a computer-readable storage medium according to embodiments described herein. DETAILED DESCRIPTION
[0020] Overview
[0021] Embodiments described herein provide improved methods and apparatus for power management in electronic circuits. The disclosed techniques can be used, for example, to supply electrical power to a system on a chip (SOC) in a battery-powered computing or communication device.
[0022] In some embodiments, the SOC includes various hardware circuits, such as a central processing unit (CPU), a graphics processing unit (GPU), an Apple Neural Engine (ANE), communication fabric, etc. At least some of the hardware circuits in the SOC are powered by a two-stage power source having a primary stage (also referred to as a "front-end stage" or "front-end power source") and a secondary stage.
[0023] The primary stage of the power source includes a set of parallel power stages (also referred to as "phases") that generate respective portions of the total electrical power. The outputs of the power stages are combined to produce a single voltage rail. The power stages can be individually activated and deactivated independently of each other. The secondary stage of the power source includes a plurality of adjustable voltage regulators fed by a single voltage rail (i.e., by the output of the front-end stage). The voltage regulators are configured to provide an adjustable operating voltage to the hardware circuits. In a typical implementation, the voltage regulators are placed in close proximity to the hardware circuits they serve in order to minimize noise and maximize voltage accuracy.
[0024] In some embodiments, the SOC further includes control circuitry for controlling the power stage and the voltage regulator. In one exemplary embodiment, the control circuitry includes a power manager ("PMGR") and a front-end controller. The power manager is coupled to the hardware circuitry (e.g., CPU, GPU, etc.) and controls both the voltage regulator and the front-end controller. The front-end controller controls the power level of the front-end power source in response to instructions from the PMGR. In alternative embodiments, the control circuitry may have any other suitable centralized or distributed configuration.
[0025] In some embodiments, the power source supports various operating modes managed by the control circuit. One of these modes is a low-power mode, in which only a small predefined number of power stages (e.g., a single stage) are kept active to reduce leakage current and thus increase efficiency. Such low-power modes are particularly advantageous in idle and other low-utilization scenarios of the SOC where the leakage current of the power stage is not negligible. Numerical examples are further provided below. The disclosed technology allows for fast and safe hardware-implemented transitions into and out of low-power modes.
[0026] In the context of the present disclosure and in the claims, the term "deactivation" as used in the disclosed low power modes refers to any suitable mechanism for reducing the leakage current of the power stage. Deactivation may involve, for example, the actual shut-down of the power stage causing the power stage to draw zero current, or a partial deactivation that reduces the leakage current to a small but non-zero value. For example, a power stage may be deactivated by deactivating its drivers and non-essential blocks in order to reduce leakage current. However, some blocks of the power stage may remain powered in order to reduce the delay in reactivation. Deactivation typically involves disabling most or all active circuits of the power stage, such as bias and reference circuits. However, in some embodiments, input power is retained. Deactivation may also be employed in addition to various standby modes that may be applied to the power stage.
[0027] When implementing a low-power mode based on deactivation of a power stage, a major challenge is the relatively long wake-up time of the power stage when transitioning out of the mode. In typical implementations, the wake-up time of the power stage is on the order of tens or hundreds of microseconds. On the other hand, changes in the load can be quite rapid, for example, on the order of one or a few microseconds. (In this embodiment, the change in the load is a change in the power consumption of one or more of the secondary stage's voltage regulators due to a change in the power consumption of one or more of the hardware circuits.) Failure to meet the required wake-up time can cause severe voltage drops, which can lead to performance degradation or even a reset or failure of the SOC.
[0028] In some embodiments, the control circuitry transitions into and out of low-power modes according to a specified list of "safe settings." As described above, the various voltage regulators in the secondary power supply stage are controlled to adjust the operating voltages they provide in response to requests from various hardware circuits. For example, a CPU may send a request to the control circuitry to increase its operating voltage due to an impending increase in its computing activity, or to reduce its operating voltage when entering an idle or less busy period. The control circuitry may respond to such a request by adjusting the voltage regulator serving the CPU in question. In some cases, the control circuitry may deny the request.
[0029] Thus, at any given time, the control circuitry knows the actual operating voltages supplied by the plurality of voltage regulators of the secondary power source stage. The values of the plurality of operating voltages supplied by the plurality of voltage regulators at a given time are referred to herein as "voltage settings," or simply as "settings" for brevity. In some embodiments, the control circuitry maintains a list of one or more settings that are defined as safe. In this context, a setting is considered safe if (and only if) the front-end power source can produce the corresponding operating voltage while operating with only a small number of power stages specified for the low power mode active.
[0030] For example, for a low power mode using only a single active power stage, a setting is considered safe if the corresponding operating voltage of the voltage regulator can be supplied using only a single active power stage in the front-end power supply. If a setting requires more than a single power stage to be valid, it is considered unsafe.
[0031] Similar safe and unsafe settings can be defined for low power modes with other numbers of active power stages. For simplicity, the following description primarily refers to a "single-phase" low power mode, where only a single power stage is active and the other power stages are inactive. However, the disclosed techniques can be used to implement other low power modes where more than one (e.g., two) stages are operational.
[0032] In various embodiments, the control circuitry can use a list of safe settings in various ways to safely transition into and out of low power mode. For example, in one embodiment, the control circuitry continuously monitors requests for operating voltage changes received from the hardware circuitry. When operating in low power mode, the control circuitry can detect that a request from the hardware circuitry for an increase in the operating voltage will make the new setting (including the multiple operating voltages of the newly requested voltage) unsafe. In this case, the control circuitry can temporarily deny the request, then transition out of low power mode by activating additional power stages (e.g., all power stages), and then only adjust the appropriate voltage regulator to increase the operating voltage as requested. In this way, despite the slow response time of the power stage, the transition is unconditionally safe. In alternative embodiments, other suitable transition schemes may also be used.
[0033] In most of the embodiments described herein, the control circuitry determines transitions into and out of low-power modes based solely on the operating voltage of the hardware circuitry. In practice, decisions based solely on operating voltage are safe and simple to implement, but can be suboptimal. In other words, if additional parameters were available, the list of safe settings could be improved, and low-power modes could be applied more freely.
[0034] For example, in alternative embodiments, the list of safety settings may also specify one or more temperature thresholds (e.g., regarding temperatures at or near one or more of the hardware circuits). In such embodiments, the control circuitry may obtain temperature measurements from one or more temperature sensors in the SOC and compare the temperature measurements to the temperature thresholds. Thus, the control circuitry may also determine whether a particular setting is safe based on temperature. Additionally or alternatively, when one or more of the hardware circuits adjusts its clock frequency in addition to operating voltage, the clock frequency may also be used as a parameter to refine the definition of safety settings and the control circuitry's decision-making.
[0035] The disclosed technology enables efficient low power modes involving complete shutdown of the power stage without compromising reliability. In some embodiments, the disclosed control circuitry is implemented purely in hardware, making the solution fast and secure against malicious attacks.
[0036] The disclosed techniques are also simple to implement because they require only coarse-grained knowledge of the operating voltage of the hardware circuits being served. Even though operating voltage is only a crude, indirect indicator ("proxy") of power consumption, the methods and systems described herein provide substantial energy savings. The disclosed techniques are particularly effective in extending battery life of computing and communication devices in low-utilization usage patterns.
[0037] System Description
[0038] Figure 1 is a block diagram schematically illustrating a computing system implemented as a system on a chip (SOC) 10 according to an embodiment described herein. The SOC 10 is shown coupled to a memory 12. As the name implies, the components of the SOC 10 may be integrated onto a single semiconductor substrate that is an integrated circuit "chip." In some embodiments, these components may be implemented on two or more discrete chips in the system. However, the SOC 10 will be used as an example herein. In the illustrated embodiment, the components of the SOC 10 include: a plurality of processor clusters 14; a memory controller (MC) 22; a communication fabric 27; and optionally one or more peripheral components (more briefly, "peripherals" - not shown in the figure). The processor clusters 14 and the MC 22 may both be coupled to the communication fabric 27.
[0039] Memory controller 22 may be coupled to memory 12 during use. In some embodiments, there may be more than one memory controller coupled to corresponding memories. Memory address spaces may be mapped across memory controllers in any desired manner. In the illustrated embodiment, processor clusters 14 may include a corresponding plurality of processors (P) 30. Processors 30 may form the central processing unit (CPU) of SOC 10. In one embodiment, one or more processor clusters 14 may not function as a CPU.
[0040] As described above, processor cluster 14 may include one or more processors 30 that may serve as the CPU of SOC 10. The system's CPU comprises one or more processors that execute the system's primary control software, such as an operating system. Typically, the software executed by the CPU during use controls other components of the system to achieve the desired functionality of the system. The processors may also execute other software, such as application programs. Application programs may provide user functionality and may rely on the operating system for underlying device control, scheduling, memory management, and the like. Therefore, the processors may also be referred to as application processors.
[0041] Generally speaking, a processor may include any circuitry and / or microcode configured to execute instructions defined in an instruction set architecture (ISA) implemented by the processor. A processor may encompass a processor core implemented on an integrated circuit with other components as a system on a chip (SOC 10) or other level of integration. A processor may also include a discrete microprocessor, a processor core and / or a microprocessor integrated into a multi-chip module implementation, a processor implemented as multiple integrated circuits, and the like.
[0042] The memory controller 22 may generally include circuitry for receiving memory operations from other components of the SOC 10 and for accessing the memory 12 to complete the memory operations. The memory controller 22 may be configured to access any type of memory 12. For example, the memory 12 may be static random access memory (SRAM), dynamic RAM (DRAM) (such as synchronous DRAM (SDRAM), including double data rate (DDR, DDR2, DDR3, DDR4, etc.) DRAM). Low power / mobile versions of DDR DRAM (e.g., LPDDR, mDDR, etc.) may be supported. The memory controller 22 may include a queue for memory operations to sort (and potentially reorder) the operations and present the operations to the memory 12. The memory controller 22 may further include a data buffer for storing write data waiting to be written to the memory and read data waiting to be returned to the source of the memory operation. In some embodiments, the memory controller 22 may include a memory cache for storing recently accessed memory data. For example, in a SOC implementation, the memory cache may reduce power consumption in the SOC by avoiding re-accessing data from the memory 12 if the data is expected to be accessed again soon. In some cases, the memory cache may also be referred to as a system cache, which is different from a private cache (such as an L2 cache or a cache in a processor) that serves only certain components. Additionally, in some embodiments, the system cache need not be located within the memory controller 22.
[0043] The peripherals in the SOC 10 can be any set of additional hardware functions included in the SOC. For example, the peripherals may include video peripherals, such as an image signal processor configured to process image capture data from a camera or other image sensor; a GPU; a video encoder / decoder; a scaler; a rotator; a mixer; a display controller, etc. The peripherals may include audio peripherals, such as a microphone; a speaker; an interface to a microphone and a speaker; an audio processor; a digital signal processor; a mixer, etc. The peripherals may include interface controllers for various interfaces external to the SOC 10, including interfaces such as a universal serial bus (USB), a peripheral component interconnect (PCI) (including PCI Express (PCIe)), serial and parallel ports, etc. The peripherals may include networking peripherals, such as a media access controller (MAC). Any set of hardware may be included.
[0044] The communication fabric 27 may be any communication interconnect and protocol for communicating between components of the SOC 10. The communication fabric 27 may be bus-based, including shared bus configurations, crossbar configurations, and hierarchical buses with bridges. The communication fabric 27 may also be packet-based and may be hierarchical with bridges, crossbar, point-to-point, or other interconnects.
[0045] Note that the number of components of the SOC 10 (and the Figure 1 The number of subcomponents of those components shown in FIG, such as the number of processors 30 in each processor cluster 14, may vary from implementation to implementation. In addition, the number of processors 30 in one processor cluster 14 may be different from the number of processors 30 in another processor cluster 14. The number of each component / subcomponent may be more or less than Figure 1 Quantity shown.
[0046] Safe adaptive activation and deactivation of power levels
[0047] Figure 2 is a block diagram schematically illustrating a power source 40 supplying electrical power to a SOC 44 according to an embodiment described herein. The SOC 44 may be, for example, the Figure 1 The SOC 44 may be used in any suitable host system or device, such as, for example, a personal computer, a tablet computer, or a smartphone.
[0048] SOC 44 includes a plurality of hardware circuits that are supplied with electrical power using the disclosed techniques. In this example, the hardware circuits include: two CPUs 48; four GPUs 52; two Apple Neural Engines (ANEs) 56; and a memory interconnect fabric 60. In some embodiments, an additional hardware circuit 68 or multiple additional circuits 68 may be included. Alternatively, however, the SOC may include any other suitable number of hardware circuits of any suitable type. A power source manager (PMGR) 80 performs various power management tasks for SOC 44, as will be described below.
[0049] The power source 40 is a two-stage power source having a primary stage (also referred to as a "front-end stage" or "front-end power source") and a secondary stage. The primary stage includes a set of parallel power stages 84 (also referred to as "phases") that generate respective portions of the total electrical power. The power stages 84 are fed by the battery voltage of the host system (denoted as VBAT). The outputs of the power stages 84 are combined to a single voltage rail denoted as VDDH via respective inductors 88. A front-end controller 96 controls the power stages 84 and, in particular, activates and deactivates the power stages when appropriate. The controller 96 is capable of activating and deactivating each power stage 84 individually, independently of the other power stages. The role of the controller 96 in implementing the disclosed low power mode is described in detail below.
[0050] In various embodiments, the battery voltage (VBAT) is compatible with any suitable battery technology, and the output voltage of the front-end stage (VDDH) is compatible with any suitable process node used. For example, each power stage 84 may be capable of delivering power levels ranging from a few watts to tens of watts. Figure 2 In the embodiment shown in FIG, the number of power stages 84 is five. However, these values are provided as non-limiting examples only. The number of power stages and the power ratings of the individual power stages may be set to any desired values (e.g., based on the power requirements of the SOC 44). Furthermore, the power stages 24 do not need to have the same power rating. Additionally or alternatively, one or more power stages 24 may be internal to the SOC 44. In general, the power stages 24 may be distributed within and / or outside the SOC as desired.
[0051] The secondary stage of power source 40 comprises a plurality of adjustable voltage regulators 92 fed by a single voltage rail (i.e., by VDDH). Voltage regulator 92 is configured to provide adjustable operating voltage to hardware circuit (in the present embodiment, to CPU 48, GPU 52, ANE 56 and structure 60). In the present embodiment, each hardware circuit is serviced by corresponding regulator 92. Each hardware circuit communicates with its corresponding regulator using system power management interface (SPMI) protocol. In an exemplary embodiment, the number of regulators is five, and the voltage of each regulator 92 can be regulated in the range of 0.4V to 1.2V with a step length of 5mV. However, these values are only given as non-limiting examples. Any other configuration with any other suitable numerical value can be used in an alternative embodiment. PMGR 80 in SOC 44 communicates with regulator 92 and with front-end controller 96 using any suitable one or more protocols.
[0052] In this context, PMGR 80 and controller 96 are collectively referred to as the "control circuitry" that performs the disclosed technology. The description herein presents a specific allocation of tasks ("division of labor") between PMGR 80 and controller 96 purely by way of example. In alternative embodiments, any other suitable configuration may be used to implement the control circuitry. In alternative embodiments, any other suitable interface may be used between controller 96, PMGR 80, regulator 92, and the various hardware circuits. One possibility is GPIO.
[0053] In some embodiments, the control circuit supports a low power mode in which only a single power stage 84 is active and the other power stages 84 are deactivated. This mode is also referred to as a "single-phase" mode. To safely transition into and out of the low power mode, the PMGR 80 stores a list 98 of one or more safety settings. Each safety setting specifies a combination of operating voltages (supplied to the hardware circuits) that can be safely provided using only a single active power stage 84.
[0054] Table 1 below provides an exemplary list of safe operating voltage settings:
[0055] Entry number CPU Max Other CPUs GPU Max ANE Max FAB other 0 v1 v1 v2 v3 v4 …… 1 Unrestricted v5 v2 0 v4 …… 2 Unrestricted max 0 0 v6 …… 3 Unrestricted v7 0 0 Unrestricted …… … …… 7 v8 v3 v9 0 v4 ……
[0056] Table 1: Example safe operating voltage settings
[0057] In this embodiment, the list includes eight entries (rows). Each entry specifies a corresponding safety setting for the operating voltage of the hardware circuit. The "CPU Max" column specifies the operating voltage of the CPU 48 that receives the highest voltage among the CPUs 48. The "Other CPUs" column specifies the operating voltage of the CPU 48 that receives the second highest voltage among the CPUs 48 (i.e., the maximum voltage across all CPUs other than the CPU that appears in the "Max CPU" column). The "GPU Max" column specifies the operating voltage of the GPU 52 that receives the highest voltage among the GPUs 52. The "ANE Max" column specifies the operating voltage of the ANE 56 that receives the highest voltage among the ANEs 56. The "FAB" column specifies the operating voltage of the fabric 60. The "Other" column specifies the operating voltage of the additional circuits 68.
[0058] If each operating voltage in a setting is equal to or less than the corresponding operating voltage specified in the entry, the setting is considered to "match the entry" or "match one of the safe settings." If a setting matches at least one entry, the setting is considered safe. Therefore, by comparing a particular setting of operating voltages with the list of safe settings, PMGR 80 can determine whether the setting is safe for use in low-power mode.
[0059] Note that in some embodiments, SOC 44 includes hardware circuits that do not participate in the disclosed technology. Such hardware circuits may include, for example, hardware circuits that are fed by a fixed voltage.
[0060] Figure 3 is a block diagram schematically illustrating an exemplary circuit 100 for querying the list 98 of security settings according to embodiments described herein. The circuit 100 may be part of the PMGR 80 in the SOC 44, for example.
[0061] The upper left side of the figure shows the operating voltages supplied to the various hardware circuits involved in setting the operating voltages (in this embodiment, the CPU 48, GPU 52, ANE 56, structure 60, and additional circuits 68). The circuits at the upper left side of the figure include the following items:
[0062] The maximum box 104 outputs the maximum value among the operating voltages of the CPU 48. This value will be compared with the "CPU Max" column of the table 98.
[0063] The minimum box 105 outputs the minimum value among the operating voltages of the CPU 48. This value is compared with the "CPU No. 2" column of the list 98.
[0064] Max box 106 outputs the maximum value among the operating voltages of GPU 52. This value will be compared with the "GPU Max" column of list 98.
[0065] The maximum box 107 outputs the maximum value among the operating voltages of the ANE 52. This value will be compared with the "ANE Maximum" column of the table 98.
[0066] • The operating voltages of structure 60 and additional circuitry 68 are also provided for comparison with the "FAB" and "Other" columns of table 98, respectively.
[0067] In this embodiment, eight bits are used to represent each of the six values. The six values are processed by an array of comparators 108. Each row in the array corresponds to a corresponding row (entry) of the list 98 of security settings.
[0068] In a given row, the leftmost comparator 108 compares the value received from the output of the maximum box 104 with the "CPU Max" value of the corresponding entry. The next comparator 108 compares the value received from the output of the minimum box 105 with the "CPU 2nd" value of the corresponding entry. The next comparator 108 compares the value received from the output of the maximum box 106 with the "GPU Max" value of the corresponding entry. The next comparator 108 compares the value received from the output of the maximum box 107 with the "ANE Max" value of the corresponding entry. The last two (rightmost) comparators 108 compare the operating voltages of the fabric 60 and additional circuitry 68 with the "FAB" and "Other" values of the corresponding entries, respectively.
[0069] Thus, a given row of comparators outputs a total of six bits. Each row of comparators is associated with a corresponding AND gate 112 that outputs the logical AND of the six bits. A logical "1" at the output of a given AND gate 112 indicates that the setting being evaluated matches the corresponding entry (row) of list 98, and vice versa. OR gate 116 outputs a logical "OR" of the outputs of AND gates 112. Thus, a logical "1" at the output of OR gate 116 indicates that the setting being evaluated matches at least one entry in list 98. In other words, a logical "1" at the output of OR gate 116 indicates that the setting being evaluated is safe.
[0070] In some embodiments, PMGR 80 uses circuit 100 to assess whether various operating voltage settings are safe or unsafe for use in single-phase low power mode. In an alternative embodiment, PMGR 80 can use any other suitable circuit for this purpose. In one embodiment, PMGR is reassessed in response to each request of regulating its operating voltage from hardware circuit. In an alternative embodiment, PMGR is reassessed in response to only a request to increase operating voltage.
[0071] Figure 41 is a diagram schematically illustrating a finite state machine (FSM) for transitioning between low power (single phase) mode and normal (full phase) mode, according to embodiments described herein. In some embodiments, such FSM is executed by control circuitry. In the present embodiment, the FSM is executed by PMGR 80 and is used, in particular, to instruct controller 96 whether to activate all power stages 84 or only a single power stage.
[0072] Figure 4 The FSM receives two signal inputs:
[0073] • A register bit denoted "enable", which is set when the FSM is to be operational.
[0074] ·Depend on Figure 3 The circuit 100 generates a "match" signal that indicates whether the matching criteria are met (ie, whether the current setting of the operating voltage is safe for supply using only a single power stage).
[0075] In this embodiment, the FSM includes a total of seven states. The two main stable states are the "all-phase" ("full φ") state 120 (in which the controller 96 keeps all power stages 84 active) and the "single-phase" ("1φ") state 124 (in which the controller 96 keeps only a single power stage 84 active).
[0076] When the FSM is in the All Phases state 120 and the matching criteria are met, the PMGR 80 arms a configurable timer (e.g., a timer of approximately 1 msec) and transitions the FSM to the Timer Armed state 140. As long as the matching criteria are met, the timer continues to count even if new voltage change requests arrive from the hardware circuitry. In this state, all voltage change requests are granted, and the PMGR 80 adjusts the regulator 92 accordingly ( Figure 2 ).
[0077] If a new voltage change request from one of the hardware circuits deasserts the match signal, the PMGR stops the timer and the FSM returns to the full-phase state 120. When the timer expires, the PMGR 80 begins a controlled process of transitioning the controller 96 (and the power source in general) to a low-power mode (i.e., to the single-phase state 124). (In some embodiments, external software has the ability to shorten the timer count in order to force an immediate transition from state 140 to state 144.)
[0078] After the timer expires (or is shortened), in the Single Phase Command Issued state 144, the PMGR sends an SPMI command to the controller 96 instructing the controller 96 to deactivate all power stages except one power stage 84. The FSM transitions to the Single Phase Wait Acknowledgement state 148, where the PMGR waits for confirmation of the deactivation by the controller 96. Upon receiving the SPMI Acknowledgement, the PMGR 80 transitions the FSM to the Single Phase state 124.
[0079] The FSM exits the single-phase state 124 when the match signal is de-asserted (ie, when the current setting of the operating voltage becomes unsafe for single-phase mode) or when the FSM is disabled.
[0080] Upon exiting the Single Phase state 124, the PMGR 80 begins the controlled process of transitioning the controller 96 (and the power source as a whole) to the Full Phase state 120. In the Full Phase Command Issued state 152, the PMGR sends an SPMI command to the controller 96 instructing the controller 96 to activate all power stages 84. The FSM transitions to the Full Phase Waiting Acknowledgement state 156, where the PMGR waits for the controller 96 to confirm activation. Upon receiving the SPMI Acknowledgement, the PMGR 80 transitions the FSM to the Full Phase state 120.
[0081] In some embodiments, as a safety measure, the setting of the "enable" bit by external software is reflected to the hardware and remains stable only in the full-phase state 120. This mechanism ensures that whenever software disables the FSM, the disable indication will remain valid until the FSM returns to the full-phase state 120, even if software re-enables the FSM at some stage during the FSM transition after the deactivation.
[0082] like Figure 4 As seen in FIG, line 128 divides the state space into two regions represented as non-monitoring region 132 and monitoring region 136. In some embodiments, when the FSM is in monitoring region 136, PMGR 80 monitors new voltage change requests from hardware circuits and blocks voltage change requests if the request causes a new setting to be unsafe. PMGR only services requests (that is, regulates appropriate one or more regulators 92) after the FSM has successfully crossed line 128 (that is, transitioned to full-phase state 120). When the FSM is in non-monitoring region 132, PMGR 80 suppresses monitoring and blocks new voltage change requests, regardless of whether matching criteria are met. This mechanism eliminates unnecessary delays in responding to voltage change requests while in full-phase mode.
[0083] Additional embodiments and variations
[0084] In an alternative embodiment, instead of using a list of safety settings 98, a simpler mechanism is to define a one-bit "safe / unsafe" indication for each hardware circuit. For example, the control circuit can receive or generate a "safe / unsafe" bit for each hardware circuit, for example, based on the current voltage and / or clock frequency of the circuit. If all "safe / unsafe" bits indicate "safe", the control circuit applies a low-power mode. If one or more "safe / unsafe" bits indicate "unsafe", the control circuit reverts to normal (full-phase) mode.
[0085] Yet another possibility is to decide and switch between low power (single phase) mode and normal (full phase) mode based solely on temperature, regardless of the operating voltage.
[0086] Although the embodiments described herein primarily address deactivation of a power stage in a front-end power source of a SOC, the methods and systems described herein may also be used in any other system or application that uses multiple power stages.
[0087] Figure 5 is a block diagram schematically illustrating a system 700 according to embodiments described herein. In the illustrated embodiment, the system 700 includes at least one instance of a system on a chip (SOC) 10 coupled to one or more peripheral devices 704 and an external memory 702. A power supply unit (PMU) 708 is provided that supplies a supply voltage to the SOC 10 and one or more supply voltages to the memory 702 and / or the peripheral devices 154. In some embodiments, more than one instance of the SOC 10 (e.g., SOCs 10A-10q) may be included (and more than one memory 702 may also be included).
[0088] According to the type of system 700, peripheral device 704 can comprise any desired circuit.For example, in one embodiment, system 704 can be mobile device (for example, personal digital assistant (PDA), smart phone etc.), and peripheral device 704 can comprise the equipment for various types of wireless communication, such as Wi-Fi, bluetooth, cellular, global positioning system etc.Peripheral device 704 can also comprise extra storage device, and this extra storage device comprises RAM storage device, solid-state storage device or disk storage device.Peripheral device 704 can comprise user interface device, such as display screen, and it comprises touch display screen or multi-touch display screen, keyboard or other input device, microphone, loudspeaker etc.In other embodiments, system 700 can be any type of computing system (for example, desktop personal computer, laptop computer, workstation, network set-top box etc.).
[0089] The external memory 702 may include any type of memory. For example, the external memory 702 may be SRAM, dynamic RAM (DRAM) (such as synchronous DRAM (SDRAM)), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, RAMBUS DRAM, low-power versions of DDR DRAM (e.g., LPDDR, mDDR, etc.), etc. The external memory 702 may include one or more memory modules, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc., to which memory devices may be mounted. Alternatively, the external memory 702 may include one or more memory devices mounted on the SOC 10 in a chip-on-chip or package-on-package implementation.
[0090] As shown, system 700 is shown as having applications in a wide range of fields. For example, system 700 can be used as part of a chip, circuit, component, etc. of a desktop computer 710, a laptop computer 720, a tablet computer 730, a cellular or mobile phone 740, or a television 750 (or a set-top box coupled to a television). A smartwatch and a health monitoring device 760 are also shown. In some embodiments, the smartwatch can include various general computing-related functions. For example, the smartwatch can provide access to email, mobile phone services, the user's calendar, etc. In various embodiments, the health monitoring device can be a dedicated medical device or otherwise include dedicated health-related functions. For example, the health monitoring device can monitor a user's vital signs, track the user's proximity to other users for epidemiological social distancing purposes, contact tracing, provide communications to emergency services in the event of a health crisis, etc. In various embodiments, the smartwatch described above may or may not include some or all of the health monitoring-related functions. Other wearable devices are also contemplated, such as devices worn around the neck, devices that can be implanted in the human body, glasses designed to provide augmented and / or virtual reality experiences, and the like.
[0091] The system 700 can also be used as part of a cloud-based service 770. For example, the previously mentioned devices and / or other devices can access computing resources in the cloud (i.e., remotely located hardware and / or software resources). Further, the system 700 can be used in one or more devices in a home other than those previously mentioned. For example, home appliances can monitor and detect noteworthy conditions. For example, various devices in a home (e.g., a refrigerator, a cooling system, etc.) can monitor the status of the devices and provide an alert to the homeowner (or, for example, a maintenance facility) if a specific event is detected. Alternatively, a thermostat can monitor the temperature in a home and automatically adjust the heating / cooling system based on a history of the homeowner's responses to various conditions. Figure 5Also shown are applications of system 700 to various modes of transportation. For example, system 700 may be used for control and / or entertainment systems for airplanes, trains, buses, taxis, private cars, watercraft ranging from private boats to cruise ships, scooters (for rental or private use), and the like. In various cases, system 700 may be used to provide automated guidance (e.g., self-driving vehicles), general system control, and the like. Any of these and many other embodiments are possible and contemplated. Note that Figure 5 The devices and applications shown are exemplary only and are not intended to be limiting. Other devices are possible and contemplated.
[0092] Figure 6 It is a block diagram schematically illustrating a computer-readable storage medium 800 according to the embodiments described herein. Generally speaking, a computer-accessible storage medium can include any storage medium that can be accessed by a computer to provide instructions and / or data to a computer during use. For example, a computer-accessible storage medium can include a storage medium such as a magnetic or optical medium, for example, a disk (fixed or removable), a tape, a CD-ROM, a DVD-ROM, a CD-R, a CD-RW, a DVD-R, a DVD-RW or a Blu-ray. The storage medium can also include a volatile or non-volatile memory medium, such as a RAM (for example, synchronous dynamic RAM (SDRAM), Rambus DRAM (RDRAM), a static RAM (SRAM) etc.), a ROM or a flash memory. The storage medium can be physically included in the computer to which the storage medium provides instructions / data. Alternatively, the storage medium can be connected to a computer. For example, the storage medium can be connected to a computer via a network or a wireless link such as a network attached storage device. The storage medium can be connected via a peripheral interface such as a universal serial bus (USB). Typically, the computer-accessible storage medium 800 can store data in a non-transitory manner, where non-transitory in this context can mean that instructions / data are not transmitted via signals. For example, a non-transitory storage device can be volatile (and may lose stored instructions / data in response to a power outage) or non-volatile.
[0093] Figure 6The computer-accessible storage medium 800 in the computer memory may store a database 804 representing the SOC 10. Generally speaking, the database 804 may be a database that can be read by a program and used directly or indirectly to manufacture the hardware comprising the SOC 10. For example, the database may be a behavioral-level description of the hardware functionality or a register-transfer-level (RTL) description in a high-level design language (HDL) such as Verilog or VHDL. This description may be read by a synthesis tool, which may synthesize it to generate a netlist comprising a list of gates from a synthesis library. The netlist comprises a set of gates that also represent the functionality of the hardware comprising the SOC 10. The netlist may then be placed and routed to generate a data set describing the geometry to be applied to the mask. The mask may then be used in various semiconductor manufacturing steps to produce one or more semiconductor circuits corresponding to the SOC 10. Alternatively, the database 804 on the computer-accessible storage medium 800 may be a netlist (with or without a synthesis library) or a data set, as desired.
[0094] While computer-accessible storage medium 800 stores a representation of SOC 10, other embodiments may carry a representation of any portion of SOC 10 as desired, including, for example, Figure 2 Any subset of the components shown. Database 804 may represent any of the above.
[0095] This disclosure includes references to "an embodiment" or groups of "embodiments" (e.g., "some embodiments" or "various embodiments"). An embodiment is different specific implementations or examples of the disclosed concepts. References to "an embodiment," "one embodiment," "a specific embodiment," etc., do not necessarily refer to the same embodiment. Numerous possible embodiments are contemplated, including those specifically disclosed, as well as modifications or alternatives that fall within the spirit or scope of this disclosure.
[0096] This disclosure may discuss potential advantages that may result from the disclosed embodiments. Not all implementations of these embodiments will necessarily exhibit any or all of the potential advantages. Whether a particular implementation achieves an advantage depends on many factors, some of which are outside the scope of this disclosure. Indeed, there are many reasons why an implementation falling within the scope of a claim may not exhibit some or all of the disclosed advantages. For example, a particular implementation may include additional circuitry outside the scope of this disclosure that, in combination with one of the disclosed embodiments, negates or mitigates one or more of the disclosed advantages. Furthermore, suboptimal design implementation of a particular implementation (e.g., a specific implementation technique or tool) may also negate or mitigate the disclosed advantages. Even assuming a specific implementation of the technique, the realization of an advantage may still depend on other factors, such as the environmental circumstances in which the implementation is deployed. For example, the inputs provided to a particular implementation may prevent one or more problems addressed in this disclosure from occurring in a particular situation, and as a result, the benefits of its solution may not be realized. Given the existence of possible factors external to this disclosure, any potential advantages described herein should not be construed as claim limitations that must be met in order to prove infringement. Rather, the identification of such potential advantages is intended to illustrate one or more types of improvements available to designers who benefit from this disclosure. Permanently describing such advantages (eg, stating that a particular advantage "may occur") is not intended to convey a doubt as to whether such advantage can actually be achieved, but rather to recognize that achievement of such advantages often depends on technical realities of additional factors.
[0097] Unless otherwise indicated, the embodiments are non-restrictive. That is, the disclosed embodiments are not intended to limit the scope of claims drafted based on this disclosure, even when only a single example is described for a particular feature. The embodiments disclosed herein are intended to be illustrative and not restrictive, without any statement to the contrary in this disclosure. Therefore, this application is intended to allow claims covering the disclosed embodiments, as well as such alternatives, modifications, and equivalents, which will be apparent to those skilled in the art knowing the effective effects of this disclosure.
[0098] For example, features in this application may be combined in any suitable manner. Accordingly, new claims may be formulated during the prosecution of this patent application (or a patent application claiming priority thereto) directed to any such combination of features. In particular, with reference to the appended claims, features of dependent claims may, where appropriate, be combined with features of other dependent claims, including claims that are dependent on other independent claims. Similarly, features from corresponding independent claims may, where appropriate, be combined.
[0099] Thus, while the appended dependent claims may be drafted such that each dependent claim is dependent upon a single other claim, additional dependencies are also contemplated. Any combination of dependent features consistent with the present disclosure is contemplated and may be claimed in this or another patent application. In short, the combinations are not limited to those specifically recited in the appended claims.
[0100] It is also contemplated that claims drafted in one format or legal type (eg, apparatus) are intended to support corresponding claims in another format or legal type (eg, method), where appropriate.
[0101] Because this disclosure is a legal document, various terms and phrases may be subject to regulatory and judicial interpretation. Notice is hereby given that the definitions provided in the following paragraphs and throughout this disclosure will be used to determine how claims drafted based on this disclosure are to be interpreted.
[0102] Unless the context clearly dictates otherwise, reference to an item in the singular (i.e., a noun or noun phrase preceded by "a," "an," or "the") is intended to mean "one or more." Thus, reference to "an item" in a claim, without accompanying context, does not exclude additional instances of that item. A "plurality" of an item refers to a collection of two or more items.
[0103] The word "may" is used herein in a permissive sense (ie, having the potential to, being able to), rather than the mandatory sense (ie, must).
[0104] The terms "include" and "including" and their forms are open ended and mean "including, but not limited to."
[0105] When the term "or" is used in this disclosure with respect to a list of options, unless the context provides otherwise, it will generally be understood to be used in an inclusive sense. Thus, the expression "x or y" is equivalent to "x or y, or both," thus encompassing 1) x but not y, 2) y but not x, and 3) both x and y. On the other hand, phrases such as "either, but not both, x or y" make it clear that "or" is used in an exclusive sense.
[0106] The expression "w, x, y, or z, or any combination thereof" or "... at least one of w, x, y, and z" is intended to encompass all possibilities involving individual elements up to the total number of elements in the set. For example, given the set [w, x, y, z], these phrases encompass any single element in the set (e.g., w but not x, y, or z), any two elements (e.g., w and x, but not y or z), any three elements (e.g., w, x, and y, but not z), and all four elements. The phrase "... at least one of w, x, y, and z" thus refers to at least one element in the set [w, x, y, z], thereby encompassing all possible combinations in that list of elements. The phrase should not be interpreted as requiring the presence of at least one instance of w, at least one instance of x, at least one instance of y, and at least one instance of z.
[0107] In this disclosure, various "labels" may precede a noun or noun phrase. Unless the context provides otherwise, different labels used for a feature (e.g., "first circuit," "second circuit," "particular circuit," "given circuit," etc.) refer to different instances of the feature. Furthermore, unless otherwise specified, the labels "first," "second," and "third" do not imply any type of ordering (e.g., spatial, temporal, logical, etc.) when applied to features.
[0108] The phrase "based on" or "based on" is used to describe one or more factors that influence a determination. This term does not exclude that there may be additional factors that may influence the determination. That is, the determination may be based solely on the specified factors or on the specified factors and other unspecified factors. Consider the phrase "A is determined based on B." This phrase specifies that B is a factor used to determine A or that B influences the determination of A. This phrase does not exclude that the determination of A may also be based on some other factor, such as C. This phrase is also intended to cover embodiments in which A is determined solely based on B. As used herein, the phrase "based on" is synonymous with the phrase "based at least in part on."
[0109] The phrases "in response to" and "in response to" describe one or more factors that trigger an effect. The phrases do not exclude the possibility that additional factors may influence or otherwise trigger the effect, either in conjunction with or independent of the specified factors. That is, the effect may be responsive only to these factors, or may be responsive to the specified factors as well as other unspecified factors. Consider the phrase "in response to B, A is performed." The phrase specifies that B is the factor that triggers the performance of A or triggers a particular result of A. The phrase does not exclude that the performance of A may also be responsive to some other factor, such as C. The phrase also does not exclude that the performance of A may be performed in response to B and C in conjunction. This phrase is also intended to cover embodiments in which A is performed only in response to B. As used herein, the phrase "in response to" is synonymous with the phrase "at least partially in response to." Similarly, the phrase "in response to" is synonymous with the phrase "at least partially in response to."
[0110] Within the present disclosure, different entities (which may be variously referred to as "units," "circuits," other components, etc.) may be described or claimed as being "configured to" perform one or more tasks or operations. This expression—an [entity] configured to [perform one or more tasks]—is used herein to refer to a structure (i.e., a physical thing). More specifically, this expression is used to indicate that this structure is arranged to perform one or more tasks during operation. A structure may be said to be "configured to" perform a task even if the structure is not currently being operated. Thus, an entity described or stated as "configured to" perform a task refers to a physical thing used to implement the task, such as a device, a circuit, a system with a processor unit, a memory storing executable program instructions, etc. The phrase is not used herein to refer to an intangible thing.
[0111] In some cases, various units / circuits / components may be described herein as performing a set of tasks or operations. It should be understood that these entities are "configured to" perform those tasks / operations, even if not specifically stated.
[0112] The term "configured to" is not intended to mean "configurable to." For example, an unprogrammed FPGA would not be considered "configured to" perform a particular function. However, the unprogrammed FPGA could be "configurable to" perform that function. After being appropriately programmed, the FPGA could then be considered "configured to" perform the particular function.
[0113] For purposes of a U.S. patent application based on the present disclosure, stating in a claim that a structure is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112(f) for that claim element. If the applicant wishes to invoke section 112(f) during prosecution of a U.S. patent application based on the present disclosure, it would use the “means for [performing function]” construct to phrase the claim element.
[0114] Different “circuits” may be described in this disclosure. These circuits or “circuitry” constitute hardware that includes various types of circuit elements, such as combinational logic, clock storage devices (e.g., flip-flops, registers, latches, etc.), finite state machines, memories (e.g., random access memory, embedded dynamic random access memory), programmable logic arrays, etc. Circuits can be custom designed or taken from a standard library. In various specific implementations, circuits may include digital components, analog components, or a combination of both, as appropriate. Certain types of circuits may be generally referred to as “units” (e.g., decoding units, arithmetic logic units (ALUs), functional units, memory management units (MMUs), etc.). Such units are also referred to as circuits or circuit systems.
[0115] Thus, the disclosed circuits / units / components and other elements shown in the accompanying drawings and described herein include hardware elements, such as those described in the preceding paragraphs. In many cases, the internal arrangement of hardware elements in a particular circuit can be specified by describing the functionality of that circuit. For example, a particular "decode unit" may be described as performing the function of "processing an instruction's opcode and routing that instruction to one or more of a plurality of functional units," meaning that the decode unit is "configured to" perform that function. For one skilled in the computer arts, this functional specification is sufficient to suggest a set of possible architectures for the circuit.
[0116] In various embodiments, as discussed in the preceding paragraphs, the arrangement of circuits, units, and other elements defined by the functions or operations they are configured to implement, relative to one another, and the manner in which such circuits / units / components and they interact form a microarchitectural definition of the hardware that is ultimately manufactured in an integrated circuit or programmed into an FPGA to form a physical implementation of the microarchitectural definition. Thus, a microarchitectural definition is considered by those skilled in the art to be a structure from which many physical implementations can be derived, all of which fall within the broader structure described by the microarchitectural definition. That is, a person skilled in the art having a microarchitectural definition provided in accordance with the present disclosure can, without undue experimentation and with the application of ordinary skill, implement the structure by coding a description of the circuits / units / components in a hardware description language (HDL) such as Verilog or VHDL. HDL descriptions are often expressed in a manner that can be rendered as functional. However, for those skilled in the art, the HDL description is a means for translating the structure of a circuit, unit, or component into the next level of implementation details. Such HDL descriptions may take the form of behavioral code (which is generally non-synthesizable), register transfer language (RTL) code (which is generally synthesizable compared to behavioral code), or structural code (e.g., a netlist specifying logic gates and their connectivity). The HDL description may be sequentially synthesized against a library of cells designed for a given integrated circuit manufacturing technology and may be modified for timing, power, and other reasons to obtain a final design database that is transmitted to the factory to generate masks and ultimately produce the integrated circuit. Some hardware circuits, or portions thereof, may also be custom designed in the schematic editor and captured into the integrated circuit design along with the synthesized circuitry. The integrated circuit may include transistors and other circuit elements (e.g., passive elements such as capacitors, resistors, inductors, etc.), as well as interconnects between the transistors and circuit elements. Some embodiments may implement multiple integrated circuits coupled together to implement the hardware circuit, and / or discrete elements may be used in some embodiments. Alternatively, the HDL design may be synthesized into a programmable logic array such as a field programmable gate array (FPGA) and implemented in the FPGA. This decoupling between the design of a set of circuits and the subsequent low-level implementation of those circuits often leads to situations where the circuit or logic designer never specifies a specific set of structures for the low-level implementation beyond a description of what the circuits are configured to do, because that process is performed at a different stage in the circuit implementation process.
[0117] The fact that many different low-level combinations of circuit elements can be used to achieve the same specifications of a circuit results in a large number of equivalent structures for that circuit. As noted, these low-level circuit implementations can vary depending on variations in manufacturing technology, the foundry chosen to manufacture the integrated circuit, the cell libraries available for a particular project, and so on. In many cases, the selection made by different design tools or methodologies to produce these different implementations can be arbitrary.
[0118] Furthermore, for a given embodiment, a single implementation of a particular functional specification of a circuit typically includes a large number of devices (e.g., millions of transistors). Consequently, the shear volume of this information makes it impractical to provide a complete description of the low-level structure used to implement a single embodiment, let alone the large number of equivalent possible implementations. For this reason, the present disclosure describes the structure of the circuit using functional shorthand commonly used in the industry.
Claims
1. A device comprising: Multiple hardware circuits; a front-end power source configured to generate electrical power for powering the plurality of hardware circuits, the front-end power source comprising a set of power stages configured to generate respective portions of the electrical power and to be activated and deactivated independently of one another; a plurality of voltage regulators connected to outputs of the front-end power source and configured to provide adjustable operating voltages to the hardware circuit; and A control circuit, the control circuit being configured to: controlling the voltage regulator in response to a request from the hardware circuit to supply a setting of the adjustable operating voltage to the hardware circuit; comparing the setting of the adjustable operating voltage to one or more safety settings, wherein a given safety setting specifies a combination of voltage values of the adjustable operating voltage that can be generated by the front-end power source while the number of active power stages in the front-end power source is a predefined fractional number; as well as Adaptively activating and deactivating the power stages includes ensuring that the number of active power stages is set to the predefined fractional number only when the setting of the operating voltage matches at least one of the safety settings.
2. The apparatus of claim 1 , wherein, in order to adaptively activate and deactivate the power stage, the control circuit is further configured to: At a time wherein the setting matches at least one of the safety settings, controlling the front-end power source such that only the predefined fraction of the power stages are active; and At other times where the setting does not match any of the safety settings, the front end power source is controlled such that more than the predefined fractional amount of the power stages are active.
3. The device according to claim 1, wherein In addition to adaptively activating and deactivating the power stages, the control circuit is further configured to adaptively transition one or more of the power stages between a normal mode and a standby mode. The apparatus of claim 1 , wherein the predefined portion of the power stages is a single power stage.
5. The device according to claim 1, wherein When the number of active power stages is the predefined fractional number, the control circuit is configured to: detecting an anticipation of a request from one of the hardware circuits to change the setting of the operating voltage from a safe setting to an unsafe setting; and The voltage regulator is controlled to switch to the unsafe setting only after increasing the number of active power stages.
6. The apparatus of claim 1 , wherein at least one of the safety settings is dependent upon one or more specified temperature thresholds, and wherein: When comparing the setting of the adjustable operating voltage to the safety setting, the control circuit is configured to compare one or more temperatures associated with the device to the one or more temperature thresholds.
7. A method comprising: generating, using a front-end power source comprising a set of power stages, electrical power for powering a plurality of hardware circuits by generating respective portions of the electrical power using the power stages; using a plurality of voltage regulators connected to outputs of the front-end power source to provide adjustable operating voltages to the hardware circuits; controlling the voltage regulator in response to a request from the hardware circuit to supply a setting of the adjustable operating voltage to the hardware circuit; comparing the setting of the adjustable operating voltage to one or more safety settings, wherein a given safety setting specifies a combination of voltage values of the adjustable operating voltage that can be generated by the front-end power source while the number of active power stages in the front-end power source is a predefined fractional number; as well as Adaptively activating and deactivating the power stages includes ensuring that the number of active power stages is set to the predefined fractional number only when the setting of the operating voltage matches at least one of the safety settings.
8. The method of claim 7, wherein adaptively activating and deactivating the power stage comprises: At a time wherein the setting matches at least one of the safety settings, controlling the front-end power source such that only the predefined fraction of the power stages are active; and At other times where the setting does not match any of the safety settings, the front end power source is controlled such that more than the predefined fractional amount of the power stages are active.
9. The method according to claim 7, and comprising: In addition to adaptively activating and deactivating the power stages, one or more of the power stages are adaptively transitioned between a normal mode and a standby mode.
10. The method of claim 7, wherein the predefined fraction of the power stages is a single power stage.
11. The method of claim 7, and comprising while the number of active power stages is the predefined fractional number: detecting an anticipation of a request from one of the hardware circuits to change the setting of the operating voltage from a safe setting to an unsafe setting; and The voltage regulator is controlled to switch to the unsafe setting only after increasing the number of active power stages.
12. The method of claim 7, wherein at least one of the safety settings is dependent on one or more specified temperature thresholds, and wherein comparing the setting of the adjustable operating voltage to the safety settings comprises: One or more temperatures associated with the device are compared to the one or more temperature thresholds.
Citation Information
Patent Citations
Power management system for variable load applications
US20040061380A1
Power management system
US20130207467A1
High voltage power management unit architecture in CMOS process
US7161339B2
Thermal rotation of power supply phases
US20200310519A1