With the current trend of semiconductor devices scaling into the deep submicron region, design challenges that were previously minor issues have now become increasingly important. Where in the past, dynamic, switching power has been the predominant factor in CMOS digital circuit power dissipation, recently, with the dramatic decrease of supply and threshold voltages, a significant growth in leakage power demands new design methodologies for digital integrated circuits (ICs). The main component of leakage power is sub-threshold leakage, caused by current flowing through a transistor even if it is supposedly turned off. Sub-threshold leakage increases exponentially with decreasing transistor feature size.
Among the many techniques proposed to control or minimize leakage power in deep submicron technology, Multi-Threshold CMOS (MTCMOS), which reduces leakage power by disconnecting the power supply from the circuit during idle (or sleep) mode while maintaining high performance in active mode, is very promising. MTCMOS incorporates transistors with two or more different threshold voltages (Vt) in a circuit. Low-Vt transistors offer fast speed but have high leakage, whereas high-Vt transistors have reduced speed but far less leakage current. MTCMOS combines these two types of transistors by utilizing low-Vt transistors for circuit switching to preserve performance and high-Vt transistors to gate the circuit power supply to significantly decrease sub-threshold leakage.
There are multiple ways to implement MTCMOS in synchronous circuits. One method is to use low-Vt transistors for critical paths to maintain high performance, while using slower high-Vt transistors for the non-critical paths to reduce leakage. Besides this path replacement methodology, there are two other architectures for implementing MTCMOS. A coarse-grained technique uses low-Vt logic for all circuit functions and gates the power to entire logic blocks with high-Vt sleep transistors, as shown in
In general, three serious drawbacks hinder the widespread usage of MTCMOS in synchronous circuits: 1) the generation of Sleep signals is timing critical, often requiring complex logic circuits; 2) synchronous storage elements lose data when the power transistors are turned off during sleep mode; and 3) logic block partitioning and transistor sizing is very difficult for the coarse-grained approach, which is critical for correct circuit operation, and the fine-grained approach requires a large area overhead.
The invention pertains to the fields of Computer Engineering and Electrical Engineering. The invention combines Multi-Threshold CMOS (MTCMOS) for synchronous circuits and asynchronous, delay-insensitive NULL Convention Logic (NCL), to yield an ultra-low power asynchronous circuit design methodology, named Multi-Threshold NULL Convention Logic (MTNCL).
In one embodiment, the invention provides a delay-insensitive fixed early-completion input-incomplete architecture (FECII). The FECII architecture includes MTNCL combinational logic blocks, which are built using MTNCL logic gates. These gates have a plurality of low-Vt transistors having high speed and high leakage current, and a plurality of high-Vt transistors having lower speed and low leakage current. The high-Vt transistors gate power to the low-Vt transistors when the MTNCL circuit is in a sleep mode. The low-Vt transistors are used for switching the output in active mode. Due to the removal of hysteresis, most MTNCL gates have fewer transistors compared to their regular NCL counterparts, thereby eliminating the area overhead. The FECII architecture further includes a plurality of delay-insensitive early-completion registers, each register coupled to a respective MTNCL logic block to form a pipeline stage. The completion detection signal, Ko, of each pipeline stage, and the handshaking signal from the next stage, generate the handshaking signal for the current stage, which is used as both the inversed Ki signal to the register of the current stage and the Sleep control signal of the next stage.
In another embodiment the invention provides an early-completion input-incomplete MTNCL architecture (ECII). While similar to those used in FECII architecture, the MTNCL logic gates used in ECII architecture include hold1 structures, in order to avoid partial NULL from passing through since it may cause the loss of delay-insensitivity in ECII architecture.
MTNCL eliminates the three drawbacks of using the low-power MTCMOS technique with synchronous circuits (i.e., 1) the generation of Sleep signals is timing critical, often requiring complex logic circuits; 2) synchronous storage elements lose data when the power transistors are turned off during sleep mode; and 3) logic block partitioning and transistor sizing is very difficult for the coarse-grained approach, which is critical for correct circuit operation, and the fine-grained approach requires a large area overhead), to yield an ultra-low power asynchronous circuit design methodology. MTNCL circuits have been demonstrated to dissipate 99% less static power compared to regular NCL circuits, and 38% less static power compared to MTCMOS synchronous circuits; MTNCL circuits have been demonstrated to utilize 62% less energy per operation compared to regular NCL circuits, and 99% less energy per operation compared to MTCMOS synchronous circuits; and MTNCL circuits are slightly faster than their regular NCL counterparts, and have comparable speed to synchronous circuits. Additionally, since MTNCL circuits are delay-insensitive, the supply voltage can be dropped to even sub-threshold levels to substantially further decrease power usage, at the cost of decreased performance, without requiring any circuit modifications. MTNCL circuits designed with the 1.2V IBM 8RF 130 nm process have been demonstrated to work correctly down to a sub-threshold supply voltage of about 0.1V, and an energy-optimal supply voltage of about 0.3V, where energy per operation is reduced by a factor of about 400× and static power is reduced by a factor of about 15×.
In another embodiment, the invention provides an early completion input incomplete asynchronous circuit (ECII). The ECII includes a delay insensitive register, a multi-threshold null convention logic circuit, and an early completion circuit. The delay insensitive register has a data input, a data output, a request input, and an acknowledge output. The multi-threshold null convention logic circuit has a data input coupled to the delay insensitive register data output, a sleep input, and an output coupled to a data input of a delay insensitive register of a subsequent ECII. The early completion circuit has a first input coupled to the acknowledge output, a second input coupled to the request input, and an output coupled to the sleep input and to a request input of a delay insensitive register of a previous ECII.
In another embodiment, the invention provides a fixed early completion input incomplete asynchronous circuit (FECII). The FECII includes a delay insensitive register, a multi-threshold null convention logic circuit, an early completion circuit, and an inverter. The delay insensitive register has a data input, a data output, a request input, and an acknowledge output. The multi-threshold null convention logic circuit has a data input coupled to the delay insensitive register data output, a sleep input, and an output coupled to a data input of a delay insensitive register of a subsequent FECII. The early completion circuit has a first input coupled to the acknowledge output, a second input coupled to an output of an early completion circuit of a subsequent FECII, and an output coupled to the sleep input and to an input of an early completion circuit of a previous FECII. The inverter is coupled to the output of the early completion circuit and has an output coupled to the request input.
In another embodiment, the invention provides a early completion input incomplete asynchronous circuit (ECII). The circuit includes a delay insensitive register, a multi-threshold null convention logic circuit, and a slept early completion circuit. The delay insensitive register has a data input and a data output. The multi-threshold null convention logic circuit has a data input coupled to the delay insensitive register data output, a sleep input, and a data output. The slept early completion circuit has a first input coupled to an output of an early completion circuit of a subsequent ECII, a second input coupled to the output of an early completion circuit of a previous ECII, a third input coupled to the delay insensitive register data input, and an output coupled to the sleep input.
In another embodiment, the invention provides a multi-threshold null convention logic circuit. The circuit includes a first circuit coupled to Vcc, a set circuit coupled to the first circuit, a first high-threshold transistor coupled between the set circuit and ground, a second high-threshold transistor coupled to Vcc, a first low-threshold transistor coupled to the second high-threshold transistor, a third high-threshold transistor coupled between the first low-threshold transistor and ground, a second low-threshold transistor coupled between the coupling of the third high-threshold transistor and the first low-threshold transistor and ground, and an output coupled to the coupling between the third high-threshold transistor, the first low-threshold transistor, and the second low-threshold transistor. The first high-threshold transistor is driven by a
Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.
a-3d are block diagrams of a MTNCL pipeline architecture using regular completion.
a-4d are block diagrams of a MTNCL pipeline architecture using early-completion.
a and 5b are schematic diagrams of original MTCMOS NCL threshold gates.
a is a schematic diagram of a static TH23 NCL implementation.
b is a schematic diagram of a semi-static TH23 NCL implementation.
a is schematic diagram of an original static MTCMOS NCL threshold gate structure.
b is a graph showing an output glitch produced by the gate structure of
a is a schematic diagram of a SMTNCL gate structure.
b is a schematic diagram of a SMTNCL TH23 implementation.
a-10c are block diagrams of a ECII architecture using SMTNCL gates.
a is a schematic diagram of a SMTNCL1 gate structure.
b is a schematic diagram of a SMTNCL1 TH23 implementation.
a is a schematic diagram of a SSMTNCL1 gate structure.
b is a schematic diagram of a SSMTNCL1 TH23 implementation.
a is a schematic diagram of a SSMTNCL gate structure.
b is a schematic diagram of a SSMTNCL TH23 implementation.
Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways.
The three drawbacks of MTCMOS are eliminated by utilizing NULL Convention Logic (NCL) in conjunction with the MTCMOS technique, as described in embodiments of this invention, yielding an ultra-low power asynchronous circuit design methodology, referred to as Multi-Threshold NULL Convention Logic (MTNCL).
Early-Completion Input-Incomplete (ECII) MTNCL Architecture
NCL threshold gates are larger and implement more complicated functions than basic Boolean gates, such that fewer threshold gates are normally needed to implement an arbitrary function compared to the number of Boolean gates; however, the NCL implementation often requires more transistors. Therefore, incorporating MTCMOS inside each threshold gate will likely facilitate easy sleep transistor sizing without requiring as large of an area overhead. Since floating nodes may result in substantial short circuit power consumption at the following stage, an MTCMOS structure similar to the one shown in
Since a completion detection signal, Ko, indicates whether the corresponding pipeline stage is ready to undergo a DATA or NULL cycle, Ko can be used as a sleep control signal without requiring any additional hardware. In contrast, complex Sleep signal generation circuitry is needed for synchronous MTCMOS circuits. However, directly implementing this idea, using regular NCL completion, compromises delay-insensitivity.
Referring to
Early-completion can be used in lieu of regular completion to solve this problem. With early-completion, the register inputs are used, instead of the outputs, along with the previous stage's completion signal to generate the current stage's completion signal. As shown in
MTNCL Threshold Gate Design for ECII Architecture
Incorporating MTCMOS structure inside each NCL threshold gate, results in a number of the original transistors no longer being needed. For example, as shown in
A direct MTCMOS NCL threshold gate implementation, similar to the structure shown in
Note that the MTNCL TH23 gate is actually smaller than the original TH23 gate (i.e., 17 vs. 18 transistors). Although the MTNCL structure adds five transistors to each gate, this only increases total number of transistors for 3 of the 27 threshold gates, since the reset and hold1 blocks are removed. This results in the total number of transistors in the MTNCL version normally being less than the original version. Exceptions include the three TH1n gates, which are OR gates, and therefore do not have extra hysteresis circuitry (i.e., reset=hold0 and set=hold1), no transistors are removed for the MTNCL versions. Therefore, these three MTNCL gates require 5 additional transistors each.
This initial MTNCL static threshold gate structure has been used to implement an 8-bit x 8-bit pipelined array multiplier using a 1.2V 130 nm IBM 8RF CMOS process, reducing leakage power 150 times and reducing active energy by 1.8 times compared to a regular NCL low-Vt counterpart. However, as shown in
To reduce or eliminate the glitch, the MTNCL threshold gate structure is modified, as shown in
Delay-Insensitivity Analysis
Combining the ECII architecture with the SMTNCL gate structure, results in a delay-sensitivity problem after a DATA cycle, if most, but not all, inputs become NULL (see
There are at least two solutions to this problem, one at the architecture level and the other at the gate level. Since the problem is caused by a partial NULL passing through the register, this can be fixed at the architecture-level by ensuring that the NULL wavefront is only allowed to pass through the register after all register inputs are NULL. This is achievable by a Fixed Early-Completion Input-Incomplete (FECII) architecture which uses the stage's inverted sleep signal as its input register's Ki signal. The FECII architecture is shown in
This problem can be solved at the gate level using a Static MTNCL implementation with hold1 (SMTNCL1), which requires 2 additional transistors vs. the SMTNCL gate. The feedback NMOS transistor is sufficient to hold the output at logic 1, without requiring the traditional NCL hold1 circuitry, because this ensures that once the gate output has been asserted due to the current DATA wavefront, that it will only be deasserted when the gate is put to sleep (i.e., when all circuit inputs are NULL), and will not be deasserted due to a partial NULL wavefront. The SMTNCL1 design is shown in
The MTCMOS structure can also be applied to semi-static NCL gates, which utilize a weak feedback inverter to implement the hold1 and hold0 functions. This Semi-Static MTNCL design with hold1 (SSMTNCL1), is shown in
To summarize, the ECII architecture works with SMTNCL1 or SSMTNCL1 gates, which include the hold1 function. The FECII architecture works with all four MTNCL gate designs (i.e., SMTNCL, SMTNCL1, SSMTNCL1, and SSMTNCL). However, the SMTNCL and SSMTNCL gates require fewer transistors than their equivalent SMTNCL1 and SSMTNCL1 gates, such that the FECII architecture would normally use either the SMTNCL or SSMTNCL gates. Additionally, the ECII architecture is faster than FECII; and the static NCL gates (i.e., SMTNCL and SMTNCL1) perform better than their semi-static counterparts (i.e., SSMTNCL and SSMTNCL1) at reduced supply voltages. This is because the static implementations do not utilize a weak inverter, which ceases to operate properly with a substantially reduced supply voltage, for state-holding.
In the MTNCL architectures described so far, an NCL circuit's C/L was slept in lieu of the NULL cycle to significantly reduce leakage power. However, during sleep mode the circuit's completion and registration logic remains active, which for a fine grain pipelined circuit may be a significant portion of the logic. Therefore, it would be very beneficial to be able to sleep the completion and registration logic in addition to the C/L. The completion logic can be slept by modifying the ECII architecture, shown in
During a NULL cycle, the register output is also NULL, so it too can be slept, as shown in
Table I compares the various MTNCL architectures and original NCL circuits using a 4-stage pipelined IEEE single-precision floating-point co-processor, which performs addition, subtraction, and multiplication.
Some concepts of early completion circuits are described in S. C. Smith, “Speedup of Self-Timed Digital Systems Using Early Completion,” The IEEE Computer Society Annual Symposium on VLSI, pp. 107-113, April 2002, the contents of which are hereby incorporated by reference.
This application is a divisional of U.S. patent application Ser. No. 12/771,886 filed Apr. 30, 2010, now U.S. Pat. No. 7,977,972, which claims the benefit of U.S. Provisional Patent Application No. 61/232,181, filed on Aug. 7, 2009. These applications are incorporated herein by reference in their entirety.
This invention was made with government support under W15P7T-08-C-V404 awarded by the DARPA Microsystems Technology Office. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
61232181 | Aug 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12771886 | Apr 2010 | US |
Child | 13175168 | US |