US20070146013A1 - Dynamic logic with adaptive keeper - Google Patents
Dynamic logic with adaptive keeper Download PDFInfo
- Publication number
- US20070146013A1 US20070146013A1 US11/321,328 US32132805A US2007146013A1 US 20070146013 A1 US20070146013 A1 US 20070146013A1 US 32132805 A US32132805 A US 32132805A US 2007146013 A1 US2007146013 A1 US 2007146013A1
- Authority
- US
- United States
- Prior art keywords
- leakage
- circuit
- keeper
- chip
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
- H03K19/096—Synchronous circuits, i.e. using clock signals
- H03K19/0963—Synchronous circuits, i.e. using clock signals using transistors of complementary type
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
- G01R31/3008—Quiescent current [IDDQ] test or leakage current test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31721—Power aspects, e.g. power supplies for test circuits, power saving during test
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00346—Modifications for eliminating interference or parasitic voltages or currents
- H03K19/00361—Modifications for eliminating interference or parasitic voltages or currents in field effect transistor circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00369—Modifications for compensating variations of temperature, supply voltage or other physical parameters
- H03K19/00384—Modifications for compensating variations of temperature, supply voltage or other physical parameters in field effect transistor circuits
Definitions
- Leakage power dissipation is an important issue in the design of large scale integrated circuits such as microprocessors. Increased leakage, e.g., as a result of decreasing transistor dimensions, has resulted in the need for increased keeper sizes in dynamic circuits. Unfortunately, increased keeper sizes are not necessarily needed for all chips at all times in the same manner and can have undesirable results such as higher contention, higher power consumption, higher cross-over (short-circuit) current, and diminished performance. Accordingly, an improved keeper solution is desired.
- FIG. 1 is a block diagram of an adaptive keeper circuit according to some embodiments.
- FIG. 2 is a block diagram of a register file circuit with an adaptive keeper according to some embodiments.
- FIG. 3 is a schematic diagram of a leakage ring oscillator circuit to indicate relative leakage in accordance with some embodiments.
- FIG. 4 is a schematic diagram of a leakage gate in accordance with some embodiments.
- FIG. 5 is a block diagram of a computer system with at least one register file having an adaptive keeper in accordance with some embodiments.
- Disclosed is an adaptive approach to provide keeper functionality with variable keeper strength. It operates to dynamically compensate for changes in leakage due to changing conditions, for example, resulting from variations in process, voltage, and/or temperature (“PVT”).
- PVT process, voltage, and/or temperature
- FIG. 1 shows a block diagram of an adaptive keeper sizing circuit 100 according to some embodiments. It generally comprises a leakage indicator circuit 102 , a control logic circuit 104 , a programmable keeper circuit 106 , and a dynamic logic circuit 108 .
- the dynamic logic circuit can be any dynamic logic circuit, circuits, or circuit portion that uses a keeper (or keepers), e.g., to offset the effects of pull-down stack leakage.
- the programmable keeper circuit 106 is coupled to the dynamic logic circuit 108 to provide keeper functionality for the dynamic logic circuit 108 .
- the strength of the programmable keeper 106 is controllably variable (or programmable). Any suitable keeper circuit configuration for providing controllably variable strength may be used.
- the programmable keeper circuit 106 could comprise multiple keeper transistors that can be individually activated/de-activated in response to a control signal. Alternatively, it could comprise one or more transistors whose strengths are controllable via an analog gate or body bias signal. Any suitable scheme is encompassed so long as the keeper strength is controllable through an analog and/or digital control signal.
- the leakage indicator circuit 102 comprises circuitry to suitably model leakage in a relevant part of the dynamic logic circuit 108 . Accordingly, it may be located physically proximal to the dynamic logic circuit 108 and have components that suitably replicate (or model) leakage characteristics of at least some of the leaky aspects of the dynamic logic circuit 108 . It generates a leakage indication signal, coupled to the control logic 104 , indicating (either directly or indirectly) leakage occurring in the relevant part(s) of the dynamic circuit 108 .
- the control logic 104 converts the leakage indication signal into a keeper control signal to control the strength of the programmable keeper circuit 106 . It may comprise any suitable combination of analog and/or digital circuitry to perform this function.
- the control logic 104 controls the programmable keeper circuit 106 in accordance with the leakage monitored from the leakage indication signal, e.g., to increase keeper strength when leakage increases and decrease keeper strength when leakage is lower.
- FIG. 2 shows a portion of a register file circuit 200 with a programmable keeper circuit whose strength is dynamically adjustable for changes in leakage.
- the programmable keeper is used in a register file circuit, but it may be used in any dynamic (or other) circuit where keeper circuits are used.
- Circuit 200 generally comprises a leakage oscillator 202 , frequency-to-digital (F-to-D) logic 204 , and a programmable keeper circuit 206 operably coupled to a register file column 208 .
- the leakage oscillator 202 is coupled to the F-to-D logic 204 to provide it with a frequency signal (LFREQ) whose value corresponds to a relative amount of leakage in the register file column 208 .
- the F-to-D logic 204 is coupled to the programmable keeper circuit 206 to control its strength based on the relative leakage as determined from the frequency signal.
- An enable (ENABLE) signal is provided at the leakage oscillator 202 to enable it, and a clock (CLK) signal (e.g., a microprocessor core clock) is coupled to the F-to-D logic 204 and register file column 208 .
- CLK clock
- the leakage oscillator 202 comprises an oscillator whose frequency is indicative (e.g., proportional) to relevant leakage current in the register file column 208 .
- Any suitable circuit could be used for this purpose.
- relevant leakage occurs in NMOS pull-down stacks that are coupled to a bit line node of the register file column 208 .
- the leakage oscillator of FIG. 3 may comprise a ring oscillator circuit with leakage inverter stages having NMOS pull-down devices that suitably model the NMOS stacks in the register file column 208 .
- the F-to-D logic 204 may be implemented with any suitable logic (hardware and/or software) to convert the frequency signal (LFREQ) from the leakage oscillator to a suitably stable (e.g., latched) signal to control the strength of the programmable keeper circuit 206 based on relevant leakage as indicated by the leakage oscillator.
- the F-to-D logic 204 comprises a counter with appropriate decoder and latch logic at its outputs to provide the keeper control signal.
- the counter may be configured to count either the CLK or LFREQ signal pulses and reset upon receiving a pulse from the other e.g., (slower) signal.
- the leakage oscillator 202 is designed to have an operating range of between 50 to 150 MHz over expected PVT with a nominal operating value of 100 MHz with the CLK frequency being at 4 GHz.
- the counter is configured to “count” off of the CLK signal and reset the count off of the LFREQ signal.
- LFREQ increases in frequency (e.g., indicating increased leakage)
- the count decreases and vice versa.
- Appropriate logic at the counter output such as inverters and/or divide-by logic, is implemented to make the KEEPER CONTROL signal proportional to the LFREQ frequency and normalized to a 4-bit digital output.
- the logic also includes latches clocked at a suitable rate to provide a sufficiently stable KEEPER CONTROL signal to the programmable keeper circuit 206 .
- the register file column 208 is a part of a register file with multiple register file columns (not all shown).
- the register file column 208 includes N memory cells 202 , N pull-down stacks (Stack 1 to Stack N), a precharge (pull-up) transistor M 3 , and an output inverter 209 .
- Each stack comprises NMOS transistors M 1 and M 2 coupled together in series between ground and a common bit line node (BITLINE).
- the precharge transistor M 3 is coupled to the clock (CLK) and to the bit line node to charge it during a precharge clock phase (Low), and the output inverter 209 is coupled to the bit line node to provide an amplified, inverted output signal (OUT) during an evaluate clock phase (High).
- Each memory cell 202 is coupled to the gate of the M 2 transistor in its associated stack.
- the M 1 transistor in each stack is coupled at its gate to an associated select signal (one of SEL 1 to SEL N) to select (when activated High) the data from its associated memory cell 202 to be coupled to the bit line node during the evaluate phase.
- one of the N select signals is asserted (High) to turn on the M 1 transistor and thereby couple the data stored at the gate of its associated M 2 transistor to the bit line node.
- the select signals to the other stacks are de-asserted (Low)
- leakage in the stacks undesirably pulls down the charged bit line node, which can adversely affect its operation.
- the programmable keeper circuit 206 is coupled to the bit line node to offset the leakage.
- the depicted programmable keeper circuit 206 generally comprises keeper transistors M 4 to M 7 and NAND gates 207 A to 207 D coupled together as indicated.
- An input of each NAND gate is coupled to one of the bits from the 4-bit KEEPER CONTROL signal and collectively serve to decode the signal to activate an appropriate combination of keeper transistors (M 4 , M 5 , M 6 , and/or M 7 ) to control the keeper circuit 206 to provide a keeper with an appropriate strength.
- the NAND outputs are each coupled to an associated keeper transistor, while their other input is coupled to the bit line node for appropriate keeper operation.
- the amount of needed keeper strength is proportional to the amount of occurring leakage, which can vary from chip to chip and over time within a chip.
- the F-to-D logic 204 activates an appropriate combination of the keeper transistors (M 4 to M 7 ).
- the keeper transistors (M 4 to M 7 ) may be of similar size or differently weighted such as binary weighted or otherwise to provide a larger number of keeper strength settings.
- the depicted embodiment utilizes four keeper transistors, any suitable number could be used.
- FIG. 3 shows a leakage oscillator 300 implementing a ring oscillator configuration according to some embodiments.
- the depicted leakage ring oscillator comprises nine cascaded inverter stages implemented with leakage inverters 302 , 310 , 316 ; inverter stages 304 , 312 , 318 ; and NOR gates 309 , 314 , 324 (acting as inverters when the circuit is enabled).
- the circuit also includes capacitive MOS load pairs 306 / 308 , 320 / 322 ; input enable inverters 326 , 328 ; and output driver inverters 330 , 332 .
- Leakage inverter 302 comprises pull-up PMOS transistor M 8 and pull-down NMOS transistor M 9 with its gate tied to its source.
- leakage inverter 310 comprises pull-up transistor M 10 and pull-down transistor M 11
- leakage inverter 316 comprises pull-up transistor M 12 and pull-down transistor M 13 .
- the pull-down transistors have their gates tied to their sources to replicate the turned off NMOS stacks in the modeled register file column.
- the leakage inverters ( 302 , 310 , 316 ) not only provide an inverter function for the ring oscillator, but also, they have a delay in one signal transition direction (pull-down) that is dominated by leakage.
- this leakage (and in particular, its effect on the delay of the 1-to-0 transition of the leakage inverter) primarily dictates the frequency of the oscillator. As leakage increases, thereby reducing the pull-down delay in the leakage inverters, the oscillator frequency increases and vice versa.
- the three leakage inverters ( 302 , 310 , 316 ) have substantially negligible pull-up delays, but relatively long pull-down delays determined by their n-type transistors, each of which has its gate shorted to ground for this embodiment. It will be appreciated that, for other embodiments, the gates of one or more of the leakage inverters may be coupled to receive a different voltage that provides a gate-to-source voltage V gs less than the threshold voltage for the respective leakage device. Further, for other embodiments, a different number of leakage inverter stages may be used.
- leakage inverter stages may make the frequency of the output signal from the leakage ring oscillator inconveniently small and may not appreciably improve the accuracy of the leakage measurement.
- at least three leakage stages may be recommended for the following reasons. (Note that embodiments of the invention are not limited to ring oscillator implementations with three leakage inverter stages. Any number may be suitable depending on the operating environment and application requirements.)
- a leakage oscillator such as the leakage oscillator of FIG. 3 , that includes an odd number of at least three leakage inverter stages addresses the above issues to drive leakage stages symmetrically, and provide each of the leakage stages ample time for their output nodes to transition to the positive Vcc rail. In this manner, leakage measurements may be more accurate through a wider channel length range and/or through a wider temperature range, particularly when the temperature is high.
- the capacitive MOS loads 306 / 308 and 320 / 322 are designed to be equal in size to the output inverter 330 and are coupled, respectively, to the outputs of inverters 304 , 318 to provide symmetric loads on the three sections of the oscillator.
- the exemplary leakage ring oscillator includes two conventional CMOS inverting gates (inverter and NOR gate acting as inverter) between its leakage stages.
- two conventional CMOS inverting gates inverter and NOR gate acting as inverter
- CMOS inverting gates may be used between its leakage stages.
- Two inverting gates between each of the leakage gates may be beneficial for some embodiments because such a configuration substantially reduces the likelihood (if not prevents) the delays of the conventional inverting stages from being comparable to those of the leakage stages at high temperature.
- NOR gates 308 , 314 , 324 are used to provide for an enable signal (“Enable”) for selectively enabling and disabling the oscillator.
- Enable an enable signal
- Each one of the leakage inverter stages is preceded by one of these enabling NOR gates.
- the enable signal is de-asserted (High) to disable the leakage oscillator
- the outputs of the leakage inverters are all strongly driven to Vcc (i.e. substantially fully turned on) instead of being held down weakly by the leakage n-type devices. In this manner, the output nodes of the leakage inverters are prevented from floating in case the design is faulty. Floating output nodes of the leakage inverters could drive standing currents in the subsequent inverters.
- the ability to enable and disable the leakage ring oscillator when desired may be advantageous as compared to a free running oscillator in terms of power consumption. A free-running oscillator consumes power at all times, which may not be acceptable or desirable for many designs
- the leakage oscillator In operation, in response to the enable signal being asserted (Low), the leakage oscillator is enabled, and an oscillating output signal is provided at the output (LFREQ).
- the frequency of the oscillating output signal is directly proportional to the source-to-drain channel leakage current of the n-type devices in the leakage inverters 302 , 310 , 316 , which indicates the leakage current of the modeled register file.
- FIG. 4 shows an alternative embodiment of a leakage inverter suitable for use as a leakage inverter in a leakage oscillator circuit.
- the leakage inverter comprises a pull-up p-type transistor M 14 coupled to N stacks of n-type pairs M 15 /M 16 at an output node (OUT).
- Each stack more particularly models a stack in a register file column.
- the M 15 gates are coupled to ground, while the M 16 gates are coupled to Vcc.
- N stacks (corresponding to the number of stacks in the modeled register file column) are used.
- any suitable number to appropriately model the leakage behavior of the register file could be used.
- the individual transistors could be sized larger to use a smaller number of stacks if desired.
- the depicted system generally comprises a processor 502 that is coupled to a power supply 504 , a wireless interface 506 , and memory 508 . It is coupled to the power supply 504 to receive from it power when in operation.
- the wireless interface 506 is coupled to an antenna 510 to communicatively link the processor through the wireless interface chip 506 to a wireless network (not shown).
- Microprocessor 502 comprises a register file 503 with an adaptive keeper circuit in accordance with embodiments discussed herein.
- the depicted system could be implemented in different forms. That is, it could be implemented in a single chip module, a circuit board, or a chassis having multiple circuit boards. Similarly, it could constitute one or more complete computers or alternatively, it could constitute a component useful within a computing system.
- IC semiconductor integrated circuit
- PDA programmable logic arrays
Abstract
Description
- Leakage power dissipation is an important issue in the design of large scale integrated circuits such as microprocessors. Increased leakage, e.g., as a result of decreasing transistor dimensions, has resulted in the need for increased keeper sizes in dynamic circuits. Unfortunately, increased keeper sizes are not necessarily needed for all chips at all times in the same manner and can have undesirable results such as higher contention, higher power consumption, higher cross-over (short-circuit) current, and diminished performance. Accordingly, an improved keeper solution is desired.
- Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
-
FIG. 1 is a block diagram of an adaptive keeper circuit according to some embodiments. -
FIG. 2 is a block diagram of a register file circuit with an adaptive keeper according to some embodiments. -
FIG. 3 is a schematic diagram of a leakage ring oscillator circuit to indicate relative leakage in accordance with some embodiments. -
FIG. 4 is a schematic diagram of a leakage gate in accordance with some embodiments. -
FIG. 5 is a block diagram of a computer system with at least one register file having an adaptive keeper in accordance with some embodiments. - Disclosed is an adaptive approach to provide keeper functionality with variable keeper strength. It operates to dynamically compensate for changes in leakage due to changing conditions, for example, resulting from variations in process, voltage, and/or temperature (“PVT”).
-
FIG. 1 shows a block diagram of an adaptivekeeper sizing circuit 100 according to some embodiments. It generally comprises aleakage indicator circuit 102, acontrol logic circuit 104, aprogrammable keeper circuit 106, and adynamic logic circuit 108. The dynamic logic circuit can be any dynamic logic circuit, circuits, or circuit portion that uses a keeper (or keepers), e.g., to offset the effects of pull-down stack leakage. - The
programmable keeper circuit 106 is coupled to thedynamic logic circuit 108 to provide keeper functionality for thedynamic logic circuit 108. The strength of theprogrammable keeper 106 is controllably variable (or programmable). Any suitable keeper circuit configuration for providing controllably variable strength may be used. For example, theprogrammable keeper circuit 106 could comprise multiple keeper transistors that can be individually activated/de-activated in response to a control signal. Alternatively, it could comprise one or more transistors whose strengths are controllable via an analog gate or body bias signal. Any suitable scheme is encompassed so long as the keeper strength is controllable through an analog and/or digital control signal. - The
leakage indicator circuit 102 comprises circuitry to suitably model leakage in a relevant part of thedynamic logic circuit 108. Accordingly, it may be located physically proximal to thedynamic logic circuit 108 and have components that suitably replicate (or model) leakage characteristics of at least some of the leaky aspects of thedynamic logic circuit 108. It generates a leakage indication signal, coupled to thecontrol logic 104, indicating (either directly or indirectly) leakage occurring in the relevant part(s) of thedynamic circuit 108. - The
control logic 104 converts the leakage indication signal into a keeper control signal to control the strength of theprogrammable keeper circuit 106. It may comprise any suitable combination of analog and/or digital circuitry to perform this function. Thecontrol logic 104 controls theprogrammable keeper circuit 106 in accordance with the leakage monitored from the leakage indication signal, e.g., to increase keeper strength when leakage increases and decrease keeper strength when leakage is lower. In the following sections, specific implementations are disclosed. -
FIG. 2 shows a portion of aregister file circuit 200 with a programmable keeper circuit whose strength is dynamically adjustable for changes in leakage. In the depicted embodiment, the programmable keeper is used in a register file circuit, but it may be used in any dynamic (or other) circuit where keeper circuits are used. -
Circuit 200 generally comprises a leakage oscillator 202, frequency-to-digital (F-to-D) logic 204, and a programmable keeper circuit 206 operably coupled to a register file column 208. The leakage oscillator 202 is coupled to the F-to-D logic 204 to provide it with a frequency signal (LFREQ) whose value corresponds to a relative amount of leakage in the register file column 208. The F-to-D logic 204 is coupled to the programmable keeper circuit 206 to control its strength based on the relative leakage as determined from the frequency signal. An enable (ENABLE) signal is provided at the leakage oscillator 202 to enable it, and a clock (CLK) signal (e.g., a microprocessor core clock) is coupled to the F-to-D logic 204 and register file column 208. - The leakage oscillator 202 comprises an oscillator whose frequency is indicative (e.g., proportional) to relevant leakage current in the register file column 208. Any suitable circuit could be used for this purpose. With the depicted register file circuit 208, relevant leakage occurs in NMOS pull-down stacks that are coupled to a bit line node of the register file column 208. Thus, as implemented in the leakage oscillator of
FIG. 3 (discussed below), it may comprise a ring oscillator circuit with leakage inverter stages having NMOS pull-down devices that suitably model the NMOS stacks in the register file column 208. - The F-to-D logic 204 may be implemented with any suitable logic (hardware and/or software) to convert the frequency signal (LFREQ) from the leakage oscillator to a suitably stable (e.g., latched) signal to control the strength of the programmable keeper circuit 206 based on relevant leakage as indicated by the leakage oscillator. In some embodiments, the F-to-D logic 204 comprises a counter with appropriate decoder and latch logic at its outputs to provide the keeper control signal. Depending upon the relative frequencies of the LFREQ and CLK signals, for example, the counter may be configured to count either the CLK or LFREQ signal pulses and reset upon receiving a pulse from the other e.g., (slower) signal.
- For example, in some embodiments, the leakage oscillator 202 is designed to have an operating range of between 50 to 150 MHz over expected PVT with a nominal operating value of 100 MHz with the CLK frequency being at 4 GHz. The counter is configured to “count” off of the CLK signal and reset the count off of the LFREQ signal. Thus, as LFREQ increases in frequency (e.g., indicating increased leakage), the count decreases and vice versa. Appropriate logic at the counter output, such as inverters and/or divide-by logic, is implemented to make the KEEPER CONTROL signal proportional to the LFREQ frequency and normalized to a 4-bit digital output. The logic also includes latches clocked at a suitable rate to provide a sufficiently stable KEEPER CONTROL signal to the programmable keeper circuit 206.
- The register file column 208 is a part of a register file with multiple register file columns (not all shown). The register file column 208 includes N memory cells 202, N pull-down stacks (
Stack 1 to Stack N), a precharge (pull-up) transistor M3, and an output inverter 209. Each stack comprises NMOS transistors M1 and M2 coupled together in series between ground and a common bit line node (BITLINE). The precharge transistor M3 is coupled to the clock (CLK) and to the bit line node to charge it during a precharge clock phase (Low), and the output inverter 209 is coupled to the bit line node to provide an amplified, inverted output signal (OUT) during an evaluate clock phase (High). - Each memory cell 202 is coupled to the gate of the M2 transistor in its associated stack. The M1 transistor in each stack is coupled at its gate to an associated select signal (one of
SEL 1 to SEL N) to select (when activated High) the data from its associated memory cell 202 to be coupled to the bit line node during the evaluate phase. During an evaluate phase, one of the N select signals is asserted (High) to turn on the M1 transistor and thereby couple the data stored at the gate of its associated M2 transistor to the bit line node. Unfortunately, even though the select signals to the other stacks are de-asserted (Low), leakage in the stacks undesirably pulls down the charged bit line node, which can adversely affect its operation. Accordingly, the programmable keeper circuit 206 is coupled to the bit line node to offset the leakage. - The depicted programmable keeper circuit 206 generally comprises keeper transistors M4 to M7 and NAND gates 207A to 207D coupled together as indicated. An input of each NAND gate is coupled to one of the bits from the 4-bit KEEPER CONTROL signal and collectively serve to decode the signal to activate an appropriate combination of keeper transistors (M4, M5, M6, and/or M7) to control the keeper circuit 206 to provide a keeper with an appropriate strength. The NAND outputs are each coupled to an associated keeper transistor, while their other input is coupled to the bit line node for appropriate keeper operation.
- The amount of needed keeper strength is proportional to the amount of occurring leakage, which can vary from chip to chip and over time within a chip. Thus, based on the amount of leakage as determined from the LFREQ signal, the F-to-D logic 204, through the KEEPER CONTROL signal, activates an appropriate combination of the keeper transistors (M4 to M7). The keeper transistors (M4 to M7) may be of similar size or differently weighted such as binary weighted or otherwise to provide a larger number of keeper strength settings. Likewise, while the depicted embodiment utilizes four keeper transistors, any suitable number could be used.
-
FIG. 3 shows aleakage oscillator 300 implementing a ring oscillator configuration according to some embodiments. The depicted leakage ring oscillator comprises nine cascaded inverter stages implemented withleakage inverters gates inverters output driver inverters -
Leakage inverter 302 comprises pull-up PMOS transistor M8 and pull-down NMOS transistor M9 with its gate tied to its source. Similarly,leakage inverter 310 comprises pull-up transistor M10 and pull-down transistor M11, whileleakage inverter 316 comprises pull-up transistor M12 and pull-down transistor M13. The pull-down transistors have their gates tied to their sources to replicate the turned off NMOS stacks in the modeled register file column. Thus, the leakage inverters (302, 310, 316) not only provide an inverter function for the ring oscillator, but also, they have a delay in one signal transition direction (pull-down) that is dominated by leakage. Thus, aside from node capacitance, this leakage (and in particular, its effect on the delay of the 1-to-0 transition of the leakage inverter) primarily dictates the frequency of the oscillator. As leakage increases, thereby reducing the pull-down delay in the leakage inverters, the oscillator frequency increases and vice versa. - The three leakage inverters (302, 310, 316) have substantially negligible pull-up delays, but relatively long pull-down delays determined by their n-type transistors, each of which has its gate shorted to ground for this embodiment. It will be appreciated that, for other embodiments, the gates of one or more of the leakage inverters may be coupled to receive a different voltage that provides a gate-to-source voltage Vgs less than the threshold voltage for the respective leakage device. Further, for other embodiments, a different number of leakage inverter stages may be used. For the exemplary embodiment described herein, however, using more than three leakage inverter stages may make the frequency of the output signal from the leakage ring oscillator inconveniently small and may not appreciably improve the accuracy of the leakage measurement. Conversely, at least three leakage stages may be recommended for the following reasons. (Note that embodiments of the invention are not limited to ring oscillator implementations with three leakage inverter stages. Any number may be suitable depending on the operating environment and application requirements.)
- If only one leakage stage is used, then the remaining even number of conventional inverters would typically need to have a zero-to-one transition time that is several (e.g. more than 5) times larger than the pull-up transition time of the p-type device in the single leakage inverter stage. In this manner, the worst within-die variation, which might cause this delay to be small, would still give the p-type device in the n-type leakage inverter enough time to charge the output node to Vcc. The problem, then, is that at high temperatures or for very short channel lengths, the pull-down leakage-based switching delay becomes much shorter due to increased leakage current.
- If, instead, an even number (e.g., 2) of leakage stages are used, then there would be an odd number of conventional CMOS inverters in the oscillator. This arrangement would cause one of the leakage inverters to be driven by an odd number of stages, while the other leakage inverter is driven by an even number of stages. The result would be an asymmetric drive of the leakage inverter stages with dissimilar waveforms. Further, one of the leakage inverters would be subject to the same situation as described above in which the p-type transistor must be given enough time to reach the respective supply rail.
- A leakage oscillator, such as the leakage oscillator of
FIG. 3 , that includes an odd number of at least three leakage inverter stages addresses the above issues to drive leakage stages symmetrically, and provide each of the leakage stages ample time for their output nodes to transition to the positive Vcc rail. In this manner, leakage measurements may be more accurate through a wider channel length range and/or through a wider temperature range, particularly when the temperature is high. - The capacitive MOS loads 306/308 and 320/322 are designed to be equal in size to the
output inverter 330 and are coupled, respectively, to the outputs ofinverters - As shown in
FIG. 3 , the exemplary leakage ring oscillator includes two conventional CMOS inverting gates (inverter and NOR gate acting as inverter) between its leakage stages. For other embodiments, a different number of intermediate conventional CMOS inverting gates may be used. Two inverting gates between each of the leakage gates may be beneficial for some embodiments because such a configuration substantially reduces the likelihood (if not prevents) the delays of the conventional inverting stages from being comparable to those of the leakage stages at high temperature. - NOR
gates - In operation, in response to the enable signal being asserted (Low), the leakage oscillator is enabled, and an oscillating output signal is provided at the output (LFREQ). The frequency of the oscillating output signal, as discussed above, is directly proportional to the source-to-drain channel leakage current of the n-type devices in the
leakage inverters -
FIG. 4 shows an alternative embodiment of a leakage inverter suitable for use as a leakage inverter in a leakage oscillator circuit. The leakage inverter comprises a pull-up p-type transistor M14 coupled to N stacks of n-type pairs M15/M16 at an output node (OUT). Each stack more particularly models a stack in a register file column. As such, the M15 gates are coupled to ground, while the M16 gates are coupled to Vcc. In the depicted embodiment, N stacks (corresponding to the number of stacks in the modeled register file column) are used. However, any suitable number to appropriately model the leakage behavior of the register file could be used. Further, the individual transistors could be sized larger to use a smaller number of stacks if desired. - With reference to
FIG. 5 , one example of a computer system is shown. The depicted system generally comprises aprocessor 502 that is coupled to apower supply 504, awireless interface 506, andmemory 508. It is coupled to thepower supply 504 to receive from it power when in operation. Thewireless interface 506 is coupled to anantenna 510 to communicatively link the processor through thewireless interface chip 506 to a wireless network (not shown).Microprocessor 502 comprises aregister file 503 with an adaptive keeper circuit in accordance with embodiments discussed herein. - It should be noted that the depicted system could be implemented in different forms. That is, it could be implemented in a single chip module, a circuit board, or a chassis having multiple circuit boards. Similarly, it could constitute one or more complete computers or alternatively, it could constitute a component useful within a computing system.
- The invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. For example, it should be appreciated that the present invention is applicable for use with all types of semiconductor integrated circuit (“IC”) chips. Examples of these IC chips include but are not limited to processors, controllers, chip set components, programmable logic arrays (PLA), memory chips, network chips, and the like.
- Moreover, it should be appreciated that example sizes/models/values/ranges may have been given, although the present invention is not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the FIGS. for simplicity of illustration and discussion, and so as not to obscure the invention. Further, arrangements may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the present invention is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,328 US7332937B2 (en) | 2005-12-28 | 2005-12-28 | Dynamic logic with adaptive keeper |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,328 US7332937B2 (en) | 2005-12-28 | 2005-12-28 | Dynamic logic with adaptive keeper |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070146013A1 true US20070146013A1 (en) | 2007-06-28 |
US7332937B2 US7332937B2 (en) | 2008-02-19 |
Family
ID=38192879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/321,328 Expired - Fee Related US7332937B2 (en) | 2005-12-28 | 2005-12-28 | Dynamic logic with adaptive keeper |
Country Status (1)
Country | Link |
---|---|
US (1) | US7332937B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7928769B1 (en) * | 2010-03-25 | 2011-04-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Logic circuits with current control mechanisms |
TWI476783B (en) * | 2008-12-30 | 2015-03-11 | Intel Corp | Pseudo static dynamic bit line circuits and methods |
US20150117095A1 (en) * | 2013-10-31 | 2015-04-30 | Cyrille Dray | Low resistance bitline and sourceline apparatus for improving read and write operations of a nonvolatile memory |
WO2015099748A1 (en) * | 2013-12-26 | 2015-07-02 | Intel Corporation | Apparatus and method for reducing operating supply voltage using adaptive register file keeper |
US9711215B2 (en) | 2013-09-27 | 2017-07-18 | Intel Corporation | Apparatus and method to optimize STT-MRAM size and write error rate |
WO2017172230A1 (en) * | 2016-03-30 | 2017-10-05 | Qualcomm Incorporated | Leakage-aware activation control of a delayed keeper circuit for a dynamic read operation in a memory bit cell |
US20190108890A1 (en) * | 2016-10-26 | 2019-04-11 | Mediatek Inc. | Sense amplifier |
WO2020033079A1 (en) * | 2018-08-07 | 2020-02-13 | Qualcomm Incorporated | Sensor for gate leakage detection |
TWI709141B (en) * | 2016-08-30 | 2020-11-01 | 美商美光科技公司 | Systems, methods, and apparatuses for temperature and process corner sensitive control of power gated domains |
US11876517B2 (en) | 2022-02-11 | 2024-01-16 | International Business Machines Corporation | Adaptive keeper for supply-robust circuits |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5382126B2 (en) * | 2009-09-07 | 2014-01-08 | 日本電気株式会社 | Aged deterioration diagnosis device, aged deterioration diagnosis method |
US9425772B2 (en) | 2011-07-27 | 2016-08-23 | Nvidia Corporation | Coupling resistance and capacitance analysis systems and methods |
DE112012003071T5 (en) | 2011-07-22 | 2014-04-10 | Nvidia Corporation | Component analysis systems and methods |
US9448125B2 (en) | 2011-11-01 | 2016-09-20 | Nvidia Corporation | Determining on-chip voltage and temperature |
US8952705B2 (en) * | 2011-11-01 | 2015-02-10 | Nvidia Corporation | System and method for examining asymetric operations |
CN103983809A (en) | 2013-02-08 | 2014-08-13 | 辉达公司 | PCB and online testing structure thereof, and manufacturing method of online testing structure |
US9100002B2 (en) * | 2013-09-12 | 2015-08-04 | Micron Technology, Inc. | Apparatus and methods for leakage current reduction in integrated circuits |
US9742408B1 (en) | 2016-09-23 | 2017-08-22 | International Business Machines Corporation | Dynamic decode circuit with active glitch control |
US10374604B1 (en) | 2018-08-12 | 2019-08-06 | International Business Machines Corporation | Dynamic decode circuit low power application |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366132B1 (en) * | 1999-12-29 | 2002-04-02 | Intel Corporation | Soft error resistant circuits |
US6510092B1 (en) * | 2001-08-30 | 2003-01-21 | Intel Corporation | Robust shadow bitline circuit technique for high-performance register files |
US6549040B1 (en) * | 2000-06-29 | 2003-04-15 | Intel Corporation | Leakage-tolerant keeper with dual output generation capability for deep sub-micron wide domino gates |
US6643199B1 (en) * | 2002-06-04 | 2003-11-04 | Intel Corporation | Memory with reduced sub-threshold leakage current in dynamic bit lines of read ports |
US6690604B2 (en) * | 2001-12-18 | 2004-02-10 | Intel Corporation | Register files and caches with digital sub-threshold leakage current calibration |
US6791364B2 (en) * | 2001-06-28 | 2004-09-14 | Intel Corporation | Conditional burn-in keeper for dynamic circuits |
US20040189347A1 (en) * | 2003-03-31 | 2004-09-30 | Intel Corporation | Robust variable keeper strength process-compensated dynamic circuit and method |
US20040263192A1 (en) * | 2003-06-30 | 2004-12-30 | Marijan Persun | Method and apparatus for measuring relative, within-die leakage current and/or providing a temperature variation profile using a leakage inverter and ring oscillator |
US6844750B2 (en) * | 2003-03-31 | 2005-01-18 | Intel Corporation | Current mirror based multi-channel leakage current monitor circuit and method |
US6914452B2 (en) * | 2002-09-17 | 2005-07-05 | Sun Microsystems, Inc. | Adaptive keeper sizing for dynamic circuits based on fused process corner data |
US7053663B2 (en) * | 2002-03-26 | 2006-05-30 | Intel Corporation | Dynamic gate with conditional keeper for soft error rate reduction |
-
2005
- 2005-12-28 US US11/321,328 patent/US7332937B2/en not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366132B1 (en) * | 1999-12-29 | 2002-04-02 | Intel Corporation | Soft error resistant circuits |
US6549040B1 (en) * | 2000-06-29 | 2003-04-15 | Intel Corporation | Leakage-tolerant keeper with dual output generation capability for deep sub-micron wide domino gates |
US6791364B2 (en) * | 2001-06-28 | 2004-09-14 | Intel Corporation | Conditional burn-in keeper for dynamic circuits |
US6510092B1 (en) * | 2001-08-30 | 2003-01-21 | Intel Corporation | Robust shadow bitline circuit technique for high-performance register files |
US6690604B2 (en) * | 2001-12-18 | 2004-02-10 | Intel Corporation | Register files and caches with digital sub-threshold leakage current calibration |
US7053663B2 (en) * | 2002-03-26 | 2006-05-30 | Intel Corporation | Dynamic gate with conditional keeper for soft error rate reduction |
US6643199B1 (en) * | 2002-06-04 | 2003-11-04 | Intel Corporation | Memory with reduced sub-threshold leakage current in dynamic bit lines of read ports |
US6914452B2 (en) * | 2002-09-17 | 2005-07-05 | Sun Microsystems, Inc. | Adaptive keeper sizing for dynamic circuits based on fused process corner data |
US20040189347A1 (en) * | 2003-03-31 | 2004-09-30 | Intel Corporation | Robust variable keeper strength process-compensated dynamic circuit and method |
US20050104612A1 (en) * | 2003-03-31 | 2005-05-19 | Intel Corporation | Current mirror multi-channel leakage current monitor circuit and method |
US6844750B2 (en) * | 2003-03-31 | 2005-01-18 | Intel Corporation | Current mirror based multi-channel leakage current monitor circuit and method |
US7002375B2 (en) * | 2003-03-31 | 2006-02-21 | Intel Corporation | Robust variable keeper strength process-compensated dynamic circuit and method |
US20040263192A1 (en) * | 2003-06-30 | 2004-12-30 | Marijan Persun | Method and apparatus for measuring relative, within-die leakage current and/or providing a temperature variation profile using a leakage inverter and ring oscillator |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476783B (en) * | 2008-12-30 | 2015-03-11 | Intel Corp | Pseudo static dynamic bit line circuits and methods |
US7928769B1 (en) * | 2010-03-25 | 2011-04-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Logic circuits with current control mechanisms |
US9711215B2 (en) | 2013-09-27 | 2017-07-18 | Intel Corporation | Apparatus and method to optimize STT-MRAM size and write error rate |
US9865322B2 (en) * | 2013-10-31 | 2018-01-09 | Intel Corporation | Low resistance bitline and sourceline apparatus for improving read and write operations of a nonvolatile memory |
US20150117095A1 (en) * | 2013-10-31 | 2015-04-30 | Cyrille Dray | Low resistance bitline and sourceline apparatus for improving read and write operations of a nonvolatile memory |
US20170018298A1 (en) * | 2013-10-31 | 2017-01-19 | Intel Corporation | Low resistance bitline and sourceline apparatus for improving read and write operations of a nonvolatile memory |
US9478273B2 (en) * | 2013-10-31 | 2016-10-25 | Intel Corporation | Low resistance bitline and sourceline apparatus for improving read and write operations of a nonvolatile memory |
WO2015099748A1 (en) * | 2013-12-26 | 2015-07-02 | Intel Corporation | Apparatus and method for reducing operating supply voltage using adaptive register file keeper |
JP2019510332A (en) * | 2016-03-30 | 2019-04-11 | クアルコム,インコーポレイテッド | Leak recognition activation control of delay keeper circuit for dynamic read operation in memory bit cell |
US9940992B2 (en) | 2016-03-30 | 2018-04-10 | Qualcomm Incorporated | Leakage-aware activation control of a delayed keeper circuit for a dynamic read operation in a memory bit cell |
WO2017172230A1 (en) * | 2016-03-30 | 2017-10-05 | Qualcomm Incorporated | Leakage-aware activation control of a delayed keeper circuit for a dynamic read operation in a memory bit cell |
TWI709141B (en) * | 2016-08-30 | 2020-11-01 | 美商美光科技公司 | Systems, methods, and apparatuses for temperature and process corner sensitive control of power gated domains |
US11581889B2 (en) | 2016-08-30 | 2023-02-14 | Micron Technology, Inc. | Systems, methods, and apparatuses for temperature and process corner sensitive control of power gated domains |
US20190108890A1 (en) * | 2016-10-26 | 2019-04-11 | Mediatek Inc. | Sense amplifier |
US10770161B2 (en) * | 2016-10-26 | 2020-09-08 | Mediatek Inc. | Sense amplifier |
WO2020033079A1 (en) * | 2018-08-07 | 2020-02-13 | Qualcomm Incorporated | Sensor for gate leakage detection |
US10996261B2 (en) | 2018-08-07 | 2021-05-04 | Qualcomm Incorporated | Sensor for gate leakage detection |
US11876517B2 (en) | 2022-02-11 | 2024-01-16 | International Business Machines Corporation | Adaptive keeper for supply-robust circuits |
Also Published As
Publication number | Publication date |
---|---|
US7332937B2 (en) | 2008-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7332937B2 (en) | Dynamic logic with adaptive keeper | |
US7948263B2 (en) | Power gating circuit and integrated circuit including same | |
US7579861B2 (en) | Impedance-controlled pseudo-open drain output driver circuit and method for driving the same | |
US7245150B2 (en) | Combined multiplex or/flop | |
US9306553B2 (en) | Voltage level shifter with a low-latency voltage boost circuit | |
US9490807B2 (en) | Power reducing logic and non-destructive latch circuits and applications | |
US10425065B2 (en) | High-speed low-power-consumption trigger | |
US7948824B2 (en) | Self reset clock buffer in memory devices | |
US8643411B1 (en) | System for generating gated clock signals | |
US20080074151A1 (en) | Dual-edge-triggered, clock-gated logic circuit and method | |
US20190123734A1 (en) | Apparatus with Electronic Circuitry Having Reduced Leakage Current and Associated Methods | |
US7990189B2 (en) | Power-up signal generating circuit and integrated circuit using the same | |
US20080001628A1 (en) | Level conversion circuit | |
US20230387893A1 (en) | Clock gating circuit and method of operating the same | |
JPH01200819A (en) | Data output presetting circuit | |
US11388014B2 (en) | Transistor-based physically unclonable function | |
US20190372561A1 (en) | Power- and area-efficient clock detector | |
Kim et al. | Low-voltage bootstrapped CMOS drivers with efficient conditional bootstrapping | |
CN108564979B (en) | Single-ended read circuit | |
US6865134B2 (en) | Charge recycling decoder, method, and system | |
US7319344B2 (en) | Pulsed flop with embedded logic | |
JPH07303035A (en) | Voltage on reset circuit | |
US11742856B2 (en) | Digital buffer device with self-calibration | |
US6784695B1 (en) | Domino circuit topology | |
JP3057739B2 (en) | Semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSU, STEVEN K.;MAHESHWARI, ATUL;KRISHNAMURTHY, RAM K.;SIGNING DATES FROM 20060223 TO 20060302;REEL/FRAME:027805/0729 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200219 |