Embodiments described herein generally relate to digitally controlled power gates.
Digital power gate-based regulators may require fine grain enabling of power gates devices with orders of magnitude difference in size. The issue of monotonicity of the power gate array becomes a significant problem when large bit transitions occur. Non-monotonicity in the power gate may cause non-linear behavior of the controller and potential instability of the regulator. Additionally, when a subset of power gates transistors is enabled for a greater duration of the product lifetime than other power gates, they may age differently and exhibit non-monotonicity effects years or months after production. Aging differences may also affect accuracy in current sensing circuits.
In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which:
A digitally selectable (e.g., digital) power gate regulator with thermometer-encoded upper bits may help to provide solutions for problems digital power gate-based regulators. These solutions may include the use of a fully binary power gate, either in structure or by local decoding of binary control signal to an addressable row-based power gate. This provides improved performance over a row-based code rotation, which is intended to avoid instantaneous overheating of power gate devices but may not mitigate aging effects. These solutions may reduce or eliminate aging effects by incorporating thermometer encoding so no bits were deterministically on for a greater amount of time than any other bits.
The solutions described herein provide improved ageing and monotonicity performance through a digitally selectable power gate with the upper bits being thermometer encoded. Thermometer encoding may improve monotonicity over a fully binary encoded power gate, and may allow a deterministic code rotation to help combat effects of uneven transistor aging. In an example solution, a digital linear voltage regulator (DLVR) with a 15-bit binary raw controller code may map the upper 4 binary bits to 15 equally sized thermometer-encoded power gate sections (called “therms”) and map the lower 11-bits directly to binary weighted power gate units. The thermometer encoded power gates with rotating addresses may be implemented in silicon in the DLVR intellectual property (IP) on a chip, for example.
These solutions may also include breaking top binary bits of a digital power gate into a larger amount of equally sized thermometer bits so that a maximum binary bit transition is significantly reduced. The issue of rapid aging of the lowest thermometer bits may be mitigated by executing a slow address rotation of all the thermometer bits, such as on a 1-8 ms time scale. One advantage of thermometer encoded power gates with slow address rotation is that the resolution of a binary encoded digital controller output may be extended while reducing likelihood of large non-monotonicities. A downside of introducing unequal aging in the power gate may be offset by slowly rotating the thermometer bits so that no single thermometer is on more than the others over a lifetime of the product.
These solutions may also include ganging a primary DLVR with one or more secondaries. The primary DLVR may include a voltage sense and active controller, which may forward its PG code to secondary instances. Therm and current sensor rotation may be performed locally at the secondaries and a current monitor (IMON) data may be rolled up from all ganged DLVRs. The ability to distribute voltage regulator power gates may be helpful for power domains that are narrower than the power gate or are very long in one direction. Breaking up a monolithic power gate allows for distribution of smaller segments that are easier to hook up to the power delivery network and may reduce IR drop across large domains.
The above discussion is intended to provide an overview of subject matter of the present patent application. It is not intended to provide an exclusive or exhaustive explanation of the invention. The description below is included to provide further information about the present patent application. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of some example embodiments. It will be evident, however, to one skilled in the art that the present disclosure may be practiced without these specific details.
More specifically,
One DLVR ganging solution may include a primary DLVR and one or more secondaries. The primary DLVR may include a voltage sense and active controller, which may forward its PG code to secondary instances. Therm and current sensor rotation may be performed locally at the secondaries and a current monitor (IMON) data may be rolled up from all ganged DLVRs. The ability to distribute voltage regulator power gates may be helpful for power domains that are narrower than the power gate or are very long in one direction. Breaking up a monolithic power gate allows for distribution of smaller segments that are easier to hook up to the power delivery network and may reduce IR drop across large domains. Discussed below is a method of control and communication between a primary controller and secondary power gates in remote locations.
As shown in
The ganged DLVR solution shown in
While routing these extra bits may be relatively trivial within the DLVR IP, the full chip integration level may increase difficulty of acquiring routing resources and ensuring that bits are routed for every DLVR instance according to specifications such as shielding, bundling, and delay. Because of these challenges, it is pragmatic to reduce as much as possible the number of signals going from the primary to the secondaries. To do this, a reduced 15-bit binary PG code may be routed to the secondary DLVRs. The decoding of the 4 most significant bits (MSBs) into thermometer bits may be done locally at each secondary DLVR. In monolithic DLVRs, the power gate therms may be periodically rotated so that the long-term aging effects are evenly distributed over the power gate array. The rotation logic may also be handled locally in the secondary DLVRs to reduce unnecessary full chip routes.
A power state and voltage control finite state machine (FSM) may be present in the primary DLVR. Information may be forwarded from the primary DLVR to all the secondary DLVRs with matched delays, and information may be looped back into the primary DLVR with the same delay, so the settings are applied simultaneously to all DLVRs. This may help to ensure that all DLVRs enter and exit power states and modes synchronously so that there is no transient contention between them. To reduce or minimize the number of signals sent between DLVRs, all settings may be stored locally in each DLVR, and only a 5-bit pointer (e.g., with strobe) may be broadcast to implement various settings.
The full set of signals between primary and secondary DLVRs may be shown in
A current sensor and an analog-to-digital controller (ADC) may be used to provide improved current regulation and current sensing. Each of the secondary DLVRs 720 may include a current sensor and an ADC, and may report a digital current value back to the primary DLVR 710, such as through PRIM_VCS_ADC_CODE 716. This current sensing may be used to improve the ability of all power gate transistors in the domain to supply relatively equal amounts of current. Current imbalances may easily occur in the presence of voltage gradients on the input network due to gate-source voltage (VGS) and drain-source voltage (VDS) sensitivity. When current per transistor in a secondary power gate is larger than in the primary, the gain of the overall loop may be higher than expected, which may lead to loop instability. If the transistors in the secondary DLVRs supply less current than the transistors in the primary DLVR, the loop bandwidth may be lower than expected and the ganged power gates may not be able to supply the current required by the load. To reduce or eliminate these situations, ganged control may be used in conjunction with regulators with locally regulated currents. Local current per branch regulation enables constant average current even with voltage gradients on the input power delivery network.
While current regulation may help to keep the current per transistor of each ganged DLVR relatively constant, a dedicated current sensor may be used for accurate current monitoring and fault protection. In the monolithic DLVR, a replica cell may precisely sense gate and junction voltages of the power gate and may provide a proportional amount of current to a central current sensor and an ADC. The digital code from the ADC may represent the current per device, and this code may be multiplied by the PG Code to determine the total current supplied by the DLVR. In a ganged DLVR configuration, each of the DLVRs may include a current sensor and ADC that may report a digital current value per transistor. This code may be sent back to the primary DLVR through a daisy chain signal ADC code 716 as shown in
In addition to a reduction in IR drop on the power grid, distributed ganged DLVRs may provide a thermal benefit to the power delivery. For example, in a monolithic version of DLVR 802A, power gates 820A are all in close proximity to each other, so any power dissipated as heat in the power gates may be shared with the surrounding power gates. This mutual heating may cause the devices to reach their junction temperature limit much faster.
The ganging feature of the DLVR 802B allows two or more power gates subgroups 820B and 822B to be broken into smaller units that may be separated from each other. The reduction in mutual heating translates directly into increased thermal head room, allowing the ganged DLVRs to dissipate more power per transistor than in the monolithic design.
As described above, there are several advantages of ganging several small regulators, such as reduced power grid voltage gradients and easier integration of large power gates. However, the distributed nature of the ganged DLVRs may increase delay in the linear control loop, and the delay may contribute to loss of phase margin in high bandwidth control loops. For example, a loop with a 50 MHz unity gain bandwidth and 1 ns delay in its control path may exhibit 18° less phase margin than the same loop with no delay. While the delay of the PG code from primary to secondary DLVRs should be minimized to maintain loop bandwidth as high as possible, the controller difference equation coefficients may be used to compensate for any increased delay and avoid pushing the bandwidth higher than stability limits allow. Routing delays may be significant, but these routing delays are offset by the additional available area for output capacitance within domains that would require ganged regulators. By using a large capacitance to reduce the high frequency impedance, the regulator control loop bandwidth may be relaxed accordingly without a first-order effect on peak impedance.
In an example, the previous binary controller code may identify a first subset of the plurality of power gate circuits. The rotated binary raw controller code may identify a second subset of the plurality of power gate circuits different from the first subset of the plurality of power gate circuits. The bit encoding may include a plurality of binary weighted bits corresponding to a plurality of binary weighted power gate units and a plurality of equally weighted bits corresponding to a first subset of equally weighted thermometer power gate units. The rotated binary raw controller code may identify a plurality of rotated equally weighted bits corresponding to a second subset of equally weighted thermometer power gate units.
The first subset of equally weighted thermometer power gate units may include a first initial thermometer-encoded power gate unit. Similarly, the second subset of equally weighted thermometer power gate units may include a second initial thermometer-encoded power gate unit, where the second initial thermometer-encoded power gate unit is different from the first initial thermometer-encoded power gate unit. The second initial thermometer-encoded power gate unit may be adjacent to the first initial thermometer-encoded power gate unit to provide a sequential power gate unit cycle. The second initial thermometer-encoded power gate unit may be separated by a rotation distance from the first initial thermometer-encoded power gate unit to provide a distributed power gate unit cycle.
In one embodiment, multiple such computer systems are used in a distributed network to implement multiple components in a transaction-based environment. An object-oriented, service-oriented, or other architecture may be used to implement such functions and communicate between the multiple systems and components. In some embodiments, the computing device of
One example computing device in the form of a computer 1310, may include a processing unit 1302, memory 1304, removable storage 1312, and non-removable storage 1314. Although the example computing device is illustrated and described as computer 1310, the computing device may be in different forms in different embodiments. For example, the computing device may instead be a smartphone, a tablet, or other computing device including the same or similar elements as illustrated and described regarding
Returning to the computer 1310, memory 1304 may include volatile memory 1306 and non-volatile memory 1308. Computer 1310 may include or have access to a computing environment that includes a variety of computer-readable media, such as volatile memory 1306 and non-volatile memory 1308, removable storage 1312 and non-removable storage 1314. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer 1310 may include or have access to a computing environment that includes input 1316, output 1318, and a communication connection 1320. The input 1316 may include one or more of a touchscreen, touchpad, mouse, keyboard, camera, and other input devices. The input 1316 may include a navigation sensor input, such as a GNSS receiver, a SOP receiver, an inertial sensor (e.g., accelerometers, gyroscopes), a local ranging sensor (e.g., LIDAR), an optical sensor (e.g., cameras), or other sensors. The computer may operate in a networked environment using a communication connection 1320 to connect to one or more remote computers, such as database servers, web servers, and other computing devices. An example remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection 1320 may be a network interface device such as one or both of an Ethernet card and a wireless card or circuit that may be connected to a network. The network may include one or more of a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, and other networks.
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 1302 of the computer 1310. A hard drive (magnetic disk or solid state), CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, various computer programs 1325 or apps, such as one or more applications and modules implementing one or more of the methods illustrated and described herein or an app or application that executes on a mobile device or is accessible via a web browser, may be stored on a non-transitory computer-readable medium.
The apparatuses and methods described above may include or be included in high-speed computers, communication and signal processing circuitry, single-processor module or multi-processor modules, single embedded processors or multiple embedded processors, multi-core processors, message information switches, and application-specific modules including multilayer or multi-chip modules. Such apparatuses may further be included as sub-components within a variety of other apparatuses (e.g., electronic systems), such as televisions, cellular telephones, personal computers (e.g., laptop computers, desktop computers, handheld computers, etc.), tablets (e.g., tablet computers), workstations, radios, video players, audio players (e.g., MP3 (Motion Picture Experts Group, Audio Layer 3) players), vehicles, medical devices (e.g., heart monitors, blood pressure monitors, etc.), set top boxes, and others.
In the detailed description and the claims, the term “on” used with respect to two or more elements (e.g., materials), one “on” the other, means at least some contact between the elements (e.g., between the materials). The term “over” means the elements (e.g., materials) are in close proximity, but possibly with one or more additional intervening elements (e.g., materials) such that contact is possible but not required. Neither “on” nor “over” implies any directionality as used herein unless stated as such.
In the detailed description and the claims, a list of items joined by the term “at least one of” may mean any combination of the listed items. For example, if items A and B are listed, then the phrase “at least one of A and B” means A only; B only; or A and B. In another example, if items A, B, and C are listed, then the phrase “at least one of A, B and C” means A only; B only; C only; A and B (excluding C); A and C (excluding B); B and C (excluding A); or all of A, B, and C. Item A may include a single element or multiple elements. Item B may include a single element or multiple elements. Item C may include a single element or multiple elements.
In the detailed description and the claims, a list of items joined by the term “one of” may mean only one of the list items. For example, if items A and B are listed, then the phrase “one of A and B” means A only (excluding B), or B only (excluding A). In another example, if items A, B, and C are listed, then the phrase “one of A, B and C” means A only; B only; or C only. Item A may include a single element or multiple elements. Item B may include a single element or multiple elements. Item C may include a single element or multiple elements.
Example 1 is a digital voltage regulation apparatus comprising: a digital power gate regulator including a plurality of power gate circuits; a power code generation circuit to generate a bit encoding based on a received power request; a deterministic code rotation circuit to generate a rotated binary raw controller code based on the bit encoding and based on a previous binary controller code; and a controller to generate a power gate controller code based on the rotated binary raw controller code.
In Example 2, the subject matter of Example 1 includes, wherein: the previous binary controller code identifies a first subset of the plurality of power gate circuits; and the rotated binary raw controller code identifies a second subset of the plurality of power gate circuits different from the first subset of the plurality of power gate circuits.
In Example 3, the subject matter of Examples 1-2 includes, wherein the bit encoding includes: a plurality of binary weighted bits corresponding to a plurality of binary weighted power gate units; and a plurality of equally weighted bits corresponding to a first subset of equally weighted thermometer power gate units.
In Example 4, the subject matter of Example 3 includes, wherein the rotated binary raw controller code identifies a plurality of rotated equally weighted bits corresponding to a second subset of equally weighted thermometer power gate units.
In Example 5, the subject matter of Example 4 includes, wherein: the first subset of equally weighted thermometer power gate units includes a first initial thermometer-encoded power gate unit; the second subset of equally weighted thermometer power gate units includes a second initial thermometer-encoded power gate unit; and the second initial thermometer-encoded power gate unit is different from the first initial thermometer-encoded power gate unit.
In Example 6, the subject matter of Example 5 includes, wherein the second initial thermometer-encoded power gate unit is adjacent to the first initial thermometer-encoded power gate unit to provide a sequential power gate unit cycle.
In Example 7, the subject matter of Examples 5-6 includes, wherein the second initial thermometer-encoded power gate unit is separated by a rotation distance from the first initial thermometer-encoded power gate unit to provide a distributed power gate unit cycle.
In Example 8, the subject matter of Examples 1-7 includes, a secondary power gate regulator including a plurality of secondary power gate circuits.
In Example 9, the subject matter of Example 8 includes, wherein the digital power gate regulator controls the plurality of secondary power gate circuits based on the power gate controller code and a secondary power gate delay.
Example 10 is a digital voltage regulation method comprising: generating a bit encoding at a power code generation circuit based on a received power request; generating a rotated binary raw controller code at a deterministic code rotation circuit based on the bit encoding and based on a previous binary controller code; generating a power gate controller code at a controller based on the rotated binary raw controller code; and activating a plurality of power gate circuits within a digital power gate regulator based on the power gate controller code.
In Example 11, the subject matter of Example 10 includes, wherein: the previous binary controller code identifies a first subset of the plurality of power gate circuits; and the rotated binary raw controller code identifies a second subset of the plurality of power gate circuits different from the first subset of the plurality of power gate circuits.
In Example 12, the subject matter of Examples 10-11 includes, wherein the bit encoding includes: a plurality of binary weighted bits corresponding to a plurality of binary weighted power gate units; and a plurality of equally weighted bits corresponding to a first subset of equally weighted thermometer power gate units.
In Example 13, the subject matter of Example 12 includes, wherein the rotated binary raw controller code identifies a plurality of rotated equally weighted bits corresponding to a second subset of equally weighted thermometer power gate units.
In Example 14, the subject matter of Example 13 includes, wherein: the first subset of equally weighted thermometer power gate units includes a first initial thermometer-encoded power gate unit; the second subset of equally weighted thermometer power gate units includes a second initial thermometer-encoded power gate unit; and the second initial thermometer-encoded power gate unit is different from the first initial thermometer-encoded power gate unit.
In Example 15, the subject matter of Example 14 includes, wherein the second initial thermometer-encoded power gate unit is adjacent to the first initial thermometer-encoded power gate unit to provide a sequential power gate unit cycle.
In Example 16, the subject matter of Examples 14-15 includes, wherein the second initial thermometer-encoded power gate unit is separated by a rotation distance from the first initial thermometer-encoded power gate unit to provide a distributed power gate unit cycle.
In Example 17, the subject matter of Examples 10-16 includes, controlling a plurality of secondary power gate circuits based on the power gate controller code and a secondary power gate delay.
Example 18 is at least one non-transitory machine-readable storage medium, comprising a plurality of instructions that, responsive to being executed with processor circuitry of a computer-controlled device, cause the processing circuitry to: generate a bit encoding at a power code generation circuit based on a received power request; generate a rotated binary raw controller code at a deterministic code rotation circuit based on the bit encoding and based on a previous binary controller code; generate a power gate controller code at a controller based on the rotated binary raw controller code; and activate a plurality of power gate circuits within a digital power gate regulator based on the power gate controller code.
In Example 19, the subject matter of Example 18 includes, wherein: the previous binary controller code identifies a first subset of the plurality of power gate circuits; and the rotated binary raw controller code identifies a second subset of the plurality of power gate circuits different from the first subset of the plurality of power gate circuits.
In Example 20, the subject matter of Examples 18-19 includes, wherein the bit encoding includes: a plurality of binary weighted bits corresponding to a plurality of binary weighted power gate units; and a plurality of equally weighted bits corresponding to a first subset of equally weighted thermometer power gate units.
In Example 21, the subject matter of Example 20 includes, wherein the rotated binary raw controller code identifies a plurality of rotated equally weighted bits corresponding to a second subset of equally weighted thermometer power gate units.
In Example 22, the subject matter of Example 21 includes, wherein: the first subset of equally weighted thermometer power gate units includes a first initial thermometer-encoded power gate unit; the second subset of equally weighted thermometer power gate units includes a second initial thermometer-encoded power gate unit; and the second initial thermometer-encoded power gate unit is different from the first initial thermometer-encoded power gate unit.
In Example 23, the subject matter of Example 22 includes, wherein the second initial thermometer-encoded power gate unit is adjacent to the first initial thermometer-encoded power gate unit to provide a sequential power gate unit cycle.
In Example 24, the subject matter of Examples 22-23 includes, wherein the second initial thermometer-encoded power gate unit is separated by a rotation distance from the first initial thermometer-encoded power gate unit to provide a distributed power gate unit cycle.
In Example 25, the subject matter of Examples 18-24 includes, the instructions further causing the processing circuitry to control a plurality of secondary power gate circuits based on the power gate controller code and a secondary power gate delay.
Example 26 is a digital voltage regulation apparatus, the apparatus comprising: means for generating a bit encoding at a power code generation circuit based on a received power request; means for generating a rotated binary raw controller code at a deterministic code rotation circuit based on the bit encoding and based on a previous binary controller code; means for generating a power gate controller code at a controller based on the rotated binary raw controller code; and means for activating a plurality of power gate circuits within a digital power gate regulator based on the power gate controller code.
In Example 27, the subject matter of Example 26 includes, wherein: the previous binary controller code identifies a first subset of the plurality of power gate circuits; and the rotated binary raw controller code identifies a second subset of the plurality of power gate circuits different from the first subset of the plurality of power gate circuits.
In Example 28, the subject matter of Examples 26-27 includes, wherein the bit encoding includes: a plurality of binary weighted bits corresponding to a plurality of binary weighted power gate units; and a plurality of equally weighted bits corresponding to a first subset of equally weighted thermometer power gate units.
In Example 29, the subject matter of Example 28 includes, wherein the rotated binary raw controller code identifies a plurality of rotated equally weighted bits corresponding to a second subset of equally weighted thermometer power gate units.
In Example 30, the subject matter of Example 29 includes, wherein: the first subset of equally weighted thermometer power gate units includes a first initial thermometer-encoded power gate unit; the second subset of equally weighted thermometer power gate units includes a second initial thermometer-encoded power gate unit; and the second initial thermometer-encoded power gate unit is different from the first initial thermometer-encoded power gate unit.
In Example 31, the subject matter of Example 30 includes, wherein the second initial thermometer-encoded power gate unit is adjacent to the first initial thermometer-encoded power gate unit to provide a sequential power gate unit cycle.
In Example 32, the subject matter of Examples 30-31 includes, wherein the second initial thermometer-encoded power gate unit is separated by a rotation distance from the first initial thermometer-encoded power gate unit to provide a distributed power gate unit cycle.
In Example 33, the subject matter of Examples 26-32 includes, means for controlling a plurality of secondary power gate circuits based on the power gate controller code and a secondary power gate delay.
Example 34 is a digital voltage regulation apparatus comprising: a digital power gate regulator coupled to a plurality of power gate circuits; a power code generation circuit coupled to the digital power gate regulator; a deterministic code rotation circuit coupled to the power code generation circuit; and a controller circuit coupled to the deterministic code rotation circuit and the digital power gate regulator.
In Example 35, the subject matter of Example 34 includes, wherein the plurality of power gate circuits includes: a plurality of binary weighted power gate units coupled to the digital power gate regulator; a first subset of equally weighted thermometer power gate units coupled to the digital power gate regulator; and a second subset of equally weighted thermometer power gate units coupled to the digital power gate regulator.
In Example 36, the subject matter of Example 35 includes, wherein the plurality of power gate circuits further includes a second subset of equally weighted thermometer power gate units.
In Example 37, the subject matter of Examples 34-36 includes, a secondary power gate regulator coupled to the digital power gate regulator, the secondary power gate regulator including a plurality of secondary power gate circuits.
Example 38 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples 1-37.
Example 39 is an apparatus comprising means to implement of any of Examples 1-37.
Example 40 is a system to implement of any of Examples 1-37.
Example 41 is a method to implement of any of Examples 1-37.
The subject matter of any Examples above may be combined in any combination.
The above description and the drawings illustrate some embodiments of the inventive subject matter to enable those skilled in the art to practice the embodiments of the inventive subject matter. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Portions and features of some embodiments may be included in, or substituted for, those of others. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description.
The Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. The following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.