Full adder circuit

Abstract: An inverting full adder circuit is provided for use in a ripple-carry adder or arithmetic logic unit (ALU) which includes a plurality of similar full adder stages connected in series such that the carry delay from one stage to the next is minimized, and which requires fewer devices and less space on the surface of a semiconductor chip than do known adders or ALUs of comparable performance. This invention may use either N-channel field effect transistors, i.e., NMOS technology, or it may use complementary metal oxide semiconductor (CMOS) technology.

Description: This invention relates to an adder circuit and more particularly to a performance driven static ripple carry circuit, within an inverting full adder circuit. Arithmetic logic units (ALUs) such as full adders are well known in the computer industry, as disclosed, e.g., in IBM Technical Disclosure Bulletin article, "Selective Powering of Ripple ALU For Improved Power Performance" by R. A. Bechade, Vol. 27, No. 6, November 1984, pp. 3214-3215. In an article in IBM Technical Disclosure Bulletin entitled, "Programmable Arithmetic/Logic Circuit" by R. A. Bechade and W. K. Hoffman, Vol. 23, No. 11, April 1981, pp. 4870-4873, there is disclosed an inverting full adder made in N-channel transistor technology (NMOS). In U. S. Patents No. 3,249,746, filed on October 17, 1961, by W. A. Helbig et al, there is disclosed an adder which uses NAND circuits, No. 3,234,371, filed on March 29, 1962, by H. Osofsky, there is disclosed an adder using AND, NOR and NOT circuits, No. 3,125,675, filed on November 21, 1961, by T. A. Jeeves, there is disclosed a carry circuit for use in logic systems which employs NOR logic circuits exclusively and No. 3,465,133, filed on June 7, 1966, by R. K. Booher, there is disclosed a carry system which uses both NAND and NOR circuits. A full adder which uses complementary metal oxide semiconductor (CMOS) field effect transistors is disclosed in U. S. Patent No. 4,601,007. Although the adders disclosed in the hereinabove identified references may provide satisfactory digital binary adders, the circuitry required to make these adders in integrated circuit form utilizes a relatively large amount of space on the surface of a semiconductor substrate or chip and with relatively slow operation. In N.H.E. WESTE et al.: "Principles of CMOS VLSI Design", 1985, Adison Wesley, Reading, US; Section 8.2, pages 310-335, and section 5.2.5, pages 168-169, adders and related functions are discussed in the light of technological aspects rather than aspects of performance or reliability. It is an object of this invention to provide an inverting full adder circuit in either NMOS or CMOS technology for use in an adder or ALU which includes a plurality of similar inverting full adder stages connected in series such that the carry delay from one stage to the next is minimized and which requires fewer devices and less space on the surface of a semiconductor chip than do known adders or ALUs of comparable performance. This object of the invention is solved by the features of claim 1. Further advantageous embodiments can be taken from the subclaims. The foregoing and other objects, features and advantages of the invention will be apparent from the following and more particular description of the preferred embodiments of the invention, as illustrated in the accompanying drawings. Fig. 1 illustrates, partly in block form, one embodiment of the carry generator of the present invention, Fig. 2 is a circuit diagram of an inverting full adder of the present invention in NMOS technology, Fig. 3 is a circuit diagram of an inverting full adder of the present invention in CMOS technology, and Fig. 4 illustrates in schematic logic form the arithmetic logic unit of the present invention. Referring to the drawings in more detail, there is illustrated in Fig. 1 an embodiment of the carry generator 10 of the present invention made in NMOS technology including a pull-up device 12, which may be a depletion-type field effect transistor connected to a voltage supply source VDD at, e.g., 3.3 or 5 volts, a first pull-down device 14, a second pull-down device 16 serially-connected with the first pull-down device 14 and a third pull-down device 18 connected in parallel with the serially-connected first and second devices 14 and 16. The transistors 12, 14 and 18 are connected at a common point to a terminal C OUT. The first, second and third pull-down devices 14, 16 and 18, may be enhancement-type field effect transistors. A carry signal input terminal C IN is connected to the control electrode of the transistor 14. A NAND circuit 20 has a first input connected to first a complemented polarity signal input terminal A and a second input connected to a second complemented polarity signal input terminal B , with the output thereof connected to the control electrode of the transistor 16. A NOR circuit 22 also has a first input connected to the first complemented polarity signal input terminal A and a second input connected to the second complemented polarity signal input terminal B . A small inverter 24 has an input connected to the terminal C OUT and an output connected to an output terminal C OUT. Any known NAND and NOR circuits may be used for the circuits 20 and 22, respectively, but preferably the NAND and NOR circuits disclosed in US Patent 4768161. The characters A and B in the drawings indicate that complemented signals are present at each of these two terminals, the term C IN indicates that a true carry input signal is present at the terminal C IN, term C OUT indicates that a complemented carry output signal is present at the terminal C OUT and the term C OUT indicates that a true carry output signal is present at the terminal C OUT. The signals applied to the terminals A and B which represent binary numbers to be added may be obtained from any suitable source, such as a register. If latches are used as the source of the binary numbers, the true signal may be obtained from one side of a latch and the complemented signal taken from the other side of the latch, as is well known. In the operation of the carry generator illustrated in Fig. 1 of the drawings, a first complemented polarity signal representative of a first binary digit is applied to the input terminal A of the NAND circuit 20 and of the NOR circuit 22 and a second complemented polarity signal representative of a second binary digit which is to be added to the first binary digit is applied to the input terminal B of the NAND circuit 20 and of the NOR circuit 22. As is known, the output of the NAND circuit 20 provides a true polarity output signal A OR B which is applied to the control electrode of the transistor 16 and the output of the NOR circuit 22 provides a true polarity output signal representative of signals A AND B which is applied to the control electrode of the transistor 18. A true polarity input carry signal representative of the carry signal from a previous stage of, e.g., an inverting full adder (not shown), is applied to the control electrode C IN of the transistor 14. At the simultaneous application of these signals at terminals A , B and C IN, a complemented polarity output carry signal is produced at terminal C OUT, which may be applied to a subsequent stage of, e.g., a full adder (not shown). It can be readily seen that in the carry circuit of the present invention which uses only three N-channel transistors shown in Fig. 1 of the drawings, there is only one stage of delay between the input carry signal terminal C IN and the output carry signal terminal C OUT, i.e., the input carry signal is applied to the control electrode of the transistor 14 and the output carry signal is produced at the drain terminal of the transistor 14. Furthermore, if desired, a true polarity output carry signal may be obtained at the output of the inverter 24 at output terminal C OUT. Although complemented polarity signals have been applied to terminals A and B of NAND and NOR circuits 20 and 22, respectively, and a true polarity input carry signal has been applied to the control electrode C IN of the transistor 14 to obtain a complemented polarity output carry signal at terminal C OUT, it should be understood that the carry circuit or generator 10 may be used in an alternate stage of an adder, as will be described hereinbelow, by simply applying true polarity signals A and B to the inputs of the NAND and NOR circuits 20 and 22, respectively, and a complemented polarity input carry signal C IN to the control electrode of the transistor 14 to obtain a true polarity output carry signal C OUT at the input of the inverter 24 and a complemented polarity output carry signal C OUT at the output of the inverter 24. Fig. 2 of the drawings shows a circuit diagram of an inverting full adder of the present invention in NMOS technology which utilizes the carry circuit or generator disclosed in Fig. 1 of the drawings. This adder may be used to add a first adder word An, An-1, An-2 to a second adder word Bn, Bn-1, Bn-2 in binary digit form. As shown in Fig. 2, wherein elements similar to those of Fig. 1 have like numbers, a given stage n-1 of the inverting full adder includes the carry circuit 10 of Fig. 1 which has the pull-up transistor 12 and the pull-down transistors 14, 16 and 18. A true polarity signal An-1 OR Bn-1, which may be received from the output of NAND circuit 20 of Fig. 1, is applied to the transistor 16 and the true polarity signal representative of An-1 AND Bn-1, which may be received from the output of NOR circuit 22 of Fig. 1, is applied to the transistor 18, with a true polarity input carry signal Cn-2 from a previous stage n-2 (not shown) being applied to the transistor 14 to provide a complemented polarity output carry signal at terminal C n-1. The inverter 24, acting as a buffer circuit which includes a pull-up field effect transistor 26 connected as a diode and a pull-down field effect transistor 28, has the carry output terminal C n-1 connected to the control electrode of the transistor 28. The output of the inverter 24 at terminal Cn-1 is connected to a sum generator 30 which has a depletion-type pull-up field effect transistor 32 connected as a diode between a voltage source VDD and an output terminal Sn-1 and first, second, third, fourth and fifth pull-down field effect transistors 34, 36, 38, 40 and 42, respectively. The first and second transistors 34 and 36 are serially connected between the output terminal Sn-1 and a point of reference potential such as ground and the third transistor 38 is connected in parallel with the second transistor 36 between ground and a common point between transistors 34 and 36. The fourth and fifth transistors 40 and 42 are serially connected between the output terminal Sn-1 and ground. A complemented polarity input carry signal C n-2 which may be derived from the input carry signal Cn-2 after passing through an inverter such as inverter 24 is applied to the control electrode of transistor 34, a signal representative of A n-1 AND B n-1, which may be derived from the signal An-1 OR Bn-1 after passing through an inverter (not shown) is applied to the control electrode of the transistor 36 and the signal An-1 AND Bn-1 is applied to the control electrode of the transistor 38. The output terminal Cn-1 of the inverter 24 is connected to the control electrode of the fourth transistor 40 and the control electrode of the transistor 42 has a signal applied thereto representative of an exclusive OR of true polarity signal An-1 and true polarity signal Bn-1, which may be derived from any known exclusive OR circuit (not shown). The output carry signals at terminal C n-1 and at terminal Cn-1 are applied to a subsequent adder stage n. The circuit of stage n of the full adder is similar to that of stage n-1. As can be seen in Fig. 2 of the drawings, stage n of the inverting full adder includes a carry circuit 10′ having pull-up transistor 12′ and pull-down transistors 14′, 16′ and 18′, an inverter 24′ having transistors 26′ and 28′ and a sum generator 30′ having pull-up transistor 32′ and pull-down transistors 34′, 36′, 38′, 40′ and 42′. A signal A n OR B n, which may be received from the output of a NAND circuit similar to that of NAND circuit 20 of Fig. 1 having true input signals A and B, is applied to the transistor 16′ and the signal representative of A n AND B n, which may be received from the output of a NOR circuit similar to that of NOR circuit 22 of Fig. 1 having true input signals A and B is applied to the transistor 18′, with the complemented polarity input carry signal from stage n-1 being applied to the transistor 14′ to provide a true polarity output carry signal at terminal Cn. The inverter 24′ has the carry output terminal Cn connected to the control electrode of the transistor 28′. The output of the inverter 24′ at terminal C n is connected to the control electrode of transistor 40′ of the sum generator 30′. The true polarity carry signal Cn-1 from the output of the inverter 24 of stage n-1 is applied to the control electrode of the transistor 34′. A signal representative of An AND Bn, which may be derived from the signal A n OR B after passing through an inverter (not shown) is applied to the control electrode of the transistor 36′ and the signal A n AND B n is applied to the control electrode of the transistor 38′. Applied to the control electrode of the transistor 42′ is a signal representative of an exclusive OR of true polarity signal An and true polarity signal Bn, which may be derived from any known exclusive OR circuit (not shown). In the operation of the inverting full adder illustrated in Fig. 2 of the drawings, it can be seen that carry signals Cn-2 and C n-2 from a previous stage n-2 are applied to the carry generator 10 and the sum generator 30, respectively, along with appropriately processed signals An-1 and Bn-1 applied to the transistors 16, 18, 36, 38 and 42, to produce a complemented polarity carry signal at the terminal C n-1 and a true polarity sum signal Sn-1 at the output terminal Sn-1, with a true polarity carry signal being derived at the output terminal Cn-1 of the inverter 24. The carry signals C n-1 and Cn-1 from stage n-1 are applied to the carry generator 10′ and the sum generator 30′, respectively, along with appropriately processed signals An and Bn applied to the transistors 16′, 18′, 36′, 38′ and 42′, to produce a true polarity carry signal at the terminal Cn and a complemented polarity sum signal S n at the output terminal S n, with a complemented polarity carry signal being derived at the output terminal C n of the inverter 24′. It is, of course, to be understood that the terminal S n provides a more significant binary digit number in the addend than that provided at the terminal Sn-1. It should also be understood that a true polarity sum signal Sn may be provided by simply connecting the input of an inverter (not shown) to the terminal S n of the sum generator 30′. It furthermore can be readily seen that the carry signals Cn and C n may be applied to subsequent stages, such as a stage n+1 (not shown), of the inverting full adder of the present invention depending upon the number of binary digits that are found in the adder words to be added. It should be noted that the carry circuit of the full adder of this invention operates at higher speeds than do known adders of equivalent technology, since the carry circuit has very few devices to contribute internal capacitance, has only one stage of delay, and the full adder is designed to minimize additional capacitive load, e.g., the carry terminal C n-1 of stage n-1 is connected to only the control electrode of the transistor 28 of the small inverter 24 and the control electrode of the transistor 14′ of the carry generator 10′ of stage n, which form a very small capacitive load. Furthermore, only one phase of the input signal A and B, i.e., a true polarity or a complemented polarity signal is required at each binary digit position or stage, such as stage n-1. Also, it can be seen that the inputs A and B are inverted at every other stage. The inverting full adder of Fig. 3 of the drawings is similar in structure and in operation to the full adder shown in Fig. 2 except that the adder of Fig. 3 is made in the CMOS technology. Accordingly, the pull-up devices in the inverting full adder of Fig. 3 are P-channel field effect transistors while the pull-down devices remain as N-channel field effect transistors. The pull-up transistors that are commonly connected at their inputs to the pull-down transistors have similar numbers except that the numbers are followed by a P. Thus, in the carry generator 10 of stage n-1, the pull-down N-channel transistor 16 has its control electrode connected to the control electrode of the P-channel transistor 16P and the N-channel transistor 14 and the P-channel transistor 14P have their control electrodes connected in common to the true polarity input carry terminal Cn-2. It should be noted that the CMOS inverting full adder of Fig. 3 operates at a higher speed than does the adder of Fig. 2 and it also has the advantage of lower power dissipation over the adder of Fig. 2. Fig. 4 of the drawings illustrates in schematic logic form the inverting full adders shown in Figs. 2 and 3. As can be seen in Fig. 4 at stage n-1, signals A n-1 and B n-1 are applied to the inputs of the NAND and NOR circuits 20 and 22 as indicated in Fig. 1 of the drawings. The output of the NAND circuit 20 is applied to an AND circuit 44 of the carry generator 10 along with the carry signal Cn-2 from the previous stage n-2 (not shown). The output of the NOR circuit 22 along with the output of the AND circuit 44 are applied to the input of a NOR circuit 46 of the carry generator 10. The output of the NAND circuit 20 after passing through an inverter 48 is applied to a first input of a NOR circuit 50 and the output of the NOR circuit 22 is applied directly to a second input of the NOR circuit 50. The NOR circuit 50 forms an exclusive OR function since the inputs to the NOR circuit 50 are derived from the output of the NOR circuit 22 and the inverted output of the NAND circuit 20. The output of the NOR circuit 22 and the output of the inverter 48 are connected to an OR circuit 52 of the sum generator 30. The output of the NOR circuit 46 after passing through the inverter 24 is applied to a first input of a first AND circuit 54 and the output of the exclusive OR function, i.e., NOR circuit 50, is applied directly to a second input of the first AND circuit 54 of the sum generator 30. The output of the OR circuit 52 is connected to a first input of a second AND circuit 56 of the sum generator 30 with a second input of the second AND circuit 56 having the carry signal C n-2 applied thereto. The outputs from the first and second AND circuits 54 and 56 of the sum generator 30 are applied to the inputs of a NOR circuit 58, at the output of which is the output terminal Sn-1. Comparing the n-1 stage of the inverting full adder of Fig. 2 with the schematic logic form of the n-1 stage inverting full adder of the present invention shown in Fig. 4, it can be seen that the AND circuit 44 includes transistors 14 and 16 of Fig. 2 and the NOR circuit 46 includes the transistors 14, 16, 18 and 12. Also, in the sum generator 30, the OR circuit 52 includes transistors 36 and 38, the first AND circuit 54 includes transistors 40 and 42, the second AND circuit 56 includes transistors 36, 38 and 34 and the NOR circuit 5 includes transistors 34, 36, 38, 40, 42 and 32. The inverter 48 and the NOR circuit 50 of the n-1 stage of the full adder of Fig. 4 are not shown in the full adder of Fig. 2. It can be seen that the subsequent stage n of the full adder of Fig. 4 is similar to the n-1 stage with the carry signal C n-1 applied to an input of AND circuit 44′ of the carry generator 10′ and the carry signal Cn-1 applied to an input of AND circuit 56′ of the sum generator 30′ while signals An and Bn are applied to the inputs of the NAND and NOR circuits 20′ and 22′, as indicated in Fig. 4, to provide at the output of stage n the signal S n. Accordingly, it can be seen from the teachings of this invention that the sum generator requires only an inverted output from the carry generator of the previous stage and from the carry generator of its own stage, and it does not use directly the output of any carry generator, which minimizes the load on the carry generators. A NAND circuit and a NOR circuit at the input of every stage combines the A and B signals from the adder words to drive the carry generator. All of the stages operate in parallel so that only one logic delay is provided in the critical path of each stage n-1, n, n+1, etc. The delay through the NOR circuit 50 or 50′ of stages n-1 and n, respectively, is not critical because these circuits are located in parallel with the carry generator 10 or 10′. The signals from the sum generator 30 or 30′, the NOR circuit 50 or 50′ and the inverter circuit 4 can be selected to generate all necessary logic and arithmetic functions for the ALU. It can be readily seen that an arithmetic logic circuit has been described in accordance with the teachings of this invention which requires less surface on a semiconductor substrate or chip than do known arithmetic logic circuits of comparable performance. The ALU of the present invention is faster than known ripple carry ALUs and comparable in performance to the more complex carry-lookahead designs.

Claims: An adder circuit having at least two stages of inverting full adders each stage comprising a carry generator said carry generator comprising: pull-up means (12) disposed between a voltage supply source (VDD) and an output terminal ( C OUT), said output terminal supporting a carry signal for the respective following stage, and pull-down means (14, 16) disposed between said output terminal and a point of reference potential (ground) comprising first, second and third transistors (14, 16, 18), said first and second transistors (14, 16) being serially connected between said output terminal and said point of reference potential and said third transistor (18) being connected between said output terminal and said point of reference potential, first means (C IN) for applying a carry signal of the respective previous stage to a control element of said first transistor, second means including a NAND circuit (20) for generating a first signal (A or B) coupled to a control element of said second transistor, third means including a NOR circuit (22) for generating a second signal (A & B) coupled to a control element of said third transistor, and means for applying a first logic signal ( A ) of complemented polarity to a first input of said NAND and said NOR circuits and for applying a second signal ( B ) of complemented polarity to a second input of said NAND and said NOR circuits. An adder circuit as set forth in claim 1, wherein said first, second and third transistors are first, second and third N-channel field effect transistors, respectively, and said pull-up means includes P-channel field effect transistors. An adder circuit as set forth in claim 2, wherein said pull-up means includes first, second and third P-channel field effect transistors, said second and third P-channel field effect transistors being serially connected between said voltage supply source and said output terminal and said third P-channel field effect transistor being connected from a common point between said first and second P-channel field effect transistors to said output terminal, a control element of said first P-channel field effect transistor being connected to the control element of the first transistor, a control element of said second P-channel field effect transistor being connected to the control element of said third transistor and a control element of said third P-channel field effect transistor being connected to the control element of said second transistor. An adder circuit as set forth in claim 3 further including an inverter (24) having a fourth P-channel field effect transistor serially connected with a fourth N-channel field effect transistor between said voltage supply source and said point of reference potential, said output terminal being connected to control electrodes of said fourth P-channel and N-channel field effect transistors. An adder circuit as set forth in claim 4 further including a sum generator having an input connected to a common point between said fourth P-channel and N-channel field effect transistors. An adder circuit as set forth in claim 5 further including a second carry generator (10′) and a second sum generator (30′), an input of said second carry generator being connected to said output terminal and an input of said second sum generator being connected to the common point between said fourth P-channel and N-channel field effect transistors. An adder circuit as set forth in claim 6, wherein said second carry generator includes fifth, sixth and seventh N-channel field effect transistors, said fifth and sixth N-channel field effect transistors being serially connected between a second output terminal and said point of reference potential, said seventh N-channel field effect transistor being connected between said second output terminal and said point of reference potential and a control electrode of said fifth N-channel field effect transistor being connected to the control electrodes of said fourth P-channel and N-channel field effect transistors. An adder circuit as set forth in claim 7 further including a second NAND circuit connected to a control electrode of said sixth N-channel field effect transistor and a second NOR circuit connected to a control electrode of said seventh N-channel field effect transistor.

Inventors: BECHADE ROLAND A, SCHMOOKLER MARTIN S, BECHADE, ROLAND A., SCHMOOKLER, MARTIN S.
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1987
Main classification: G06F7
IPC codes: G06F7