An approach is provided in embodiments of the present invention for building multiple-output static CMOS logic gate circuits that share transistors when computing multiple functions from a common set of inputs. In particular, an approach is provided which includes building multiple-output static nand gates that compute the subfunctions of three or more inputs and building multiple-output static NOR gates that compute the subfunctions of two or more inputs. The approach also includes building multiple-output static XOR-XNOR gates that are capable of computing two-input XOR, three-input XOR, two-input XNOR, and three-input XNOR, and building multiple-output static Propagate-Generate (PG) compound gates. The approach further includes building carry propagate adders, priority encoders, binary-to-thermometers, decoders, etc. that are capable of using the multiple-output static gates embodied in the present invention.
|
14. A multiple-output static logic gate, comprising:
a plurality of nmos transistors connected serially between ground and a first output, the gate of each of the plurality of nmos transistors connected to one of a plurality of inputs;
a corresponding plurality of pmos transistors, the gate of each pmos transistor from the corresponding plurality being connected to one of the inputs, each pmos transistor from the corresponding plurality connecting a positive voltage to the first output, each input being connected to a transistor from the corresponding plurality; and
a subfunction plurality of pmos transistors, the gate of each pmos transistor from the subfunction plurality being connected to one of the inputs, each pmos transistor from the subfunction plurality having terminals connected between a positive voltage and a subfunction output;
wherein the first output is a nand computation of all the inputs;
wherein the subfunction output is a nand computation of a subset of the inputs.
1. A multiple-output static logic gate computing a nand of a plurality of inputs and subfunctions thereof, the logic gate comprising:
a plurality of nmos transistors connected serially between ground and a first output, the gate of each of the plurality of nmos transistors connected to one of the plurality of inputs;
a corresponding plurality of pmos transistors, the gate of each pmos transistor from the corresponding plurality being connected to one of the inputs, each pmos transistor from the corresponding plurality connecting a positive voltage to the first output, each input being connected to a transistor from the corresponding plurality; and
a subfunction plurality of pmos transistors, the gate of each pmos transistor from the subfunction plurality being connected to one of the inputs, each pmos transistor from the subfunction plurality having terminals connected between a positive voltage and a subfunction output;
wherein the first output is a nand computation of all the inputs;
wherein the subfunction output is a nand computation of a subset of the inputs.
2. The multiple-output static logic gate as recited in
3. The multiple-output static logic gate as recited in
4. The multiple-output static logic gate as recited in
5. The multiple-output static logic gate as recited in
6. The multiple-output static logic gate as recited in
7. The multiple-output static logic gate as recited in
8. The multiple-output static logic gate as recited in
9. The multiple-output static logic gate as recited in
10. The multiple-output static logic gate as recited in
11. The multiple-output static logic gate as recited in
13. The multiple-output static logic gate as recited in
15. The multiple-output static logic gate as recited in
wherein there are four inputs A, B, C and D,
wherein the subfunction plurality of pmos transistors includes three transistors connected to inputs A, B, and C,
wherein the subfunction output is
16. The multiple-output static logic gate as recited in
a first pmos transistor connecting power to a second subfunction output, the gate of the first pmos transistor being connected to A,
a second pmos transistor connecting power to the second subfunction output, the gate of the second pmos transistor being connected to B,
wherein the second subfunction output is
|
1. Field of the Invention
The invention relates generally to integrated circuits and, more particularly, to multiple-output Static CMOS logic gate circuits that are capable of simultaneously computing more than one logic function.
2. Description of the Related Art
In integrated circuits, one common objective is to generate digital output(s) from digital input(s) where the digital output(s) are predetermined functions of the digital input(s). Traditionally, integrated circuits satisfy this objective via a logic circuit that uses electronic devices called gates, which utilize Boolean algebra to perform “combinational” tasks. For example, a logic circuit can be designed that multiplies two numbers A and B (inputs) to produce and output C. In this case, Boolean AND logic would be implemented to multiply the two numbers A and B to produce the output C.
Complementary Metal-Oxide Semiconductor (CMOS) transistors are commonly used to build gates on integrated circuits. CMOS transistors can be viewed as three-terminal electrically controlled switches. The gate terminal is the control input. The source and the drain terminals are either connected or disconnected depending on the voltage at the gate terminal. A transistor is ON when the source and the drain are connected and OFF otherwise. The transistors are one of two types: nMOS (negative polarity) transistors and pMOS (positive polarity) transistors. Specifically, nMOS transistors turn ON when a logic ‘1’ is applied to the gate terminal and pMOS transistors turn ON when a logic ‘0’ is applied to the gate terminal.
CMOS logic gates can be structurally implemented using approaches that include domino logic and static CMOS logic. These CMOS logic gates are built from networks of transistors connected in parallel or series. They receive one or more inputs and produce a single output. In a conventional static CMOS logic gate, a pull-down network of nMOS transistors is connected between the output and the ground, and a pull-up network of pMOS transistors is connected between the output and the power. The inputs control the gates of the transistors so that either the NMOS network or the pMOS network is ON at any given time, which drives the output to either a logic ‘0’ value or a logic ‘1’ value. In contrast, the pMOS pull-up network in a domino logic gate is removed and replaced with a precharge transistor.
In the case where multiple logic functions (i.e. multiple outputs) are required for digital circuit to perform a particular task, multiple logic gates (each producing only one output) must be linked together to produce multiple outputs. The result of using multiple logic gates is that the area and the power consumption of the circuit are increased in proportion to the number of transistors used—i.e. the greater the number of logic gates, the greater the number of transistors. To overcome this need for multiple logic gates, multiple-output domino logic gate designs have been developed which share transistors in the pull-down network to simultaneously compute several related logic functions (i.e. a single domino logic gate produces multiple outputs). However, domino circuits have become increasingly difficult to use because of problems of leakage, coupling, process variation, supply noise, clock skew, and productivity etc.
In view of the foregoing, there is a need for a systematic design of multiple-output Static CMOS logic gates that share transistors when computing multiple functions from a common set of inputs.
In one embodiment, the present invention provides a multiple-output static logic gate that is capable of computing a NAND of three or more inputs and subfunctions thereof.
In another embodiment, the present invention provides a multiple-output static logic gate that is capable of computing a NOR of two or more inputs and subfunctions thereof.
In another embodiment, the present invention provides a multiple-output static logic gate that is capable of computing one of XOR of three or more inputs and subfunctions thereof, XNOR of three or more inputs and subfunctions thereof, or XOR of three or more inputs and subfunctions thereof and XNOR of three or more inputs and subfunctions thereof.
In another embodiment, the present invention provides a multiple-output static logic gate that is capable of computing a compound function of three or more inputs and computing one or more other functions, wherein the one or more other functions share one or more inputs with compound function.
In yet another embodiment, the present invention provides a decoder that comprises a NAND tree multiple-output static logic gate.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the embodiments and accompanying drawings, illustrating, by way of example, the principles of the invention.
The invention, together with further advantages thereof, may best be understood by reference to the following description taken in conjunction with the accompanying drawings in which:
An approach is provided in embodiments of the present invention for producing multiple-output static CMOS logic gate circuits that are capable of simultaneously computing more than one logic function and which share transistors connected to one or more common inputs. The multiple-output static CMOS logic gates of embodiments of the present invention consume less area and power than conventional multiple single-output gate circuit design approaches because they have fewer transistors. Furthermore, the multiple-output static logic gates of embodiments of the present invention can obviate the problems that are typically encountered with the use of domino circuits. Additionally, the multiple-output static logic gates of embodiments of the present invention can potentially produce increased processing speeds because they present less capacitance on critical inputs.
In the description herein for embodiments of the present invention, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention. The present invention includes several aspects and is presented below and discussed in connection with the Figures and embodiments.
To begin, an introduction to some traditional concepts of Boolean (switching) algebra is provided below to illustrate the most basic relationship between logic gates and the logic functions they perform. As recognized by those of ordinary skill in the relevant art, Boolean algebra is a fundamental mathematical tool for designing and analyzing logic circuits whose digital output(s) are generated from digital input(s) and where the digital output(s) are predetermined functions of the digital input(s). The three basic types of logic functions include the AND, the OR, and the NOT function and, by utilizing these three basic logic functions, any Boolean equation can be implemented by a logic gate. However, other logic functions, namely NAND (“NOT-AND”), NOR (“NOT-OR”), XOR (“exclusive-OR”), and XNOR (“exclusive-NOR”) etc., which are functions derived from the three basic logic functions are also commonly utilized.
The Boolean symbol for OR is “+”, and the expression “A OR B” is commonly written A+B. Likewise, the Boolean symbol for AND can be denoted by a dot “•” or simple juxtaposition, and the expression “A AND B” is commonly written as A B, or, alternatively, in the juxtapositional notation AB. Juxtapositional notation will be used throughout this document to discuss embodiments of the present invention. The Boolean symbol for NOT (the compliment of a logic level) is a bar over the symbol, and the expression is commonly written as Ā. The compliment logic function NOT can be combined with gates to form the NAND and NOR logic functions. As such, the expression “A NAND B” is commonly written as A·B or
In
The multiple output static CMOS logic gate 101 embodied in
The multiple output static logic gate 101 also includes three parallel pMOS transistors 141-143 connected between output Y3 and VDD 111. Collectively, transistors 121-123 and transistors 141-143 compute Y3=ABC, a NAND of three inputs, A, B, and C. Similarly, gate 101 includes two parallel pMOS transistors 151-152 connected between output Y2 and VDD 111. Collectively, transistors 121-122 and transistors 151-152 compute Y2=
Based on the discussion above, it will become apparent to those of ordinary skill that the multiple-output static CMOS logic NAND gate 101 embodied in
In
Moreover, the multiple-output static NAND logic gates of embodiments of the present invention, can compute any combination of subfunctions from any number of inputs. For example, in
Although not illustrated, the family of merged multiple-output static NAND gates embodied in
In view of the discussion above, it should be apparent that the family of merged three-or-more input NAND gates of embodiments of the present invention is not limited only to those representative structures illustrated in
In
In gate 201, pMOS transistors 221-224 and NMOS transistors 231-234 form an ordinary 4-input static NOR computing Y4=
In
In
Similar to merged multiple-output NAND logic gates of embodiments of the present invention discussed above regarding
In
It is important to note that the principles which extend to the representative multiple-output XOR/XNOR static CMOS logic gate 301 of
In
Because the NAND gate 411 can perform a propagate signal and the compound AOI gate 410 can perform a generate signal, to simultaneously compute the two functions
Based on the discussion above regarding
In
In
In
Moreover, alternate embodiments of the multiple-output static logic gates discussed above regarding the
In yet another embodiment, as discussed in more detail below regarding
As is well-known in the art, generate and propagate gates can be used in carry propagate adders. See, for example, N. Weste and D. Harris, CMOS VLSI Design: A Circuits and Systems Perspective, Boston: Addison Wesley, 2005. In another embodiment of the present invention, multiple-output compound gates computing generate and/or propagate signals are used in carry propagate adders to reduce the number of transistors required compared to conventional designs with separate single-output gates. Multiple-output gates can be used to save transistors in any carry propagate adder architecture that uses P and G signals, such as carry lookahead, carry select, carry skip, carry increment, and prefix adders such as Kogge-Stone, Ladner-Fischer, Sklansky, Knowles, Brent-Kung, or Han-Carlson. The multiple-output gates can compute valency-2, valency-3, valency-4 or higher-valency propagate and/or generate signals.
For example, in
In
Y1=A1
Y2=A2(Ā1)
Y3=A3(ĀeĀa)
Y4=A4(Ā3ĀeĀa)
Y5=A5(Ā4Ā3ĀeĀa)
And because the outputs of the priority encoder share common terms, the outputs are a natural application for the multiple-output static logic gates of embodiments of the present invention.
For example, in
Another application for the use of the multiple-output static logic approach of embodiments of the present invention is a “binary-to-thermometer” encoder. Binary-to-thermometer encoders are typically used in data conversion applications, and many other applications etc. Generally, binary-to-thermometer encoders include N inputs AN-1:0 and M=2N−1 outputs, YM:1. If the input is a binary representation of k, the k least-significant output bits will be asserted. The outputs of a 3:7 encoder, for example, are defined as:
Y1=A2+A1+A0
Y2=A2+A1
Y3=A2+A1A0
Y4=A2
Y5=A2(A1+A0)
Y6=A2A1
Y7=A2A1A0
And, again, because the binary-to-thermometer encoder shares common terms, it is a natural application for the multiple-output static logic gates of embodiments of the present invention.
For example, in
As will be apparent to one of ordinary skill in the art, many variations of “binary-to-thermometer” encoders that use the multiple-output static logic gates of embodiments of the present invention to perform binary-to-thermometer encoding are possible. Thus, the “binary-to-thermometer” Encoder 700 of
In
In view of the discussion above, it should be apparent that embodiments of the present invention provide a novel approach to multiple-output static logic gates. This invention has described several embodiments of multiple-output static logic gates that share one or more transistors. Those of ordinary skill in the art will realize that many other multiple output static logic gates can also be devised from the same principles. Those of ordinary skill in the art will also realize that the names given to the inputs are of no significance.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Harris, David Money, Yang, Chih-Kong
Patent | Priority | Assignee | Title |
10177765, | Aug 23 2016 | Intel Corporation | Integrated clock gate circuit with embedded NOR |
10804922, | Mar 11 2015 | Huawei Technologies Co., Ltd. | Sampling clock generating circuit and analog to digital converter |
11152942, | Nov 29 2019 | Samsung Electronics Co., Ltd. | Three-input exclusive NOR/OR gate using a CMOS circuit |
11831309, | Apr 20 2018 | Texas Instruments Incorporated | Stress reduction on stacked transistor circuits |
8013633, | Jun 20 2007 | Hewlett-Packard Development Company, L.P. | Thin film transistor logic |
Patent | Priority | Assignee | Title |
4851714, | Dec 11 1987 | CHASE MANHATTAN BANK, AS ADMINISTRATIVE AGENT, THE | Multiple output field effect transistor logic |
5719803, | May 31 1996 | Hewlett Packard Enterprise Development LP | High speed addition using Ling's equations and dynamic CMOS logic |
20020063583, | |||
20040075470, | |||
20070022246, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 28 2006 | YAN, CHIH-KONG | Sun Microsystems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018259 | /0239 | |
Aug 29 2006 | HARRIS, DAVID M | Sun Microsystems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018259 | /0239 | |
Aug 30 2006 | Sun Microsystems, Inc. | (assignment on the face of the patent) | / | |||
Feb 12 2010 | ORACLE USA, INC | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037304 | /0183 | |
Feb 12 2010 | Sun Microsystems, Inc | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037304 | /0183 | |
Feb 12 2010 | Oracle America, Inc | Oracle America, Inc | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 037304 | /0183 |
Date | Maintenance Fee Events |
Jan 09 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 19 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 28 2020 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 04 2012 | 4 years fee payment window open |
Feb 04 2013 | 6 months grace period start (w surcharge) |
Aug 04 2013 | patent expiry (for year 4) |
Aug 04 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 04 2016 | 8 years fee payment window open |
Feb 04 2017 | 6 months grace period start (w surcharge) |
Aug 04 2017 | patent expiry (for year 8) |
Aug 04 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 04 2020 | 12 years fee payment window open |
Feb 04 2021 | 6 months grace period start (w surcharge) |
Aug 04 2021 | patent expiry (for year 12) |
Aug 04 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |