1-BIT ADDER AND MULTIPLIER CONTAINING A 1-BIT ADDER

Abstract: E.g. for video applications fast multipliers with high resolution are required. But a higher resolution results in more partial products to be calculated internally. The Booth-Mc Sorley algorithm can be used in order to reduce the required number of such partial products. This algorithm can be combined with a diagonal propagation of the carry from one partial product to the other, allowing all the sums on a line to be calculated simultaneously. But the reachable multiplication time is not short enough. The inventive multiplier in nearly full CMOS design has been constructed with a 1.2 mu BICMOS technology, having a multiplication time of 9 ns with a supply voltage of 5 volts. Minimum multiplication time has been achieved by a combination of the following techniques: use of the Booth-Mc Sorley algorithm in order to reduce the number of partial products; diagonal propagation of the carry from one partial product to the other allowing all the sums on one line to be done simultaneously; use of the carry select approach in the final 14 bits adder and in the first two adders in the intermediate rows; use of inventive fast one-bit full adders with complementary pass transistor logic.

Description: 1-bit adder and multiplier containing a 1-bit adder The present invention relates to a 1-bit adder and to a mul¬ tiplier which uses this 1-bit adder. Background E.g. for video applications fast digital multipliers with high resolution are required. But a higher resolution re¬ sults in more partial products to be calculated internally. The Booth-Mc Sorley algorithm can be used in order to reduce the required number of such partial products. This algorithm is disclosed in O. . MAC SORLEY, 'High-Speed Arithmetic in. Binary Computers' , Proceedings of the IRE, January 1961, Vol. 49, Pages 67-91. This algorithm can be combined with a diagonal propagation of the carry from one partial product to the other, allowing all the sums on a line to be calculat¬ ed simultaneously. But the reachable multiplication time is not short enough. Invention It is one object of the invention to disclose a 1-bit adder with improved speed. This object is reached by the inventive adder disclosed in claim 1. In principle the inventive adder comprises a carry stage and an adding stage and is constructed in a fast CMOS complemen¬ tary pass transistor logic with complementary analogue CMOS switches in said adding stage which consist of a PMOS and a NMOS transistor, whereby the source of said PMOS transistor is connected with the drain of said NMOS transistor and the drain of said PMOS transistor is connected with the source of said NMOS transistor and the gate of said PMOS transistor receives inverted signals with respect to the gate of said NMOS transistor, and whereby two partial output sum signals are generated by two of said switches which are connected with the input and with the output, respectively, of an in¬ verter and the output sum signal of said adder is available at the output of said inverter. Advantageous additional embodiments of the inventive adder are resulting from the respective dependent claim. It is a further object of the invention to disclose a digi¬ tal multiplier with improved speed which utilizes the inven¬ tive adder. This object is reached by the inventive multipli¬ er disclosed in claim 3. In principle the inventive multiplier uses Booth encoding of the multiplicator and diagonal propagation of the carry from one partial product to the other and comprises: - a first row of function blocks which calculate partial products from the multiplicand and from a substring of the multiplicator which has been coded in a Booth encod¬ er circuit; - further rows of basic building blocks which contain one of said function blocks and one of said 1-bit adders and which calculate further partial products from the partial products from the previous row and from further substrings of the multiplicator, which have been coded in further Booth encoder circuits, whereby the respec¬ tive two or more lowest multiplication result bits from each row are calculated using two of said 1-bit adders and whereby groups of such rows are connected by a pipe¬ line row; a last row with a carry select adder circuit which is constructed from one 4- and/or 3-bit adder circuit and/or pairs of said 4- and/or 3-bit adder circuits, which contain said 1-bit adders. Advantageous additional embodiments of the inventive multi¬ plier are resulting from the respective dependent claims. Extensive electrical simulations have shown that with 1.2μ CMOS technology (HF3CMOS) a multiplication time of 9ns can¬ not be achieved in one step. Such a short multiplication time would normally need submicron MOS technology or the use of ECL techniques. Several levels of pipeline are required within the inventive multiplier. Taking into account the delay of the input and output latches, the multiplier has an overall latency of 5 (i.e. 45ns for a 108MHz clock). For reducing the multiplica¬ tion time within εubblocks of the multiplier a carry select technique is used to have minimum propagation delay. For this reason, too, an inventive 1-bit full adder has been de¬ signed which uses complementary pass transistor logic. This adder has the advantage of giving full power supply swings at the outputs whilst still maintaining the speed properties of the pass transistor logic. Drawings Preferred embodiments of the invention will now be described with reference to the accompanying drawings, in which: shows a known n*n bit parallel multiplier; shows an element in the partial product genera¬ tor of the known multiplier; shows an overall block diagram of the inventive multiplier; depicts schematically the inventive multiplier circuit; shows in detail the first two adders in an in¬ termediate row of the multiplier; shows a 14-bit carry select adder circuit; shows a 4-bit full adder; Fig. 8 shows a 3-bit full adder with normal or comple¬ mentary carry input; Fig. 9 shows a basic building block of the inventive multiplier for calculating according to the Booth-Mc Sorley algorithm; Fig. 10 depicts in detail the inventive function block of Fig. 9; Fig. 11 shows a first and a second embodiment of the in¬ ventive 1-bit full adder; Fig. 12 shows a third embodiment of the inventive 1-bit full adder; Fig. 13 shows a BICMOS buffer; Fig. 14 depicts a Booth encoder circuit. Preferred embodiments A multiplication process can be viewed as consisting in two basic steps: - evaluation of partial products; - accumulation of the shifted partial products. E.g. a four bits multiplicand (a3,a2, al, aO) is multiplied with a four bits multiplicator (b3,b2,bl,b0) according to the following scheme, whereby the result (P7,P6, ... ,P0) has eight bits: a3 a2 al aO multiplicand b3 b2 bl bO multiplicator a3b0 a2b0 albO aObO partial product a3bl a2bl albl aObl a3b2 a2b2 alb2 a0b2 a3b3 a2b3 alb3 a0b3 P7 P6 P5 P4 P3 P2 PI P0 multiplication result A number of techniques can be used to perform multiplica¬ tion, namely: - serial multiplication; - serial/parallel multiplication; - parallel multiplication. For high speed multiplication the parallel scheme is chosen. The parallel multiplier is based on the fact that partial products in the multiplication process can be independently computed in parallel. Fig. 1 together with Fig. 2 show the classical implementation of an n*n bit parallel multiplier. It can be seen that n partial products are generated from the multiplicand (X(n-l), X(n-2), ...,XI,X0) and the multiplicator (Y(n-l), Y(n-2) , ... ,Yl,YO) which are accumulat¬ ed to the result (P(2n-1), P(2n-2),...,PI,PO) . One element (marked with dashed lines in Fig. 1) is depicted in Fig. 2 with more detail. The respective bits Xi and Yi are combined in an AND gate 21 and added in a 1-bit full ad¬ der 22 to the respective carry bit Ci and to the respective partial product Pi, which leads to an output carry bit C(i+1) and to an output partial product P(i+1). The inventive multiplier in nearly full CMOS design has been constructed with a 1.2μ BICMOS technology, having a multipli¬ cation time of 9ns with a supply voltage of 5 volts. The in¬ puts and outputs are in two's complement notation. BICMOS buffers as shown in Fig. 13 are used whenever the load is greater than 0.5pF. Minimum multiplication time has been achieved by a combina¬ tion of the following techniques: use of the Booth-Mc Sorley algorithm in order to reduce the number of partial products; diagonal propagation of the carry from one partial prod¬ uct to the other allowing all the sums on one line to be done simultaneously; use of the carry select approach in the final 14 bits adder and in the first two adders in the intermediate rows; use of inventive fast 1-bit full adders with complemen¬ tary pass transistor logic. The multiplicand 401 in Fig. 4a and in Fig. 3 is fed to in¬ put latches 402. The multiplicator N0,N1, - .. ,N10,N11 in Fig. 4a and in Fig. 3 is fed to Booth encoders 403 - 408. Such a Booth encoder circuit is depicted in Fig. 14. Each Booth encoder circuit has three inputs 1401, 1402 and 1403. Inputs 1401 and 1402 are fed via an XOR gate 1411 and an in¬ verter 1417 to output D. All three inputs are fed via a first NAND gate 1412 to the first input of a third NAND gate 1418 and via three respective inverters 1414, 1415 and 1416 and a second NAND gate 1413 to the second input of the third NAND gate 1418. The output signal of third NAND gate 1418 becomes inverted in inverter 1419 and leads to output signal N (N is referred to as 'N inverted' ). The output signal of inverter 1414, whose input is connected to input 1403, repre¬ sents output signal C' . The multiplicator N0,N1, ... ,N10,N11 is partitioned into 3- bit word substrings with adjacent groups sharing a common bit. The output signals of the Booth encoder circuit in Fig. 14 represent three command signals: D - doubling or shift left; C ! - complementation; N - zeroing. Advantageously the inverted signals N and C r are used. The Booth-Mc Sorley algorithm consists in efficiently pro¬ cessing strings of zeros or ones in the binary representa¬ tion of the multiplicator in order to optimize the number of partial product sums. For a n-bits multiplicator in two's complement notation n/2 independent partial products are gen¬ erated. Thus for a 12-bits multiplicator six partial prod¬ ucts are obtained- Each multiplying step involves the sum of a precedent partial product and the modified (shift left, two's complementation or zeroing) multiplicand. The output signals of Booth encoders 403 - 408 are fed to static latches Δ. The inventive multiplier contains accord¬ ing to Eig. 3, Fig. 4a and Fig. 4b: a first row 411 with function blocks F which are depict¬ ed in detail in Fig. 10; a second row 412 with basic building blocks FA accord¬ ing to Fig. 9 which contain an inventive 1-bit full ad¬ der; a first pipeline row 413; a third row 414 with basic building blocks FA; a fourth row 415 with basic building blocks FA; a second pipeline row 416; a fifth row 417 with basic building blocks FA; a sixth row 418 with basic building blocks FA; a third pipeline row 419; a seventh row 410 with a 14-bits carry-select adder cir¬ cuit which is shown in detail in Fig. 6. The pipeline rows are constructed with latches. H and HB are clock signals. The blocks marked with '+' are also inventive 1-bit full adders. The blocks MUX are 2:1 multiplexers. The output signals SO ... S12 represent the lower twelve bits of the 24-bit result of the multiplication. The adder input sig¬ nals 421, 422 and 423 are fed from respective inputs of the adders above within the seventh row 410. The multiplied in¬ put signals are available as 24-bit result at the output of latches (not depicted) . The lower bits in the third 414, fourth 415, fifth 417 and sixth 418 row are managed by adding circuits which are simi¬ lar to adding circuit 430. This adding circuit is shown in detail in Fig. 5. The inputs A of a first 1-bit full adder 52 and a second 1- bit full adder 53 are connected together and receive respec¬ tive sum signals S from basic building blocks FA of the re¬ spective upper row. This is true, too, for the carry inputs CI which receive the carry output C from the basic building block above. The input B of first adder 52 is connected to supply voltage 5V and the input B of second adder 53 to ground. The output sum signals S of both adders are connect¬ ed to respective inputs E0 and El of a first 2:1 multiplexer 54 and the carry outputs C of both adders are connected to respective inputs EO and El of a second 2:1 multiplexer 51. The switching inputs of both multiplexers are connected to the carry output C of a third 1-bit full adder 55. Input A of third adder 55 receives a respective sum signal S from a basic building block FA above of the respective upper row and the carry input CI is connected to the output O of a mul¬ tiplexer in the respective upper row which has a respective function like second multiplexer 51. Input B of third adder 55 is connected to the output of an inverter 56. The input signal of this inverter is a latched complementation command signal C' which stems from a static latch 57 which receives the clock signals H and HB at its inputs. Output sum signal S of third adder 55 and output signal O of first multiplexer 54 form together with respective output signals of the other three adding circuits of Fig. 4b the multiplication result bits SO, ... ,S9. In Fig. 6 the 14-bits carry select adder circuit of the sev¬ enth row 410 of Fig. 4a and Eig. 4b contains 4-bit full ad¬ ders 611, 621, 616 and 626, 3-bit full adders 631 and 636 with normal carry input, a 3-bit full adder 635 with comple¬ mentary carry input and 2:1 multiplexers 612 - 615, 622 - 625, 632 - 634, 617, 627 and 637. The input signals aO, bO, al, bl, a2 and b3 of adder 635 stem from the sum and carry outputs of the basic building blocks FA in sixth row 418 which follow directly the respective adding circuit. The in¬ put signals of adders 611, 616, 621, 626, 631 and 636 stem from the sum and carry outputs of the respective following basic building circuits of sixth row 418. The respective in¬ puts a3,...,bl3, e.g. a3 of adder 631 and a3 of adder 636, are connected together. The carry inputs CI of adders 616, 626 and 631 are connected to ground, i.e. logical O r , the carry inputs CI of adders 611, 621 and 636 are connected to supply voltage 5V, i.e. logical '1'. The idea behind this parallel configuration of adders is to use fixed carry in¬ puts and to select the one adder in case of CI = ' 0' and the other, parallel adder in case of CI = '1' . The respective (parallel) adder output is selected by 2:1 multiplexers 612 - 615, 622 - 625 and 632 - 634. The output signals of these multiplexers respectively represent output signals S20 - S23, S16 - S19 and S13 - S15 of the upper bits of the 24-bit result of the multiplication. Carry input of adder 635 is connected to the one clock delayed complementation command signal C' generated in Booth encoder circuit 408 which has been latched in static latch 624. This latch is controlled by clock signals H and HB. The carry output of adder 635 is connected to an inverter 641 and to the switching input of multiplexer 637. The output of inverter 641 is connected to the switching inputs of multiplexers 632 - 634. The carry outputs C of adders 631 and 636 are connected to the inputs of 2:1 multiplexer 637. The output of this multiplexer is connected to the switching inputs of multiplexers 622 - 625 and to the switching input of multiplexer 627. The carry out¬ puts C of adders 621 and 626 are connected to the inputs of 2:1 multiplexer 627. The output of this multiplexer is con¬ nected to the switching inputs of multiplexers 612 - 615 and to the switching input of multiplexer 617. The carry outputs C of adders 611 and 616 are connected to the inputs of 2:1 multiplexer 617. The output of this multiplexer represents an overflow signal. The operations of the adders are done quasi-simultaneously. This results in a maximum propagation delay τ for the 14- bit carry select adder circuit equal to τ„ = propagation delay for the carry output of adders 631 or 636 τ = propagation delay of a multiplexer. The adders 611, 621, 616, 626, 631, 636 and 635 internally also make use of the carry select technique in order to have minimum propagation delay. The 4-bit full adders 611, 621, 616 and 626 are depicted in Fig. 7 in more detail and contain second version 1-bit full adders 71, 721, 722, 731 and 732, third version 1-bit full adders 741 and 742, and 2:1 multiplexers 723, 724, 733, 743 and 75. E.g. the input signals a6 - a9 and b6 - b9 for adder 621 are fed to respective connected parallel 1-bit adders. Input signals aδ and b6 and carry input CI are fed to adder 71 which outputs the sum signal S, representing bit S6 of the multiplication result. The carry output C is connected to the switching input of multiplexers 723 and 724. The car¬ ry input of adders 721 and 731 is connected to logical '1' and the carry input of adders 722 and 732 to logical '0' . Input signals a7 and b7 are fed to adders 721 and 722, input signals a8 and b8 to adders 731 and 732 and input signals a9 and b9 to adders 741 and 742. The sum outputs S of adders 721 and 722 are connected to inputs of multiplexer 724 and the carry outputs C to inputs of multiplexer 723. At the out¬ put of multiplexer 724 the sum signal S7 is available. The output of multiplexer 723 is connected to the switching in¬ put of multiplexers 733, 743 and 75. The sum outputs S of adders 731 and 732 are connected to inputs of multiplexer 733. At the output of multiplexer 733 the sum signal S8 is available. Carry output C of adder 731 is connected to the carry input of adder 741 and carry output C of adder 732 to the carry input of adder 742. The sum outputs S of adders 741 and 742 are connected to inputs of multiplexer 743 and the carry outputs C to inputs of multiplexer 75. At the out¬ put of multiplexer 743 the sum signal S9 is available and at the output of multiplexer 75 the carry signal C. The 3-bit full adders 631, 636 and 635 are depicted in Fig. 8 in more detail and contain second version 1-bit full ad¬ ders 821, 822, 831 and 832 and 2:1 multiplexers 823, 824, 833 and 85. If adder 81 is a second version 1-bit full adder according to Fig. 11 the 3-bit adder has a normal carry in¬ put and if adder 81 is a third version 1-bit full adder ac¬ cording to Fig. 12 the 3-bit adder has a complementary carry input CI. E.g. the input signals aO - a2 and bO - b2 for adder 635 are fed to respective connected parallel 1-bit adders. Input sig¬ nals aO and bO and carry input CI are fed to adder 81 which outputs the sum signal S, representing bit SO of the multi¬ plication result. The carry output C is connected to the switching input of multiplexers 823 and 824. The carry input of adders 821 and 831 is connected to logical '1' and the carry input of adders 822 and 832 to logical '0' . The sum outputs S of adders 821 and 822 are connected to inputs of multiplexer 824 and the carry outputs C to inputs of multi¬ plexer 823. At the output of multiplexer 824 the sum signal SI is available. The output of multiplexer 823 is connected to the switching input of multiplexers 833 and 85. The sum outputs S of adders 831 and 832 are connected to inputs of -multiplexer 833. At the output of multiplexer 833 the sum signal S2 is available. The carry outputs C of adders 831 and 832 are connected to inputs of multiplexer 85. At the output of multiplexer 85 the carry signal C is available. The basic building blocks FA in Fig. 4a and Fig. 4b contain a function block F, 91 according to Fig. 9 and an inventive first version 1-bit full adder 92. Function block 91 multi¬ plies the Booth encoded substrings. It receives signals D (shift left), C' (complementation) and N (zeroing) generated in the respective Booth encoder circuits, Mi (multiplicand corresponding to one of the 12 multiplicand bits (X(n-l), X(n-2) , ... ,X1,X0) ) and Mq (corresponding to a 'multiply by 2' output Sq in the previous right function block). Output Sq controls the Mq input of the next left function block. The output product P is connected to input 'a' of adder 92. Input 'b' of adder 92 is connected to the upper right basic building or function block of the above row and carry input CI to the upper basic building or function block above in the above row. Sum signal S of adder 92 is fed to the lower basic building block or adding circuit of the row below and carry output C to the left lower basic building block or adding circuit of the row below. The detailed circuitry of function block F, 91 is given in Fig. 10. All MOS transistors are constructed in 1.2μ technol¬ ogy- All NMOS transistors have their bulk connected to the most negative potential (VSS, ground) and all PMOS transis¬ tors have their bulk connected to the most positive poten¬ tial (VDD, 5V) . The source of PMOS transistors 1021 and 1024 and the drain of NMOS transistors 1022 and 1023 is connected to signal Mi. Input signal D is fed directly to the gate of transistors 1023 and 1024 and via inverter 1011 to the gate of transis¬ tors 1021 and 1022. Signal Mq is fed to the drain of transistor 1024, source of transistor 1022, gate of PMOS transistor 1025 and gate of NMOS transistor 1027. Signal Sq is connected to the drain of transistor 1021 and to the source of transistor 1023. The source of PMOS transistors 1025 and 1026 is connected to supply voltage 5V. The drain of these transistors is connect¬ ed together and to the drain of NMOS transistor 1027, to the input of inverter 1014, to the drain of NMOS transistors 1031 and 1034 and to the source of PMOS transistor 1032. The source of transistor 1027 is connected to the drain of NMOS -transistor 1028 which has its source connected to ground. Input signal N is fed to the gate of transistors 1026 and 1028. Input signal C' is connected directly to the gate of transis¬ tor 1031 and PMOS transistor 1030 and NMOS transistor 1033 and is connected via inverter 1012 to the gate of transis¬ tors 1032 and 1034 and NMOS transistor 1029. The source of transistors 1031 and 1029 and the drain of transistors 1032 and 1030 and the input of inverter 1013 are connected togeth¬ er. The output of inverter 1014 is connected to the drain of transistors 1033 and 1029 and to the source of transistor 1030- The output P is connected to the output of inverter 1013 and to the source of transistors 1033 and 1034. Transistors 1033 and 1034 are NMOS switches. Transistor pairs 1021/1023 and 1022/1024 and 1031/1032 and 1029/1030 represent complementary analogue CMOS switches. They allow full supply voltage output swing amplitude. By using such switches in connection with an inverter, e.g. inverter 1013 and transistors 1029, 1030, 1033 and 1034, advantageously the earliest output slope of these transistors is taken for generating the output signal P. This feature, too, helps to speed up the inventive multiplier. The first and second version of the inventive 1-bit full ad¬ der in Fig. 11 and the third version in Fig. 12 also use com¬ plementary analogue CMOS switches. These circuits consist of an adding stage in the lower half and a carry stage in the upper half. All NMOS transistors have their bulk connected to the most negative potential (VSS, ground) and all PMOS transistors have their bulk connected to the most positive potential (VDD, 5V). Transistors 1111, 1112, 1113, 1114, 1115, 1122, 1124, 1126, 1128, 1129, 1131, 1133 and 1135 are of PMOS type. Transistors 1116, 1117, 1118, 1119, 1120, 1121, 1123, ' 1125, 1127, 1130, 1132, 1134 and 1136 are of NMOS type. Tran¬ sistor pairs 1121/1122, 1123/1124, 1125/1126, 1127/1128, 1129/1130, 1131/1132, 1133/1134 and 1135/1136 represent com¬ plementary analogue CMOS switches which have source PMOS/drain NMOS connected together and source NMOS/drain PMOS connected together. Input 'a' is connected to the input of inverter 1102, to the drain of transistors 1121 and 1130, to the gate of transis¬ tors 1111, 1114, 1118 and 1120. Input 'b' is connected to the input of inverter 1103 and to the gate of transistors 1112, 1115, 1117, 1119, 1121, 1134, 1126 and 1129. Carry in¬ put CI is connected to the input of inverter 1104 and to the gate of transistors 1113, 1116, 1127, 1124, 1135 and 1132. Carry output C is connected in the first version adder to the output of inverter 1101. In the second version adder the inverted carry output C is connected to the drain of transis¬ tors 1116, 1119, 1113 and 1115. Sum output S is connected to the output of inverter 1105 and to the source of transistors 1127 and 1136. In the carry stage, the source of transistors 1111, 1112 and 1114 is connected to supply voltage 5V and the source of transistors 1117, 1118 and 1120 to ground. The drain of transistors 1112 and 1111 is connected to the source of transistor 1113. The drain of transistor 1114 is connected to the source of transistor 1115. The drain of transistors 1117 and 1118 is connected to the source of transistor 1116. The drain of transistor 1120 is ■ connected to the source of transistor 1119. In the first version adder the drain of transistors 1116, 1119, 1113 and 1115 is connected to the input of inverter 1101. In the adding stage, the output of inverter 1102 is connect¬ ed to the drain of transistors 1125 and 1134 and the input of inverter 1105 is connected to the source of transistors 1123 and 1132. The output of inverter 1103 is connected to the gate of tran¬ sistors 1122, 1125, 1130 and 1133 and the output of inverter 1104 to the gate of transistors 1123, 1128, 1131 and 1136. The source of transistors 1121, 1124, 1125 and 1128 is con¬ nected together and the source of transistors 1134, 1135, 1130 and 1131 is connected together. By using the switches constructed with the complementary transistor pairs 1123/1124 and 1135/1136 in connection with inverter 1105, advantageously the earliest output slope of these both transistor pairs is taken for generating the out¬ put sum signal S. Within the third version adder in Fig. 12 instead of carry input signal CI the inverted carry input signal C_I_ is con¬ nected to the input of inverter 1104, to the gate of transis- tors 1123, 1136, 1128 and 1131. The output of inverter 1104 is connected to the gate of transistors 1113, 1116, 1127, 1124, 1135 and 1132. The inverted carry output C is connect¬ ed as in the second version adder. In the BICMOS buffer in Fig. 13 the input signal 'in' is fed to the gate of PMOS transistor 1301 and of NMOS transistors 1302 and 1303. The source and the bulk of transistor 1301, the gate of NMOS transistor 1305 and the collector of NPN transistor 1306 are connected to supply voltage 5V. The drain of transistor 1301 is connected to the drain of tran¬ sistors 1302 and 1305, to the gate of NMOS transistor 1304 and to the base of transistor 1306. Bulk and source of tran¬ sistors 1302 and 1304, bulk of transistor 1303 and emitter of NPN transistor 1307 are connected to ground. The source of transistor 1303 is connected to the drain of transistor 1304 and to the base of transistor 1307. The output signal Out' is connected to the drain of transistor 1303, to the source of transistor 1305, to the emitter of transistor 1306 and to the collector of transistor 1307. Such BICMOS buffers are located at the outputs of the static latches after the Booth encoder circuits 403 - 408 and at the outputs of the pipeline in row 419. Such buffers can al¬ so be used at the multiplier outputs. The inverters in Fig. 10, Fig. 11 and Fig. 12 can also be such BICMOS buffers or standard CMOS buffers. The inventive multiplier can be used for video applications, e.g. o'-correction, linearization, weighting.

Claims: Claims 1-bit adder comprising a carry stage and an adding stage, characterized in that said adding stage of said adder is constructed in a fast CMOS complementary pass transistor logic with complementary analogue CMOS switches which consist of a PMOS (e.g. 1122) and a NMOS (e.g. 1121) transistor, whereby the source of said PMOS transistor is connected with the drain of said NMOS transistor and the drain of said PMOS transistor is con¬ nected with the source of said NMOS transistor and the gate of said PMOS transistor receives inverted signals with respect to the gate of said NMOS transistor, and whereby two partial output sum signals are generated by two of said switches which are connected with the input and with the output, respectively, of an inverter 11105 and the output sum signal (S) of said adder is avail¬ able at the output of said inverter (1105). > Adder according to claim 1, characterized in the follow¬ ing features: - all NMOS transistors have their bulk connected to the most negative potential (ground) and all PMOS transis¬ tors have their bulk connected to the most positive po¬ tential (5V); - transistors Tllll, T1112, T1113, T1114, T1115, T1122, T1124, T1126, T1128, T1129, T1131, T1133 and T1135 are of PMOS type and transistors T1116, T1117, T1118, T1119, T1120, T1121, T1123, T1125, T1127, T1130, T1132, T1134 and T1136 are of NMOS type; - transistor pairs T1121/T1122, T1123/T1124, T1125/T1126, T1127/T1128, T1129/T1130, T1131/T1132, T1133/T1134 and T1135/T1136 represent said switches; - a first summing input (a) is connected to the input of an inverter 11102, to the drain of transistors T1121 and T1130 and to the gate of transistors Tllll, T1114, T1118 and T1120; - a second summing input (b) is connected to the input of an inverter 11103 and to the gate of transistors T1112, T1115, T1117, T1119, T1121, T1134, T1126 and T1129; - a carry input (CI) is connected to the input of an inverter 11104 and to the gate of transistors T1113, T1116, T1127,- T1124, T1135 and T1132; - a carry output (C) is connected in a first embodiment of said adder to the output of an inverter I1101, where¬ as in a second embodiment of said adder an inverted car¬ ry output £C) is connected to the drain of transistors T1116, T1119, T1113 and T1115; - a sum output (S) is connected to the output of said inverter 11105 and to the source of transistors T1127 and T1136; - the source of transistors Tllll, T1112 and T1114 is connected to a supply voltage (5V) and the source of transistors T1117, T1118 and T1120 to ground; - the drain of transistors T1112 and Tllll is connected to the source of transistor T1113 and the drain of tran¬ sistor T1114 is connected to the source of transistor T1115 and the drain of transistors T1117 and T1118 is connected to the source of transistor T1116 and the drain of transistor T1120 is connected to the source of transistor T1119; - in said first embodiment of said adder the drain of transistors T1116, T1119, T1113 and T1115 is connected to the input of inverter I1101; - the output of inverter 11102 is connected to the drain of transistors T1125 and T1134 and the input of inverter T1105 is connected to the source of transis¬ tors T1123 and T1132; - the output of inverter 11103 is connected to the gate of transistors T1122, T1125, T1130 and T1133 and the output of inverter 11104 to the gate of transistors T1123, T1128, T1131 and T1136; - the source of transistors T1121, T1124, T1125 and • T1128 is connected together and the source of transis¬ tors T1134, T1135, T1130 and T1131 is connected togeth¬ er. 3. Digital multiplier with Booth encoding of the multipli¬ cator (NO, ... ,N11) and diagonal propagation of the car¬ ry from one partial product to the other, characterized in that said multiplier comprises: - a first row (411) of function blocks (F) which calcu¬ late partial products from the multiplicand (401) and from a substring of the multiplicator (NO, ... ,N11) which has been coded in a Booth encoder circuit (403) ; - further rows (412, 414, 415, 417, 418) of basic build¬ ing blocks (FA) which contain one of said function blocks (F) and one of said 1-bit adder (+) and which calculate further partial products from the partial products from the previous row and from further substrings of the multiplicator (NO, ... ,N11) , which have been coded in further Booth encoder circuits (404, ... ,408) , whereby the respective two or more low¬ est multiplication result bits (SO, ... ,S9) from each row are calculated using two of said 1-bit adders (+) and whereby groups of such rows (411,412; 414,415; 417,418) are connected by a pipeline row (413, 416, 419); - a last row (410) with a carry select adder circuit which is constructed from one 4- and/or 3-bit adder cir¬ cuit (635) and/or pairs of said 4- and/or 3-bit adder circuits (611,616; 621,626; 631,636), which contain said 1-bit adders (+). 4. Multiplier according to claim 3, characterized in that the summing outputs of said 4- and/or 5-bit adder cir¬ cuits (611,616; 621,626; 631,636) are connected to mul¬ tiplexers (612, ... ,615; 622,...,625; 632,...,634) which select said summing outputs according to the valid log- ic level for the carry input (CI) of said 4- and/or 3- bit adder circuits. Multiplier according to claim 3 or 4, characterized in that summing outputs (S) of said 1-bit adders (+, 52, 53) for two or more lowest multiplication result bits (S0,...S9) from each row are connected to multiplexers (MUX, 54) which select said summing outputs (S) accord¬ ing to the valid logic level for the carry input (CI) of said 1-bit adders (+, 52, 53). Multiplier according to any of claims 3 to 5, characte¬ rized in the said function block (F) has the following features: - transistors T1021, T1024, T1025, T1026, T1030 and T1032 are of PMOS type and transistors T1022, T1023, T1027, T1028, T1029, T1031, T1033 and T1034 are of NMOS type; - NMOS transistors T1022, T1023, T1027 and T1028 have their bulk connected to the most negative potential (ground) and PMOS transistors T1021, T1024, T1025 and T1026 have their bulk connected to the most positive potential (5V); - transistor pairs T1031/T1032 and T1029/T1030 repre¬ sent said complementary analogue CMOS switches; - a multiplicand input signal (Mi) is connected to the drain of transistors T1022 and T1023 and to the source of transistors T1021 and T1024; - a next-block output signal (Sq) is connected to the drain of transistor T1021 and to the source of transis¬ tor T1023; - a previous-block input signal (Mq) is connected to the drain of transistor T1024, to the source of transis¬ tor T1022, and to the gate of transistors T1025 and T1027; - a shift left input signal (D) generated in said Booth encoder circuits (403, ... ,408) is connected to the in- put of an inverter 11011 and to the gate of transistors T1023 and T1024 and the output of said inverter 11011 is connected to the gate of transistors T1021 and T1022; - an inverted zeroing input signal (N) generated in said Booth encoder circuits (403, ... ,408) is connected to the gate of transistors T1026 and T1028 and the source of transistor T1027 is connected to the drain of transistor T1028 and the source of transistor T1028 is connected to ground and the source of transistors T1025 and T1026 is connected to supply voltage (5V) and the drain of transistors T1025 and T1026 is connected to the drain of transistors T1027, T1031 and T1034 and to the input of an inverter 11014; - an inverted complementation input signal (C' ) generat¬ ed in said Booth encoder circuits (403, ... ,408) is con¬ nected to the gate of transistors T1030, T1031 and T1033, and to the input of an inverter 11012 and the output of inverter 11012 is connected to the gate of transistors T1029, T1032 and T1034; - the source of transistor T1031 is connected to the source of transistor T1029 and to the input of an in¬ verter 11013 and the output of inverter 1014 is connect¬ ed to the " drain of transistors T1029 and T1033 and the source of transistors T1033 and T103 is connected to the output of inverter 11013 and represents the output signal (P).

Inventors: CHAN YAN FONG JOSEPH, CHAN YAN FONG, JOSEPH
Applicants: THOMSON CONSUMER ELECTRONICS, THOMSON CONSUMER ELECTRONICS S.A.
Application year: 1992
Main classification: G06F7
IPC codes: G06F7, H03K19