WO2002071203A2 - 7 to 3 bit carry-save adder - Google Patents

7 to 3 bit carry-save adder Download PDF

Info

Publication number
WO2002071203A2
WO2002071203A2 PCT/DE2002/000656 DE0200656W WO02071203A2 WO 2002071203 A2 WO2002071203 A2 WO 2002071203A2 DE 0200656 W DE0200656 W DE 0200656W WO 02071203 A2 WO02071203 A2 WO 02071203A2
Authority
WO
WIPO (PCT)
Prior art keywords
adder
carry
add
bit
bits
Prior art date
Application number
PCT/DE2002/000656
Other languages
German (de)
French (fr)
Other versions
WO2002071203A3 (en
Inventor
Joel Hatsch
Siegmar KÖPPE
Eva Lackerschmid
Winfried Kamp
Ronald KÜNEMUND
Heinz SÖLDNER
Original Assignee
Infineon Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE10130484A external-priority patent/DE10130484B4/en
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Publication of WO2002071203A2 publication Critical patent/WO2002071203A2/en
Publication of WO2002071203A3 publication Critical patent/WO2002071203A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/5016Half or full adders, i.e. basic adder cells for one denomination forming at least one of the output signals directly from the minterms of the input signals, i.e. with a minimum number of gate levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge of output to prevent leakage

Definitions

  • the 5-to-3 adders each have four inputs for bits to be summed and one input for a carry bit as well as two outputs for two sum bits and one output for a carry bit.
  • the object of the invention is to create a further carry-save bit adder which can be used in a variety of ways and at low cost. In particular, short signal propagation times and low power consumption are sought.
  • the invention further aims to provide a carry-maintaining adder for summing a plurality of bit sets, each containing bits of the same value, which uses as few steps as possible for the summation of a bit set and a low wiring outlay for these. Implementation required.
  • the fact that at the output of the 7-to-3-bit CS adder according to the invention two outputs of different values are output means that the full display possibility of the three output signals is used for the simultaneous addition of seven input bits. This is advantageous compared to previous solutions such as e.g. the 5-to-3 CS adder, which only uses part of the range of values that is possible in principle with three outputs.
  • the simultaneous generation of two transfers of different values means less circuitry and less internal wiring than with multi-stage solutions with conventional 3-to-2 CS adders.
  • a particularly preferred embodiment of the 7-to-3 CS adder according to the invention is characterized in that the 7-to-3 CS adder is constructed from three adder sub-blocks arranged parallel to one another.
  • a first adder sub-block generates the sum bit of valency w
  • a second Adder subblock generates the carry bit of valence 2w
  • the third adder subblock generates the carry bit of valency 4w.
  • each adder subblock is constructed from logic gates.
  • logic gate here are the basic elements of digital circuits, i.e. AND gates (AND gates), OR gates (OR gates), XOR gates (exclusive OR gates), NAND gates (inverted AND gates), NOR gates (inverted OR gates) and inverters ,
  • each adder sub-block is preferably implemented from a maximum of three consecutive logic gate stages, so that all output bits are available at the same time after three gate run times (inverters are not taken into account when counting the logic gate stages).
  • a second preferred embodiment of the invention is characterized in that one and in particular each adder subblock consists of a multi-transistor circuit which cannot be resolved into a plurality of logic gates (as defined above).
  • each adder sub-block forms a single, independent "complex gate” without an internal logic gate structure, which is also independent of the other adder sub-blocks. This enables particularly fast, space-saving and energy-saving circuits to be implemented, since the number of
  • Transistors of such circuits can be kept smaller than circuits designed at the logic gate level.
  • a particularly preferred embodiment of such a transmission-maintaining adder comprises a charging circuit which is connected to the respective multi-transistor circuit in this way is that it is discharged as a function of the bits present at the inputs of the adder.
  • the 7-to-3 CS adder according to the invention can be used in a variety of ways in larger adder structures.
  • transmission-maintaining adders are required which process a plurality of bit sets, the bits contained in a bit set having the same value and bits of different bit sets having different values.
  • a transmission-maintaining adder of this type according to the invention is characterized in that at least one bit set adder has at least one 7-to-3 carry-save adder with seven inputs for the input of bits to be summed, each with the value w and one output for one Sum bit of the valency w and two outputs for two carry bits of the valences 2w and 4w.
  • a plurality of stages of a plurality of adjacent bit set adders are constructed from an array of 7-to-3 CS adders. This results in less wiring effort compared to a higher cascading arrangement e.g. consisting of 3-to-2 CS adders.
  • Fig. 1 shows a WT adder, which from 3-to-2 Adders is constructed according to the prior art
  • 2a shows a schematic illustration of a 7-to-3 CS adder
  • FIG. 2 shows a schematic representation of a cascading of 3-to-2 CS adders for realizing a 7-to-3 CS adder
  • Fig. 3 is a truth table for a 7-to-3 adder
  • Fig. 4 is a block diagram of a 7-to-3 CS according to the invention
  • Fig. 5 is a block diagram of a first adder sub-block
  • FIG. 6 shows a block diagram of a second adder subblock ADD-Cl from FIG. 4 according to the first exemplary embodiment of the invention
  • FIG. 7 shows a block diagram of a third adder sub-block ADD-C2 from FIG. 4 according to the first exemplary embodiment of the invention
  • FIG. 8 shows a block diagram of a first adder sub-block ADD-S from FIG. 4 according to a second exemplary embodiment of the invention
  • FIG. 9 shows a block diagram of a second adder sub-block ADD-Cl from FIG. 4 according to the second exemplary embodiment of the invention
  • 10 shows a block diagram of a third adder sub-block ADD-C2 from FIG. 4 in accordance with the second exemplary embodiment of the invention
  • FIG. 11 shows a section of a transmission-maintaining adder according to the invention, which is constructed exclusively from 7 to 3 CS adders;
  • FIG. 14 shows a step diagram to explain the step structure of a bit set adder according to the invention for adding up 33 bits of the same value with 7- to 3 CS adders.
  • the WT adder 1 comprises a total of 11 3 -to-2 CS full adders 3.
  • Each full adder 3 has three inputs A, B, Ci and two outputs S, Co.
  • Inputs A and B are intended to receive two bits to be added, input Ci (carry in) is intended to receive a carry bit.
  • the three inputs A, B, Ci are equivalent.
  • the output S represents the sum output of the 3-to-2 CS full adder 3.
  • the output Co for the carry out takes on the value 1 only if a bit of the value 1 is present at at least two of the inputs. In contrast to inputs A, B, Ci, outputs S and Co are not equivalent, ie not interchangeable.
  • the five stages 1.1, 1.2, 1.3, 1.4, 1.5 of the WT adder 1 comprise 4, 3, 2, 1 and 1 3-to-2 CS full adder 3.
  • the 13 inputs of the WT adder are through the 12 inputs 2 the first stage 1.1 and an input 2 of the second stage 1.2 realized.
  • the outputs S of the first stage 1.1 are each input to the 3-to-2 CS full adders 3 of the second stage 1.2
  • the 4 outputs Co which provide a carry bit 4
  • the 3-to-2 CS full adders 3 of the second stage 1.2 each receive one or two carry bits 5, which are output by a first stage of a (also not shown) WT adder for a bit set with the next lower value become.
  • the output of the WT adder 1 is represented by a sum bit 6 and a partial carry bit 7, which comes from the output-side stage of the WT adder 1 of the next lower value.
  • FIG. 2a shows a schematic representation of a 7-to-3 CS adder.
  • the adder has the inputs iO, il, i2, i3, i4, i5, i6 and the outputs s, cl, c2.
  • the addition of seven bits covers a range of values between zero and seven.
  • the three outputs of the 7-to-3 CS adder represent the sum of the bits applied to the inputs in dual-coded form.
  • the output s for the sum bit has the same value as the set of input bits iO to i6.
  • the output cl is a carry output which has a factor 2 higher than the output s for the sum bit.
  • the output c2 is also an output for a carry bit, however, with a value that is increased by a factor of 2 compared to the output cl.
  • the outputs s, cl and c2 have the values 2 °, 2 1 and 2 2 with respect to the value of the bit set at the input of the 7-to-3 adder.
  • FIG. 2 shows a 7-to-3 CS adder according to the invention, which is constructed from cascaded, conventional 3-to-2 CS full adders.
  • the 7-to-3 CS adder has three stages 1.1, 1.2 and 1.3, which are formed from two, one and a 3-to-2 CS full adder.
  • the same or comparable parts and functional groups as in Fig. 1 are denoted by the same reference numerals.
  • the 7-to-3 CS adder is supplied with 7 bits of the same value at inputs iO, il, ..., i6.
  • the first six inputs iO to i5 are connected to the 2 x 3 inputs of the two 3-to-2 CS adders 3 of the first stage 1.1.
  • the seventh input i6 is connected to an input of the 3-to-2 CS adder 3 of the second stage 1.2.
  • the remaining two inputs A and Ci of this 3-to-2 CS adder 3 are each fed by the sum bit outputs of the two 3-to-2 CS adders 3 of the first stage 1.1.
  • the sum bit output S of the 3-to-2 CS adder 3 of the second stage 1.2 forms the sum bit output of the 7-to-3 CS adder.
  • the three carry bit outputs of the two 3-to-2 CS adders 3 of the first stage 1.1 and of the 3-to-2 CS adders 3 of the second stage 1.2 become the three inputs of the 3-to-2 CS adder 3 of the third stage 1.3 forwarded.
  • Stage 1.3 supplies the bit for the first carry output cl and the carry bit output Co of this 3-to-2 CS adder 3 provides the carry bit c2 of the next higher value of the 7-to-3 CS adder under consideration.
  • Fig. 3 shows the truth table of a 7-to-3 CS adder. It is clear that the 7-to-3 CS adder has the property that the value range of the three output bits is fully exhausted. This property, which results independently of the concrete implementation of the 7-to-3 CS adder solely from its truth table, is a reason why the use of such a 7-to-3 CS adder in a transmission-maintaining adder results in the addition of several binary numbers the circuit effort compared to solutions consisting of 3-to-2 CS adders can be significantly reduced.
  • the 7-to-3 CS adder comprises three adder sub-blocks, which are designated in FIG. 4 with the reference symbols ADD-S, ADD-Cl and ADD-C2.
  • Each adder sub-block ADD-S, ADD-Cl, ADD-C2 has seven inputs 10, II, 12, 13, 14, 15 and 16, each of which is connected to the named seven inputs iO to i6 of the 7 to 3 CS adder are.
  • the adder subblock ADD-S outputs a bit of the value 2 ° at its output S.
  • the corresponding outputs C1 and C2 of the second and third adder subblocks ADD-Cl and ADD-C2 each output a bit with the significance 2 1 (output Cl) and a bit with the significance 2 2 (output C2).
  • the outputs S, Cl, C2 of the adder sub-blocks ADD-S, ADD-Cl and ADD-C2 are the outputs s, cl, c2 of the 7-to-3 CS adder under consideration.
  • Each adder subblock ADD-S, ADD-Cl and ADD-C2 is Example of management constructed from individual logic gates, which are arranged in several gate stages arranged one behind the other. According to the language used here, a gate stage contains exactly one logic gate, such as XOR, NAND, etc., or a parallel arrangement of such logic gates. Inverters do not form gate stages, ie their presence does not affect the number of gate stages.
  • FIG. 5 illustrates the gate structure of the adder sub-block ADD-S.
  • the inputs 10, II, ..., 16 are connected in pairs to the two inputs of a total of three XOR gates 30 of the first stage 10.1 of the adder sub-block.
  • the second stage 10.2 (at gate level) of the adder sub-block ADD-S is implemented by two XOR gates 30.
  • the four inputs of the second stage 10.2 are represented by the three outputs of the first stage 10.1 and the input 16.
  • a third and last stage 10.3 of the adder sub-block ADD-S is implemented by a single XOR gate 30, which is fed by the two outputs of the two XOR gates 30 of the second stage 10.2.
  • the output of the XOR gate 30 of the third stage 10.3 is the sum bit output of the 7-to-3 CS adder.
  • the detailed structure of the adder sub-block ADD-Cl is shown in FIG. 6. It also consists of only three stages 10.1, 10.2, and 10.3 (as already mentioned, the inverters represented by triangle symbols in the drawing are not counted as stages).
  • the first stage 10.1 is formed from 42 NAND gates 30 'with six inputs each
  • the second stage 10.2 comprises six NAND gates 30''with seven inputs each
  • the third stage 10.3 is formed by a NAND gate 30' with six inputs educated.
  • the output of the NAND gate 30 'of the third stage 10.3 realizes the output C1 of the significance 2 1 of the 7-to-3 CS adder from FIG. 4.
  • NIO to NI6 denote the inverted inputs 10 to 16. This is shown symbolically in the lower left part of FIG. 6.
  • FIG. 7 shows the structure of the adder sub-block ADD-C2 from FIG. 4 according to the first exemplary embodiment at the gate level. Again there are three levels 10.1, 10.2 and 10.3.
  • the first stage 10.1 comprises 35 NAND gates 30 '' 'with four inputs each
  • the second stage 10.2 comprises five NAND gates 30' 'with seven inputs each
  • the third stage 10.3 includes a NAND gate 30' '' ' five entrances.
  • the interconnection of the individual stages 10.1, 10.2, 10.3 and the assignment of the four inputs of the NAND gates 30 '' 'of the first stage 10.1 can be seen in FIG. 7 with the aid of the reference numerals.
  • FIGS. 8 to 10 show the structure of the adder sub-blocks ADD-S, ADD-Cl and ADD-C2 shown in FIG. 4 according to a second exemplary embodiment according to the invention.
  • This exemplary embodiment of the invention differs from the previously described exemplary embodiment essentially in that the individual adder subblocks ADD-S, ADD-Cl and ADD-C2 are each constructed from a multi-transistor circuit which cannot be broken down into individual logic gates. The logic functions of these multi-transistor circuits are determined by the circuit structure at the transistor level.
  • the multi-transistor circuit of the adder sub-block ADD-S is with MS
  • the multi-transistor circuit of the adder sub-block ADD-Cl is called MCI
  • the multi-transistor circuit of the adder sub-block ADD-C2 is called MC2.
  • All multi-transistor circuits MS, MCI and MC2 have a node Kl, which is connected to a reference voltage vss. They also have in common that they are connected to a driver circuit TR via two nodes K2 and K3. An operating voltage vdd is supplied to the driver circuit TR.
  • multi-transistor circuits MS, MCI, MC2 have, in addition to their respective bit outputs S or Cl or C2, also inverted bit outputs NS or NC1 or NC2 (not shown in FIG. 4).
  • the node K2 is connected to the respective non-inverted bit output S, Cl, C2 and the node K3 is connected to the respective inverted bit output NS, NC1, NC2.
  • the multi-transistor circuit comprises MS as a whole
  • N-channel transistors which are controlled via their base either with inputs 10, ..., 16 or the corresponding inverted inputs NI0, ..., NI6.
  • Two transistors Nl_l, Nl_2 assigned to the inputs I0 / NI0 are connected to the reference voltage vss with their source connections and feed the rest of the multi-transistor circuit MS with their drain connections.
  • this has four N-channel transistors N2_l, ..., N2_4 or N3_l, ..., N3_4 or N4_l, ..., N4_4 or .
  • N6_l, ..., N6_4 resp. N7_l, ..., N7_4 on.
  • node K2 is connected to the drain connections of transistors N7_2 and N7_4 and node K3 is connected to the drain connections of transistors N7_1 and N7_3.
  • the transistors Ni_l and Ni_4 are each non-inverted and the transistors Ni_2 and Ni_3 are each inverted by the relevant input.
  • the multi-transistor circuit MCI has two N-channel transistors Nl_l and Nl_2 assigned to the inputs I0 / NI0, four N-channel transistors N2_1,..., N2_4, six assigned to the inputs I1 / NI1, six to the inputs I2 / NI2 assigned N-channel transistors N3_l, ..., N3_6, eight N-channel transistors N4_l, ..., N4_8, eight assigned to inputs I3 / NI3, N4_8, eight N-channel transistors N5_l, assigned to inputs I4 / NI4 ..., N5_8, eight N-channel transistors N6_1, ..., N6_8 assigned to the inputs I5 / NI5 and four N-channel transistors N7_l, ..., N7_4 assigned to the inputs I6 / NI6.
  • the transistors Ni_j with an even index j are driven inverted, while transistors with an odd index j are driven non-in
  • the source connections of the two transistors Nl_l and Nl_2 are connected to Kl.
  • the source connections of the transistors N2_l and N2_2 are connected to the drain connection of the transistor Nl_l, and the source connections of the transistors N2_3 and N2_4 are connected to the drain connection of the transistor Nl_2.
  • the source connections of the transistor pairs N3_l, N3_2 or N3_3, N3_4 or N3_5, N3_6 are connected to the drain connections of the transistors N2_l or N2_2 and N2_3 or N2 4.
  • the source connections of the transistor pairs N4__l, N4_2 or N4 3, N4 4 or N4 5, N4 6 or N4 7, N4 8 are with the Drain connections of the transistors N3_l or N3_2 and N3_3 or N3_4 and N3_5 or N3_6 connected.
  • the source connections of the transistor pairs N5_l, N5_2 or N5_3, N5_4 or N5_5, N5_6 or N5_7, N5_8 are connected to the drain connections of the transistors N4_l and N4_8 or N4_2 and N4_3 or N4_4 and N4_5 or N4_6 and N4_7 connected.
  • the source connections of the transistor pairs N6_l, N6_2 or N6_3, N6_4 or N6_5, N6_6 or N6_7, N6_8 are with the drain connections of the transistors N5_l and N5_8 or N5_2 and N5_3 or N5_4 and N5_5 or N5_6 and N5_7 connected.
  • N7_l and N7_2 are connected to the drain connections of transistors N6_2 and N6_3 and the source connections of transistors N7_3 and N7_4 are connected to the drain connections of transistors N6_6 and N6_7.
  • Node K2 is connected to the drain connections of transistors N7_2, N6_4 and N7_3, and node K3 is connected to the drain connections of transistors N6_l, N7_l, N7_4 and N6_8.
  • N1__l, Nl_2 are assigned to the inputs I0 / NI0 in the multi-transistor circuit MC2
  • four N-channel transistors N2_l, ..., N2_4 are assigned to the inputs Il / NIl
  • six N-channels -Transistors N3_l, ..., N3_6 are assigned to inputs I2 / NI2
  • eight N-channel transistors N4_l, ..., N4_8 are assigned to inputs I3 / NI3, six N-channel transistors N5_l, ..
  • N5_6 are assigned to the inputs I4 / NI4
  • four N-channel transistors N6_l, ..., N6_4 are assigned to the inputs I5 / NI5
  • two N-channel transistors N7_l, N7_2 are assigned to the inputs I6 / NI6.
  • the multi-transistor circuit MC2 is identical to the multi-transistor circuit MCI.
  • N5_3, N5_4 and N5_5, N5_6 are with the drain connections of the transistors N4 2 and N4 3 or N4 4 and N4 5 or N4 6 and
  • each column SO, Sl, ..., S4 thus contains a bit set consisting of 15 bits of the same value.
  • each bit set adder comprises three 7-to-3 CS adders.
  • the 7-to-3 CS adders provided for the addition of the bit set of the SO column are designated B0.1, B0.2, B0.3, and in analog notation the adder blocks assigned to the columns S1 to S4 are identified by Bl .l, B1.2, Bl .3; B2.1, B2.2, B2.3; B3.1, B3.2, B .3 and B4.1, B4.2, B4.3.
  • n 0, 1, ..., 4, 7 bits are fed to the inputs iO, il, ..., i6 of the first 7-to-3 CS adder Bn.l, further four bits are fed to four adder inputs (referred to here as i7, i8, i9, ilO) of the 7 to 3 CS adder Bn.2 of the second stage, and the last four bits of a bit set are each assigned four inputs (here with the reference numerals ill, il2, il3, il4) of the 7-to-3 CS adder Bn.3 fed to the third stage.
  • adder inputs referred to here as i7, i8, i9, ilO
  • 7-to-3 CS adders of adjacent stages are connected diagonally.
  • the carry output cl of the 7-to-3 CS adder B0.1 (which belongs to the first stage) is connected to an input of the 7-to-3 CS adder B1.2 arranged in the second adder stage with the next higher value.
  • the carry output c2 of the 7-to-3 CS adder B0.1 is connected to an input of the 7-to-3 adder block B2.2.
  • the 7-to-3 CS adder B2.2 also belongs to the second adder stage, but is assigned to the column S2, ie it adds bits of a higher value by a factor of 2 than the 7-to-3 CS adder B1.2. > ot to F 1 c ⁇ o c ⁇ o c ⁇ o c ⁇ tsi ⁇ d fi 0
  • Fig. 12 shows a schematic representation of a 64x64 bit multiplier.
  • the multiplier is based on the addition of the partial products, which result from the multiplication of a multiplier Ml by a particular position of a multiplier M2.
  • the partial products P1, P2, ..., P32 are each shown in FIG. 12 offset by two places from one another.
  • the multiplier M2 is after the
  • the Booth algorithm coded in which the bits of the multiplier M2 are combined in pairs.
  • the advantage of the Booth algorithm is that the coding of the multiplier M2 halves the number of adder stages required to add the partial sums.
  • the maximum number of bits to be added is 33 bits.
  • the 33rd bit is a correction bit that must be added when subtracting a binary number in two's complement (the two's complement of a dual number is known to result from negating all digits and adding correction bit 1).
  • FIG. 13 schematically illustrates the step structure of a conventional WT adder with 3-to-2 CS adders for adding 33 bits of the same value.
  • the input bits of each stage are shown as a box column. Each box corresponds to an input bit.
  • Input bits shown with hatching are not processed in the corresponding stage, but are passed directly to the next stage. Since a WT adder receives carry bits in each stage from an adjacent (not shown) WT adder of the next lower value and similarly outputs carry bits for a (not shown) WT adder of next higher value, - see FIG. 1 - 13 is not to be understood as a circuit diagram, but only as a step balance representation. 13 makes it clear that a total of nine stages are required to add the 33 bits.
  • the first stage has 11 3-to-2 CS full adders and the subsequent 7 stages contain 7, 5, 3, 2, 1, 1, 1 3-to-2 CS full adders.
  • the last stage contains a 3-to-2 full adder which is designed as a 2-bit carry-ripple (CR) adder, that is to say a carry bit from a 3-to-2 CR adder of the last stage of the adjacent bit set -Addierers (not shown) receives.
  • CR carry-ripple
  • the 3-to-2 CR adder used in the last stage of the bit set adder (adder tree) differs from the 3-to-2 CS adders of the WT adder in that one of its three inputs is specifically for the CR transmit Bit provided and is optimized in terms of time.
  • the reason for this is that the CR carry bit has to be processed sequentially through all adders of the output stage of the adder tree (i.e. through the CR 3 to 2 adders) and therefore limits the computing speed of the entire adder tree.
  • the logical functionality of CS and CR adders is the same.
  • FIG. 14 shows a step diagram corresponding to FIG. 13 of a bit set adder according to the invention for adding 33 bits of the same value.
  • the bit set adder according to the invention has only 5 stages.
  • the first three stages include 5, 2 and 1 7-to-3 CS adders.
  • the 4th stage consists of a 3-to-2 CS adder.
  • the last (5th) stage is again constructed as a 3-to-2 CR adder.

Abstract

A carry-save adder for adding up bits having the same significance, comprising seven inputs (i0, i1, ..., i6) receiving seven bits having respectively the same significance w for the addition thereof. w. The adder has an output (s) for a sum bit of significance w, in addition to two outputs (c1, c2) for two transfer bits of significance 2w and 4w.

Description

Figure imgf000003_0001
r. H < co N 0 o. Φ s3 s; SU Φ *ι] = CQ o. 0J 3 o. O Φ < 0 CQ CQ Cd CQ rt fi ö -J Cd
Figure imgf000003_0001
r. H <co N 0 o. Φ s3 s; SU Φ * ι] = CQ o. 0 J 3 o. O Φ <0 CQ CQ Cd CQ rt fi ö -J Cd
Φ 0 0 F- d Φ Φ F- SU Φ d H- d= tr SU= H- SU= 0 φ SU F- O Φ Φ Ω F- d f Φ F- I φ ii H Ω I m fi 0 H n Hl 0 fi Φ 0 Φ d 0 0 fi 0 0 rt 0 0J rt 3 F- 0 Φ N CQΦ 0 0 F- d Φ Φ F- SU Φ d H- d = tr SU = H- SU = 0 φ SU F- O Φ Φ Ω F- df Φ F- I φ ii H Ω I m fi 0 H n Hl 0 fi Φ 0 Φ d 0 0 fi 0 0 rt 0 0 J rt 3 F- 0 Φ N CQ
O- r-1 * _o H rt £ fi CQ fi Hl 0 fi F- 1 3 Hi d Ω tr Φ SU ≤ N 3 SU F- Φ o. rt Φ Φ F- & ^ ω Cd F- Φ F- Hl Φ M 1 tf φ S o o. O >-_ d φ Ω CQ H- o. H- fi li CQ F- d 1 F- F- m d Oi su Φ rt F- fi fi α_ O SU CQ 1 * Φ - CQ o. Φ Su d -- CD rt H CQ rt CT rt 0 rt fi 0 Hl ΦO- r- 1 * _o H rt £ fi CQ fi Hl 0 fi F- 1 3 Hi d Ω tr Φ SU ≤ N 3 SU F- Φ o. Rt Φ Φ F- & ^ ω Cd F- Φ F- Hl Φ M 1 tf φ S o o. O> -_ d φ Ω CQ H- o. H- fi li CQ F- d 1 F- F- md Oi su Φ rt F- fi fi α_ O SU CQ 1 * Φ - CQ o. Φ Su d - CD rt H CQ rt CT rt 0 rt fi 0 Hl Φ
Ω F- tr 1 u H 1 Φ rt H- CQ 0 et t Ω SU 1 - o. F- N Φ o. φ F- F-Ω F- tr 1 u H 1 Φ rt H- CQ 0 et t Ω SU 1 - o. F- N Φ o. Φ F- F-
0* Φ φ < O α CQ ι-3 F- • φ Q o. ^ Φ F- 0" < o. CQ Ω 0 F- fi 0 F- Ö* 0 * Φ φ <O α CQ ι-3 F- • φ Q o. ^ Φ F- 0 "<o. CQ Ω 0 F- fi 0 F- Ö *
H 03 ι-i F- o o. Oi rt fi rt ü o. 1 Φ 0 CQ Φ Φ SU= S ≤ tf Φ φ - Φ F1 F- F- & rt dH 03 ι-i F- o o. Oi rt fi rt ü o. 1 Φ 0 CQ Φ Φ SU = S ≤ tf Φ φ - Φ F 1 F- F- & rt d
F • d Φ cj= Φ Oi ω N H Ω F1 fi rt Φ 0 a> 0 Φ 2 d 0F • d Φ cj = Φ Oi ω NH Ω F 1 fi rt Φ 0 a> 0 Φ 2 d 0
Φ 1 ü S I-1 φ Φ Hl Φ ,—. tr >i H- w- $, Ω <! 0J 0 . — . N h-> tr fi rt F- Φ 0 π Q tr »0 d SU fi fi F- 1 o. (- rt rt Φ 0J φ IQ o Φ Ω Φ 0- 0 fi J IQ UΦ 1 ü S I- 1 φ Φ Hl Φ, -. tr> i H- w- $, Ω <! 0 J 0. -. N h-> tr fi rt F- Φ 0 π Q tr »0 d SU fi fi F- 1 o. (- rt rt Φ 0 J φ IQ o Φ Ω Φ 0- 0 fi J IQ U
Φ SU Ω O φ φ CQ ^^ • H- tr H- CQ H- Φ fi F- F- CQ Φ 0 0J F- Cd 9i Φ Hl fi HΦ SU Ω O φ φ CQ ^ - ^ • H- tr H- CQ H- Φ fi F- F- CQ Φ 0 0 J F- Cd 9i Φ Hl fi H
0 rt J o. fi 0 Φ ≤ 4 Ω Φ 0 fi ≤ 0 CQ — fi φ F- fi F- N tr ü0 rt J o. Fi 0 Φ ≤ 4 Ω Φ 0 fi ≤ 0 CQ - fi φ F- fi F- N tr ü
Φ F- CD o. l ι-3 • * 0 0 SU Φ rt Ω rt 0 ii l_l. rt rt 0 fu φ *<Φ F- CD o. L ι-3 • * 0 0 SU Φ rt Ω rt 0 ii l_l. rt rt 0 fu φ * <
0 Oi Φ φ 1 Φ o= d d o. 0 Φ 0^ > F- F- Φ t Φ S Oi - rt 10 Oi Φ φ 1 Φ o = dd o. 0 Φ 0 ^ > F- F- Φ t Φ S Oi - rt 1
3 rt F- ii CQ 0 > — -* CQ H rt <! Hl CQ fi & CQ Φ Oi CQ Φ d Oi CQ 0 Φ d F" fi CQ φ φ Φ F- i l-1 ^ H- 0 £ CQ Φ Φ f o. PT Oi 0 φ SU= Φ 0" 0 F- SU cπ fi 0 ω & i Φ Φ CQ 0 Φ SU= F- rt F- F- Φ fi rt 3 rt 0 fi CQ <J Hl <3 rt F- ii CQ 0> - - * CQ H rt <! Hl CQ fi & CQ Φ Oi CQ Φ d Oi CQ 0 Φ d F "fi CQ φ φ Φ F- i l- 1 ^ H- 0 £ CQ Φ Φ f o. PT Oi 0 φ SU = Φ 0" 0 F - SU cπ fi 0 ω & i Φ Φ CQ 0 Φ SU = F- rt F- F- Φ fi rt 3 rt 0 fi CQ <J Hl <
Ω ^ 0 o. F- F- o. F- H- rt F- 0 Φ Φ Ω φ F- F- Φ N N 0 Hl ΦΩ ^ 0 o. F- F- o. F- H- rt F- 0 Φ Φ Ω φ F- F- Φ N N 0 Hl Φ
0* cn & rt φ H- Ω CQ 3 CQ CQ CQ fi 0' fi rt CQ fi td φ Cd SU φ 0 rt φ o N SU SU Q i Φ 0* Φ Φ rt Φ O rt su Φ φ F- F- J F- > fi •j^ fu d d Φ fi Φ O - • Φ cn Φ l-1 H 0- H ω rt d rt 0 Cd Φ0 * cn & rt φ H- Ω CQ 3 CQ CQ CQ fi 0 'fi rt CQ fi td φ Cd SU φ 0 rt φ o N SU SU Q i Φ 0 * Φ Φ rt Φ O rt su Φ φ F- F - J F-> fi • j ^ fu dd Φ fi Φ O - • Φ cn Φ l- 1 H 0- H ω rt d rt 0 Cd Φ
- o J H) CG <! fi Φ fi « Φ fi H- F- 0 rt Φ Φ Φ 1 0 CQ Φ F- F- o.- o J H) CG <! fi Φ fi «Φ fi H- F- 0 rt Φ Φ Φ 1 0 CQ Φ F- F- o.
N KΩ F1 CQ Φ - ü H- fi Φ 0 Ω > d CQ CQ ü li CQ rt <! 0 rt 0 F- d F> Φ •d r . CQ H fi 0J o. Cd 0 F- d= SU Φ ι. x O CQ φ φN KΩ F 1 CQ Φ - ü H- fi Φ 0 Ω> d CQ CQ ü li CQ rt <! 0 rt 0 F- d F> Φ • dr. CQ H fi 0 J o. Cd 0 F- d = SU Φ ι. x O CQ φ φ
CQ U1 0- tr s W 2 Φ rt o. Hl Φ •fl s: O u IQ 0 ι_ S! Ω rt fi F- 0 d= 0 fiCQ U1 0- tr s W 2 Φ rt o. Hl Φ • fl s: O u IQ 0 ι_ S! Ω rt fi F- 0 d = 0 fi
S»= φ SU H Φ H- φ d= 0 O Φ F- d Φ o- Φ Φ ?S. N Q Φ tr o. Φ rt F- Ü d u Φ 0 N H fi fi Φ CQ 0 ^ fi CQ Ω CQ ω Φ Φ O fiS »= φ SU H Φ H- φ d = 0 O Φ F- d Φ o- Φ Φ? S. N Q Φ tr o. Φ rt F- Ü d u Φ 0 N H fi fi Φ CQ 0 ^ fi CQ Ω CQ ω Φ Φ O fi
N EQ rt r-1 F- Ω CQ d 3 3 rt fi rt F- Φ rt F- Φ 0J Φ F- fi fi $uN EQ rt r- 1 F- Ω CQ d 3 3 rt fi rt F- Φ rt F- Φ 0 J Φ F- fi fi u
F1 rt Hl • 0 * Φ φ f (_J. Φ F- Φ Φ fi 0 F- F- Ω F- F- rt rt CQ HF 1 rt Hl • 0 * Φ φ f (_J. Φ F- Φ Φ fi 0 F- F- Ω F- F- rt rt CQ H
F- d= Φ Φ Φ CQ φ 0J Φ CQ fi F- Φ CQ J 0 Φ tr 1 ü φ fiF- d = Φ Φ Φ CQ φ 0 J Φ CQ fi F- Φ CQ J 0 Φ tr 1 ü φ fi
Ω Φ ü s fi ü Φ F- > o fi H- Φ 0 i F- W rt Oi Φ CQ Su *<Ω Φ ü s fi ü Φ F-> o fi H- Φ 0 i F- W rt Oi Φ CQ Su * <
0* F- F- rt rt 0 o. φ CQ 0 F- Φ I-1 φ CQ Φ F- Cd pj.- CQ tr 10 * F- F- rt rt 0 o. Φ CQ 0 F- Φ I- 1 φ CQ Φ F- Cd pj.- CQ tr 1
0 o rt N . H- tsi o rt Φ , — CQ 0 F- fi Φ F- CQ F- F- s; rt CQ φ CQ0 or N H- tsi o rt Φ, - CQ 0 F- fi Φ F- CQ F- F- s; rt CQ φ CQ
N F- d 0 rt 0- H- ω Φ CQ O rt CQ 0 rt d rt Ω φ tsi Φ 0 SU d 3 φ (_l. Φ α . φ rt rt Φ F- H 0 1 0J fi φ fi <JN F- d 0 rt 0- H- ω Φ CQ O rt CQ 0 rt d rt Ω φ tsi Φ 0 SU d 3 φ (_l. Φ α. Φ rt rt Φ F- H 0 1 0 J fi φ fi < J
0 CQ φ F- F- l_l- H- Φ ω i-r o. fi Φ Φ td IQ CQ CQ Φ rt 0 01 s! Φ0 CQ φ F- F- l_l- H- Φ ω ir o. Fi Φ Φ td IQ CQ CQ Φ rt 0 0 1 s! Φ
O 0- Φ O 0 Φ φ Cd 0 H H- d Φ 0J fi Ω F- Φ SU F- •» U φO 0- Φ O 0 Φ φ Cd 0 H H- d Φ 0 J fi Ω F- Φ SU F- • »U φ
Φ F- Φ SU Oi H- ö 0 M CQ 3 fi SU= et 1 rt 3 < rt ≤ CQ H f > l-h co fi 0 Φ φ 0 d Φ Φ 3 <! - 0 1 0 0 N Φ W ^ rt rt SΦ F- Φ SU Oi H- ö 0 M CQ 3 fi SU = et 1 rt 3 <rt ≤ CQ H f> lh co fi 0 Φ φ 0 d Φ Φ 3 <! - 0 1 0 0 N Φ W ^ rt rt S
F- rt o F- fi SU o. 0 Φ φ o rt F- CQ 0 0 1 f Φ 0 Φ F- o. ω N d cn φ 0 ≤ H Φ 3 0 li 1 F1 £ ?T 0 > rt F- tr 0 KQ F-F- rt o F- fi SU o. 0 Φ φ o rt F- CQ 0 0 1 f Φ 0 Φ F- o. Ω N d cn φ 0 ≤ H Φ 3 0 li 1 F 1 £? T 0> rt F- tr 0 KQ F-
1 F- Hl rt li N cr_ H o fi φ α 1 rt N F- Φ rt Φ tr 0- F- rt Φ Oi W Φ1 F- Hl rt li N cr_ H o fi φ α 1 rt N F- Φ rt Φ tr 0- F- rt Φ Oi W Φ
N Φ φ d Φ rt 1 SU 0J d ω SU d Ω tr N 0 φ O iQ F- Φ Φ fi d fi Hl $u I-1 d ri ω ü SU H- d 1 1 Ω Φ Φ Φ F- F- ^ d 0 F- ΦN Φ φ d Φ rt 1 SU 0 J d ω SU d Ω tr N 0 φ O iQ F- Φ Φ fi d fi Hl $ u I- 1 d ri ω ü SU H- d 1 1 Ω Φ Φ Φ F- F- ^ d 0 F- Φ
1 rt tr φ 0 0 Hl O ω H- Φ H rt CQ J w CQ 0 Φ Φ 0 o. rt fi t φ Φ CQ Φ Φ i rt rt fi N CQ Ω cn Φ U o. ü F- Oi F- • f 0 <. φ 0 H- Φ CQ Φ SU ' öd F- 0 tr α= φ Φ rt Φ o. N o o= φ o Oi Φ 0* d tr F- 0 F- 0 Φ tr ii H Φ öd o. »il d1 rt tr φ 0 0 Hl O ω H- Φ H rt CQ J w CQ 0 Φ Φ 0 o. Rt fi t φ Φ CQ Φ Φ i rt rt fi N CQ Ω cn Φ U o. Ü F- Oi F- • f 0 <. φ 0 H- Φ CQ Φ SU 'öd F- 0 tr α = φ Φ rt Φ o. N oo = φ o Oi Φ 0 * d tr F- 0 F- 0 Φ tr ii H Φ öd o. » i ld
CQ s; rt H ü co H- H CQ H 0 SU rt O 0 rt ii Φ 0 F- F- F- φ 3CQ s; rt H ü co H- H CQ H 0 SU rt O 0 rt ii Φ 0 F- F- F- φ 3
>-3 F- H O- rt Φ Φ d h-1 H- Φ i fi • Φ fi CQ N rt 0 φ fi> -3 F- H O- rt Φ Φ d h- 1 H- Φ i fi • Φ fi CQ N rt 0 φ fi
< 1 IQ F- 0 d ii 0 φ 0 0 φ *l d Ω rt d d SU cn fi 0 CQ<1 IQ F- 0 d ii 0 φ 0 0 φ * l d Ω rt d d SU cn fi 0 CQ
O > rt 0 Φ Hl s IQ f-1- CQ φ - — O α 0 0 0' fi 3 CQ d Φ Φ Φ dO> rt 0 Φ Hl s IQ f- 1 - CQ φ - - O α 0 0 0 'fi 3 CQ d Φ Φ Φ d
F" O. Φ CQ rt Φ H- ' — Ω SU= S H- Φ fi 0- 0 SU= 3 Φ Hl d F- fi fi 3F "O. Φ CQ rt Φ H- '- Ω SU = S H- Φ fi 0- 0 SU = 3 Φ Hl d F- fi fi 3
(- o. 0 Φ Φ 0 N cn 0' 0 H- 0 M I-1 fi 3 Φ CQ Sü 0 3 0 0 3(- o. 0 Φ Φ 0 N cn 0 '0 H- 0 M I- 1 fi 3 Φ CQ Sü 0 3 0 0 3
{U F- H 0 SU rt φ φ IQ fi Φ F- U ≤ rt Φ rt H Φ rt Φ tsi tr F-
Figure imgf000003_0002
{U F- H 0 SU rt φ φ IQ fi Φ F- U ≤ rt Φ rt H Φ rt Φ tsi tr F-
Figure imgf000003_0002
O Φ rt Φ " H- H φ O CQ 0 O SU <! φ 0 F- O F- Φ 3 d Φ ΦO Φ rt Φ "H- H φ O CQ 0 O SU <! Φ 0 F- O F- Φ 3 d Φ Φ
1 1 F- 0 1 1 3 0 fi 0 1 I H 3 1 11 1 F- 0 1 1 3 0 fi 0 1 I H 3 1 1
1 I 0 1 0 1 1 I 0 1 0 1
dierern 5-zu-3 Addierer enthält. Die 5-zu-3 Addierer weisen jeweils vier Eingänge für zu summierende Bits und einen Eingang für ein Übertrags-Bit sowie zwei Ausgänge für zwei Summen-Bits und einen Ausgang für ein Übertrags-Bit auf.which contains 5-to-3 adders. The 5-to-3 adders each have four inputs for bits to be summed and one input for a carry bit as well as two outputs for two sum bits and one output for a carry bit.
Der Erfindung liegt die Aufgabe zugrunde, einen weiteren vielfältig und aufwandsgünstig einsetzbaren Carry-Save Bit- Addierer zu schaffen. Insbesondere sind dabei kurze Signallaufzeiten und eine geringe Stromaufnahme angestrebt. Ferner zielt die Erfindung darauf ab, einen übertragserhaltenden Addierer zum Summieren einer Mehrzahl von Bit-Sätzen, welche Bits jeweils derselben Wertigkeit enthalten, anzugeben, welcher für die Summation eines Bit-Satzes mit möglichst wenig Stufen auskommt und einen geringen Verdrahtungs- aufwand für die- Implementierung erforderlich macht.The object of the invention is to create a further carry-save bit adder which can be used in a variety of ways and at low cost. In particular, short signal propagation times and low power consumption are sought. The invention further aims to provide a carry-maintaining adder for summing a plurality of bit sets, each containing bits of the same value, which uses as few steps as possible for the summation of a bit set and a low wiring outlay for these. Implementation required.
Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale der unabhängigen Ansprüche gelöst.The problem underlying the invention is solved by the features of the independent claims.
Dadurch, dass am Ausgang des erfindungsgemäßen 7-zu-3 Bit CS Addierers zwei Überträge unterschiedlicher Wertigkeit ausgegeben werden, wird die volle Darstellungsmöglichkeit der drei Ausgangssignale für die gleichzeitige Addition von sieben Eingangs-Bits genutzt. Dies ist vorteilhaft gegenüber bishe- rigen Lösungen wie z.B. dem 5-zu-3 CS Addierer, welcher nur einen Teil des bei drei Ausgängen prinzipiell möglichen Wertebereichs ausschöpft. Darüber hinaus ist durch die gleichzeitige Erzeugung von zwei Überträgen unterschiedlicher Wertigkeit der Schaltungsaufwand und der interne Verdrahtungs- aufwand geringer als bei mehrstufigen Lösungen mit herkömmlichen 3-zu-2 CS Addierern.The fact that at the output of the 7-to-3-bit CS adder according to the invention two outputs of different values are output means that the full display possibility of the three output signals is used for the simultaneous addition of seven input bits. This is advantageous compared to previous solutions such as e.g. the 5-to-3 CS adder, which only uses part of the range of values that is possible in principle with three outputs. In addition, the simultaneous generation of two transfers of different values means less circuitry and less internal wiring than with multi-stage solutions with conventional 3-to-2 CS adders.
Eine besonders bevorzugte Ausführungsform des erfindungsgemäßen 7-zu-3 CS Addierers kennzeichnet sich dadurch, dass der 7-zu-3 CS Addierer aus drei parallel zueinander angeordneten Addierersubblöcken aufgebaut ist. Dabei erzeugt ein erster Addierersubblock das Summen-Bit der Wertigkeit w, ein zweiter Addierersubblock erzeugt das Übertrags-Bit der Wertigkeit 2w und der dritte Addierersubblock erzeugt das Übertrags-Bit der Wertigkeit 4w.A particularly preferred embodiment of the 7-to-3 CS adder according to the invention is characterized in that the 7-to-3 CS adder is constructed from three adder sub-blocks arranged parallel to one another. A first adder sub-block generates the sum bit of valency w, a second Adder subblock generates the carry bit of valence 2w and the third adder subblock generates the carry bit of valency 4w.
Nach einer ersten bevorzugten Ausfuhrungsform der Erfindung ist wenigstens ein und insbesondere jeder Addierersubblock aus Logiggattern aufgebaut. Mit dem Begriff "Logiggatter" sind hier die Grundelemente digitaler Schaltkreise, d.h. AND- Gatter (UND-Gatter) , OR-Gatter (ODER-Gatter) , XOR-Gatter (Exklusiv-ODER-Gatter) , NAND-Gatter (invertiertes UND-Gatter) NOR-Gatter (invertiertes ODER-Gatter) und Inverter bezeichnet.According to a first preferred embodiment of the invention, at least one and in particular each adder subblock is constructed from logic gates. With the term "logic gate" here are the basic elements of digital circuits, i.e. AND gates (AND gates), OR gates (OR gates), XOR gates (exclusive OR gates), NAND gates (inverted AND gates), NOR gates (inverted OR gates) and inverters ,
In diesem Fall ist vorzugsweise der bzw. insbesondere jeder Addierersubblock aus maximal drei hintereinander geschalteten Logiggatterstufen realisiert, so dass sämtliche Ausgabe-Bits bereits nach drei Gatterlaufzeiten zeitgleich zur Verfügung stehen (Inverter werden bei der Zählung der Logiggatterstufen nicht berücksichtigt) .In this case, the or, in particular, each adder sub-block is preferably implemented from a maximum of three consecutive logic gate stages, so that all output bits are available at the same time after three gate run times (inverters are not taken into account when counting the logic gate stages).
Eine zweite bevorzugte Ausfuhrungsform der Erfindung kennzeichnet sich dadurch, dass ein und insbesondere jeder Addierersubblock aus einer Mehrtransistorschaltung besteht, welche nicht in eine Mehrzahl von Logikgattern (gemäß vorstehender Definition) auflösbar ist. Mit anderen Worten bildet jeder Addierersubblock ein einzelnes, eigenständiges "Komplexgatter" ohne interne Logiggatterstruktur, welches darüber hinaus unabhängig von den anderen Addierersubblöcken ist. Hierdurch können besonders schnelle sowie platz- und strom- sparende Schaltungen realisiert werden, da die Anzahl derA second preferred embodiment of the invention is characterized in that one and in particular each adder subblock consists of a multi-transistor circuit which cannot be resolved into a plurality of logic gates (as defined above). In other words, each adder sub-block forms a single, independent "complex gate" without an internal logic gate structure, which is also independent of the other adder sub-blocks. This enables particularly fast, space-saving and energy-saving circuits to be implemented, since the number of
Transistoren solcher Schaltungen kleiner gehalten werden kann als bei Schaltungen, die auf Logiggatterebene konzipiert sind.Transistors of such circuits can be kept smaller than circuits designed at the logic gate level.
Eine besonders bevorzugte Ausgestaltung eines solchen übertragserhaltenden Addierers umfasst eine Aufladeschaltung, die mit der jeweiligen Mehrtransistorschaltung derart verbunden ist, dass sie über diese in Abhängigkeit von den an den Eingängen des Addierers anliegenden Bits entladen wird. Diese Auslegung des erfindungsgemäßen Addierers, welche dem Konzept der dynamischen Schaltungsauslegung folgt, minimiert den Leistungsbedarf des Addierers.A particularly preferred embodiment of such a transmission-maintaining adder comprises a charging circuit which is connected to the respective multi-transistor circuit in this way is that it is discharged as a function of the bits present at the inputs of the adder. This design of the adder according to the invention, which follows the concept of dynamic circuit design, minimizes the power requirement of the adder.
Der erfindungsgemäße 7-zu-3 CS Addierer kann in vielfältiger Weise in größeren Addiererstrukturen eingesetzt werden. In zahlreichen Anwendungsfällen werden übertragserhaltende Ad- dierer benötigt, die eine Mehrzahl von Bit-Sätzen verarbeiten, wobei die in einem Bit-Satz enthaltenen Bits dieselbe Wertigkeit und Bits unterschiedlicher Bit-Sätze unterschiedliche Wertigkeiten aufweisen. Ein erfindungsgemäßer übertragserhaltender Addierer dieser Art kennzeichnet sich da- durch, dass zumindest ein Bit-Satz-Addierer wenigstens einen 7-zu-3 Carry-Save Addierer mit sieben Eingängen für die Eingabe von zu summierenden Bits jeweils der Wertigkeit w und einem Ausgang für ein Summen-Bit der Wertigkeit w und zwei Ausgängen für zwei Übertrags-Bits der Wertigkeiten 2w und 4w umfasst.The 7-to-3 CS adder according to the invention can be used in a variety of ways in larger adder structures. In numerous applications, transmission-maintaining adders are required which process a plurality of bit sets, the bits contained in a bit set having the same value and bits of different bit sets having different values. A transmission-maintaining adder of this type according to the invention is characterized in that at least one bit set adder has at least one 7-to-3 carry-save adder with seven inputs for the input of bits to be summed, each with the value w and one output for one Sum bit of the valency w and two outputs for two carry bits of the valences 2w and 4w.
Bei einer besonders bevorzugten Ausgestaltung eines solchen übertragserhaltenden Addierers sind mehrere Stufen mehrerer benachbarter Bit-Satz-Addierer aus einem Array aus 7-zu-3 CS Addieren aufgebaut. Dadurch wird ein geringer Verdrahtungsaufwand verglichen mit einer höher kaskadierenden Anordnung z.B. bestehend aus 3-zu-2 CS Addierern ermöglicht.In a particularly preferred embodiment of such a transmission-maintaining adder, a plurality of stages of a plurality of adjacent bit set adders are constructed from an array of 7-to-3 CS adders. This results in less wiring effort compared to a higher cascading arrangement e.g. consisting of 3-to-2 CS adders.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.Further advantageous embodiments of the invention are specified in the subclaims.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung beschrieben; in dieser zeigt:The invention is described below using exemplary embodiments with reference to the drawing; in this shows:
Fig. 1 einen WT-Addierer, welcher aus 3-zu-2 Addierern aufgebaut ist, gemäß dem Stand der Technik;Fig. 1 shows a WT adder, which from 3-to-2 Adders is constructed according to the prior art;
Fig. 2a eine schematische Darstellung eines 7-zu-3 CS Ad- dierers;2a shows a schematic illustration of a 7-to-3 CS adder;
Fig. 2 eine schematische Darstellung einer Kaskadierung von 3-zu-2 CS Addierern zur Realisierung eines 7- zu-3 CS Addierers;2 shows a schematic representation of a cascading of 3-to-2 CS adders for realizing a 7-to-3 CS adder;
Fig. 3 eine Wahrheitstabelle für einen 7-zu-3 Addierer;Fig. 3 is a truth table for a 7-to-3 adder;
Fig. 4 ein Blockdiagramm eines erfindungsgemäßen 7-zu-3 CSFig. 4 is a block diagram of a 7-to-3 CS according to the invention
Addierers;adder;
Fig. 5 ein Blockschaltbild eines ersten AddierersubblocksFig. 5 is a block diagram of a first adder sub-block
ADD-S aus Fig. 4 gemäß einem ersten Ausführungsbei- spiel der Erfindung;4 according to a first exemplary embodiment of the invention;
Fig. 6 ein Blockschaltbild eines zweiten Addierersubblocks ADD-Cl aus Fig. 4 gemäß dem ersten Ausführungsbei- spiel der Erfindung;6 shows a block diagram of a second adder subblock ADD-Cl from FIG. 4 according to the first exemplary embodiment of the invention;
Fig. 7 ein Blockschaltbild eines dritten Addierersubblocks ADD-C2 aus Fig. 4 gemäß dem ersten Ausführungsbei- spiel der Erfindung;7 shows a block diagram of a third adder sub-block ADD-C2 from FIG. 4 according to the first exemplary embodiment of the invention;
Fig. 8 ein Blockschaltbild eines ersten Addierersubblocks ADD-S aus Fig. 4 gemäß einem zweiten Ausführungs- beispiel der Erfindung;8 shows a block diagram of a first adder sub-block ADD-S from FIG. 4 according to a second exemplary embodiment of the invention;
Fig. 9 ein Blockschaltbild eines zweiten Addierersubblocks ADD-Cl aus Fig. 4 gemäß dem zweiten Ausführungsbeispiel der Erfindung; Fig. 10 ein Blockschaltbild eines dritten Addierersubblocks ADD-C2 aus Fig. 4 gemäß dem zweiten Ausführungsbei- spiel der Erfindung;9 shows a block diagram of a second adder sub-block ADD-Cl from FIG. 4 according to the second exemplary embodiment of the invention; 10 shows a block diagram of a third adder sub-block ADD-C2 from FIG. 4 in accordance with the second exemplary embodiment of the invention;
Fig. 11 einen Ausschnitt aus einem erfindungsgemäßen übertragserhaltenden Addierer, der ausschließlich aus 7 -zu-3 CS Addierern aufgebaut ist;11 shows a section of a transmission-maintaining adder according to the invention, which is constructed exclusively from 7 to 3 CS adders;
Fig. 12 eine schematische Darstellung eines 64x64 Bit Mul- tiplizierers;12 shows a schematic illustration of a 64x64 bit multiplier;
Fig. 13 ein Stufendiagramm zur Erläuterung des Stufenauf- baus eines bekannten WT-Addierers zum Aufaddieren von 33 Bits derselben Wertigkeit mit 3-zu-2 CS Ad- dierern; und13 shows a step diagram for explaining the step structure of a known WT adder for adding up 33 bits of the same value with 3-to-2 CS adders; and
Fig. 14 ein Stufendiagramm zur Erläuterung des Stufenauf- baus eines erfindungsgemäßen Bit-Satz -Addierers zum Aufaddieren von 33 Bits derselben Wertigkeit mit 7- zu-3 CS Addierern.14 shows a step diagram to explain the step structure of a bit set adder according to the invention for adding up 33 bits of the same value with 7- to 3 CS adders.
Fig. 1 zeigt einen fünf-stufigen WT-Addierer 1 zur Addition von 13 Eingabe-Bits 2 gleicher Wertigkeit nach dem Stand der Technik.1 shows a five-stage WT adder 1 for adding 13 input bits 2 of the same value according to the prior art.
Der WT-Addierer 1 umfasst insgesamt 11 3 -zu-2 CS Volladdierer 3. Jeder Volladdierer 3 weist drei Eingänge A, B, Ci und zwei Ausgänge S, Co auf. Die Eingänge A und B sind zur Entgegennahme von zwei zu addierenden Bits vorgesehen, der Eingang Ci (Carry in) ist zum Empfang eines Übertrags-Bits vorgesehen. Die drei Eingänge A, B, Ci sind äquivalent.The WT adder 1 comprises a total of 11 3 -to-2 CS full adders 3. Each full adder 3 has three inputs A, B, Ci and two outputs S, Co. Inputs A and B are intended to receive two bits to be added, input Ci (carry in) is intended to receive a carry bit. The three inputs A, B, Ci are equivalent.
Der Ausgang S repräsentiert den Summen-Ausgang des 3-zu-2 CS Volladdieres 3. Der Ausgang S nimmt den Wert Null an, wenn an sämtlichen Eingängen A, B, Ci ein Bit des Wertes Null anliegt oder wenn an genau zwei der Eingänge A, B, Ci ein Bit des Wertes 1 anliegt. Andernfalls ist S = 1. Der Ausgang Co für den Übertrag (Carry out) nimmt nur dann den Wert 1 an, wenn an mindestens zwei der Eingänge ein Bit des Wertes 1 anliegt. Im Gegensatz zu den Eingängen A, B, Ci sind die Ausgänge S und Co nicht äquivalent, d.h. nicht vertauschbar.The output S represents the sum output of the 3-to-2 CS full adder 3. The output S assumes the value zero if a bit of the value zero is present at all inputs A, B, Ci or if exactly two of the inputs A , B, Ci a bit of the value 1 is present. Otherwise S = 1. The output Co for the carry out takes on the value 1 only if a bit of the value 1 is present at at least two of the inputs. In contrast to inputs A, B, Ci, outputs S and Co are not equivalent, ie not interchangeable.
Die fünf Stufen 1.1, 1.2, 1.3, 1.4, 1.5 des WT-Addierers 1 umfassen 4, 3, 2, 1 bzw. 1 3-zu-2 CS Volladdierer 3. Die 13 Eingänge des WT-Addierers sind durch die 12 Eingänge 2 der ersten Stufe 1.1 und einen Eingang 2 der zweiten Stufe 1.2 realisiert.The five stages 1.1, 1.2, 1.3, 1.4, 1.5 of the WT adder 1 comprise 4, 3, 2, 1 and 1 3-to-2 CS full adder 3. The 13 inputs of the WT adder are through the 12 inputs 2 the first stage 1.1 and an input 2 of the second stage 1.2 realized.
Während die Ausgänge S der ersten Stufe 1.1 jeweils Eingängen der 3-zu-2 CS Volladdierer 3 der zweiten Stufe 1.2 zugeführt werden, werden die 4 Ausgänge Co, welche ein Übertrags-Bit 4 bereitstellen, einer zweiten Stufe eines (nicht dargestellten) WT-Addierers zur Addition eines Bit-Satzes mit einer nächst höheren Wertigkeit zugeleitet. In analoger Weise empfangen die 3-zu-2 CS Volladdierer 3 der zweiten Stufe 1.2 jeweils ein oder zwei Übertrags-Bits 5, welche von einer ersten Stufe eines (ebenfalls nicht dargestellten) WT-Addierers für einen Bit-Satz mit nächst niedrigerer Wertigkeit ausgegeben werden.While the outputs S of the first stage 1.1 are each input to the 3-to-2 CS full adders 3 of the second stage 1.2, the 4 outputs Co, which provide a carry bit 4, are a second stage of a (not shown) WT- Added adder for adding a bit set with a next higher significance. In an analogous manner, the 3-to-2 CS full adders 3 of the second stage 1.2 each receive one or two carry bits 5, which are output by a first stage of a (also not shown) WT adder for a bit set with the next lower value become.
Dieses Prinzip setzt sich über die zweite 1.2 und dritte 1.3, dritte 1.3 und vierte 1.4 und vierte 1.4 und fünfte 1.5 Stufe des WT-Addierers 1 fort. Der Ausgang des WT-Addierers 1 wird durch ein Summen-Bit 6 und ein partielles Übertrags-Bit 7, welches von der ausgangsseitigen Stufe des WT-Addierers 1 nächst niedrigerer Wertigkeit stammt, repräsentiert.This principle is continued through the second 1.2 and third 1.3, third 1.3 and fourth 1.4 and fourth 1.4 and fifth 1.5 stages of the WT adder 1. The output of the WT adder 1 is represented by a sum bit 6 and a partial carry bit 7, which comes from the output-side stage of the WT adder 1 of the next lower value.
Fig. 2a zeigt eine schematische Darstellung eines 7-zu-3 CS Addierers. Der Addierer weist die Eingänge iO, il, i2, i3, i4, i5, i6 und die Ausgänge s, cl, c2 auf. Die Addition von sieben Bits umfasst einen Wertebereich zwischen Null und sie- ben. Die drei Ausgänge des 7-zu-3 CS Addierers repräsentieren die Summe der an den Eingängen anliegenden Bits in dualkodierter Form. Der Ausgang s für das Summen-Bit weist die gleiche Wertigkeit wie der Satz von Eingangs-Bits iO bis i6 auf. Bei dem Ausgang cl handelt es sich um einen Übertrags- Ausgang, welcher eine um den Faktor 2 höhere Wertigkeit als der Ausgang s für das Summen-Bit aufweist. Der Ausgang c2 ist ebenfalls ein Ausgang für ein Übertrags-Bit jedoch mit einer nochmals um den Faktor 2 erhöhten Wertigkeit gegenüber dem Ausgang cl. Mit anderen Worten weisen die Ausgänge s, cl und c2 die Wertigkeiten 2° , 21 und 22 bezogen auf die Wertigkeit des Bit-Satzes am Eingang des 7-zu-3 Addierers auf.2a shows a schematic representation of a 7-to-3 CS adder. The adder has the inputs iO, il, i2, i3, i4, i5, i6 and the outputs s, cl, c2. The addition of seven bits covers a range of values between zero and seven. The three outputs of the 7-to-3 CS adder represent the sum of the bits applied to the inputs in dual-coded form. The output s for the sum bit has the same value as the set of input bits iO to i6. The output cl is a carry output which has a factor 2 higher than the output s for the sum bit. The output c2 is also an output for a carry bit, however, with a value that is increased by a factor of 2 compared to the output cl. In other words, the outputs s, cl and c2 have the values 2 °, 2 1 and 2 2 with respect to the value of the bit set at the input of the 7-to-3 adder.
Fig. 2 zeigt einen erfindungsgemäßen 7-zu-3 CS Addierer, welcher aus kaskadierten, herkömmlichen 3-zu-2 CS Volladdierern aufgebaut ist. Der 7-zu-3 CS Addierer weist drei Stufen 1.1, 1.2 und 1.3 auf, die aus zwei, einem bzw. einem 3 -zu-2 CS Volladdierer gebildet sind. Dieselben oder vergleichbare Teile und Funktionsgruppen wie in Fig. 1 sind mit denselben Bezugszeichen bezeichnet.2 shows a 7-to-3 CS adder according to the invention, which is constructed from cascaded, conventional 3-to-2 CS full adders. The 7-to-3 CS adder has three stages 1.1, 1.2 and 1.3, which are formed from two, one and a 3-to-2 CS full adder. The same or comparable parts and functional groups as in Fig. 1 are denoted by the same reference numerals.
Dem 7-zu-3 CS Addierer werden 7 Bits der gleichen Wertigkeit an Eingängen iO, il, ..., i6 zugeführt. Die ersten sechs Eingänge iO bis i5 sind mit den 2 x 3 Eingängen der beiden 3-zu- 2 CS Addierer 3 der ersten Stufe 1.1 verbunden. Der siebte Eingang i6 ist mit einem Eingang des 3 -zu-2 CS Addierers 3 der zweiten Stufe 1.2 verbunden. Die verbleibenden beiden Eingänge A und Ci dieses 3-zu-2 CS Addierers 3 werden jeweils von den Summen-Bit Ausgängen der beiden 3-zu-2 CS Addierer 3 der ersten Stufe 1.1 gespeist.The 7-to-3 CS adder is supplied with 7 bits of the same value at inputs iO, il, ..., i6. The first six inputs iO to i5 are connected to the 2 x 3 inputs of the two 3-to-2 CS adders 3 of the first stage 1.1. The seventh input i6 is connected to an input of the 3-to-2 CS adder 3 of the second stage 1.2. The remaining two inputs A and Ci of this 3-to-2 CS adder 3 are each fed by the sum bit outputs of the two 3-to-2 CS adders 3 of the first stage 1.1.
Der Summen-Bit Ausgang S des 3-zu-2 CS Addierers 3 der zwei- ten Stufe 1.2 bildet den Summen-Bit Ausgangs des 7-zu-3 CS Addierers. Die drei Übertrags-Bit Ausgänge der beiden 3-zu-2 CS Addierer 3 der ersten Stufe 1.1 und des 3-zu-2 CS Addierers 3 der zweiten Stufe 1.2 werden den drei Eingängen des 3- zu-2 CS Addierers 3 der dritten Stufe 1.3 zugeleitet. Der Summen-Bit Ausgang S des 3-zu-2 CS Addierers 3 der drittenThe sum bit output S of the 3-to-2 CS adder 3 of the second stage 1.2 forms the sum bit output of the 7-to-3 CS adder. The three carry bit outputs of the two 3-to-2 CS adders 3 of the first stage 1.1 and of the 3-to-2 CS adders 3 of the second stage 1.2 become the three inputs of the 3-to-2 CS adder 3 of the third stage 1.3 forwarded. The sum bit output S of the 3-to-2 CS adder 3 of the third
Stufe 1.3 liefert das Bit für den ersten Übertrags-Ausgang cl und der Übertrags-Bit Ausgang Co dieses 3-zu-2 CS Addierers 3 liefert das Übertrags-Bit c2 nächsthöherer Wertigkeit des betrachteten 7-zu-3 CS Addierers.Stage 1.3 supplies the bit for the first carry output cl and the carry bit output Co of this 3-to-2 CS adder 3 provides the carry bit c2 of the next higher value of the 7-to-3 CS adder under consideration.
Fig. 3 gibt die Wahrheitstabelle eines 7-zu-3 CS Addierers wieder. Es wird deutlich, dass der 7-zu-3 CS Addierer die Eigenschaft aufweist, dass der Wertebereich der drei Ausgangs- Bits vollständig ausgeschöpft wird. Diese Eigenschaft, die sich unabhängig von der konkreten Implementierung des 7-zu-3 CS Addierers allein aus dessen Wahrheitstabelle ergibt, ist ein Grund dafür, dass sich durch Verwendung eines solchen 7- zu-3 CS Addierers in einem übertragserhaltenden Addierer zur Addition mehrerer Binärzahlen der Schaltungsaufwand im Vergleich zu Lösungen bestehend aus 3-zu-2 CS Addierern deutlich reduzieren läßt.Fig. 3 shows the truth table of a 7-to-3 CS adder. It is clear that the 7-to-3 CS adder has the property that the value range of the three output bits is fully exhausted. This property, which results independently of the concrete implementation of the 7-to-3 CS adder solely from its truth table, is a reason why the use of such a 7-to-3 CS adder in a transmission-maintaining adder results in the addition of several binary numbers the circuit effort compared to solutions consisting of 3-to-2 CS adders can be significantly reduced.
Anhand der Fig. 4 bis 10 werden zwei weitere Ausführungsbei- spiele eines erfindungsgemäßen 7-zu-3 CS Addierers erläutert.4 to 10, two further exemplary embodiments of a 7-to-3 CS adder according to the invention are explained.
Der 7-zu-3 CS Addierer umfasst drei Addierersubblöcke, die in Fig. 4 mit den Bezugszeichen ADD-S, ADD-Cl und ADD-C2 bezeichnet sind. Jeder Addierersubblock ADD-S, ADD-Cl, ADD-C2 weist sieben Eingänge 10, II, 12, 13, 14, 15 und 16 auf, die jeweils mit den genannten sieben Eingängen iO bis i6 des 7- zu-3 CS Addierers verbunden sind.The 7-to-3 CS adder comprises three adder sub-blocks, which are designated in FIG. 4 with the reference symbols ADD-S, ADD-Cl and ADD-C2. Each adder sub-block ADD-S, ADD-Cl, ADD-C2 has seven inputs 10, II, 12, 13, 14, 15 and 16, each of which is connected to the named seven inputs iO to i6 of the 7 to 3 CS adder are.
Der Addierersubblock ADD-S gibt an seinem Ausgang S ein Bit der Wertigkeit 2° aus. Die entsprechenden Ausgänge Cl und C2 der zweiten und dritten Addierersubblöcke ADD-Cl und ADD-C2 geben jeweils ein Bit der Wertigkeit 21 (Ausgang Cl) bzw. ein Bit der Wertigkeit 22 (Ausgang C2) aus. Die Ausgänge S, Cl, C2 der Addierersubblöcke ADD-S, ADD-Cl und ADD-C2 sind die Ausgänge s, cl, c2 des betrachteten 7-zu-3 CS Addierers.The adder subblock ADD-S outputs a bit of the value 2 ° at its output S. The corresponding outputs C1 and C2 of the second and third adder subblocks ADD-Cl and ADD-C2 each output a bit with the significance 2 1 (output Cl) and a bit with the significance 2 2 (output C2). The outputs S, Cl, C2 of the adder sub-blocks ADD-S, ADD-Cl and ADD-C2 are the outputs s, cl, c2 of the 7-to-3 CS adder under consideration.
In den Fig. 5 bis 7 sind mögliche Realisierungen der Gatter- Strukturen der einzelnen Addierersubblöcke ADD-S, ADD-Cl und ADD-C2 gemäß einem ersten Ausführungsbeispiel gezeigt. Jeder Addierersubblock ADD-S, ADD-Cl und ADD-C2 ist bei diesem Aus- führungsbeispiel aus einzelnen Logiggattern aufgebaut, welche in mehreren hintereinander angeordneten Gatterstufen angeordnet sind. Gemäß dem hier verwendeten Sprachgebrauch enthält eine Gatterstufe genau ein Logikgatter, wie beispielsweise XOR, NAND, usw., oder eine Parallelanordnung derartiger Logikgatter. Inverter bilden keine Gatterstufen, d.h. ihr Vorhandensein beeinflußt die Anzahl der Gatterstufen nicht .5 to 7 show possible implementations of the gate structures of the individual adder sub-blocks ADD-S, ADD-Cl and ADD-C2 according to a first exemplary embodiment. Each adder subblock ADD-S, ADD-Cl and ADD-C2 is Example of management constructed from individual logic gates, which are arranged in several gate stages arranged one behind the other. According to the language used here, a gate stage contains exactly one logic gate, such as XOR, NAND, etc., or a parallel arrangement of such logic gates. Inverters do not form gate stages, ie their presence does not affect the number of gate stages.
Fig. 5 verdeutlicht die Gatterstruktur des Addierersubblocks ADD-S. Die Eingänge 10, II, ..., 16 sind paarweise mit den jeweils zwei Eingängen von insgesamt drei XOR-Gattern 30 der ersten Stufe 10.1 des Addierersubblocks verbunden. Die (auf Gatterebene) zweite Stufe 10.2 des Addierersubblocks ADD-S wird durch zwei XOR-Gatter 30 realisiert. Die vier Eingänge der zweiten Stufe 10.2 werden durch die drei Ausgänge der ersten Stufe 10.1 sowie den Eingang 16 dargestellt.5 illustrates the gate structure of the adder sub-block ADD-S. The inputs 10, II, ..., 16 are connected in pairs to the two inputs of a total of three XOR gates 30 of the first stage 10.1 of the adder sub-block. The second stage 10.2 (at gate level) of the adder sub-block ADD-S is implemented by two XOR gates 30. The four inputs of the second stage 10.2 are represented by the three outputs of the first stage 10.1 and the input 16.
Eine dritte und letzte Stufe 10.3 des Addierersubblocks ADD-S wird durch ein einzelnes XOR-Gatter 30 realisiert, das von den beiden Ausgängen der zwei XOR-Gatter 30 der zweiten Stufe 10.2 gespeist wird. Der Ausgang des XOR-Gatters 30 der dritten Stufe 10.3 ist der Summen-Bit Ausgang des 7-zu-3 CS Addierers .A third and last stage 10.3 of the adder sub-block ADD-S is implemented by a single XOR gate 30, which is fed by the two outputs of the two XOR gates 30 of the second stage 10.2. The output of the XOR gate 30 of the third stage 10.3 is the sum bit output of the 7-to-3 CS adder.
Der detaillierte Aufbau des Addierersubblocks ADD-Cl ist in Fig. 6 dargestellt. Er besteht ebenfalls lediglich aus drei Stufen 10.1, 10.2, und 10.3 (wobei wie bereits erwähnt die in der Zeichnung durch Dreieck-Symbole dargestellten Inverter nicht als Stufen gezählt werden). Die erste Stufe 10.1 ist aus 42 NAND-Gattern 30' mit jeweils sechs Eingängen ausgebildet, die zweite Stufe 10.2 umfasst sechs NAND-Gatter 30'' mit jeweils sieben Eingängen und die dritte Stufe 10.3 wird durch ein NAND-Gatter 30' mit sechs Eingängen gebildet. Der Ausgang des NAND-Gatters 30' der dritten Stufe 10.3 realisiert den Ausgang Cl der Wertigkeit 21 des 7-zu-3 CS Addierers aus Fig. 4. Die Verschaltung der einzelnen NAND-Gatter 30', 30'' der drei Stufen 10.1-3 des Addierersubblocks ADD-Cl wird durch die in Fig. 6 angegebenen Bezugszeichen erläutert. Dabei bezeichnen NIO bis NI6 die invertierten Eingänge 10 bis 16. Dies ist im unteren linken Teil von Fig. 6 symbolisch dargestellt.The detailed structure of the adder sub-block ADD-Cl is shown in FIG. 6. It also consists of only three stages 10.1, 10.2, and 10.3 (as already mentioned, the inverters represented by triangle symbols in the drawing are not counted as stages). The first stage 10.1 is formed from 42 NAND gates 30 'with six inputs each, the second stage 10.2 comprises six NAND gates 30''with seven inputs each and the third stage 10.3 is formed by a NAND gate 30' with six inputs educated. The output of the NAND gate 30 'of the third stage 10.3 realizes the output C1 of the significance 2 1 of the 7-to-3 CS adder from FIG. 4. The interconnection of the individual NAND gates 30 ', 30''of the three stages 10.1-3 of the adder sub-block ADD-Cl is explained by the reference numerals given in FIG. 6. NIO to NI6 denote the inverted inputs 10 to 16. This is shown symbolically in the lower left part of FIG. 6.
Fig. 7 zeigt den Aufbau des Addierersubblocks ADD-C2 aus Fig. 4 gemäß dem ersten Ausführungsbeispiel auf Gatterebene. Wiederum sind drei Stufen 10.1, 10.2 und 10.3 vorhanden. Die erste Stufe 10.1 umfasst 35 NAND-Gatter 30''' mit jeweils vier Eingängen, die zweite Stufe 10.2 umfasst fünf NAND- Gatter 30'' mit jeweils sieben Eingängen und die dritte Stufe 10.3 umfasst ein NAND-Gatter 30'''' mit fünf Eingängen. Die Verschaltung der einzelnen Stufen 10.1, 10.2, 10.3 sowie die Belegung der jeweils vier Eingänge der NAND-Gatter 30 ' ' ' der ersten Stufe 10.1 sind der Fig. 7 unter Zuhilfenahme der Bezugszeichen zu entnehmen.FIG. 7 shows the structure of the adder sub-block ADD-C2 from FIG. 4 according to the first exemplary embodiment at the gate level. Again there are three levels 10.1, 10.2 and 10.3. The first stage 10.1 comprises 35 NAND gates 30 '' 'with four inputs each, the second stage 10.2 comprises five NAND gates 30' 'with seven inputs each and the third stage 10.3 includes a NAND gate 30' '' ' five entrances. The interconnection of the individual stages 10.1, 10.2, 10.3 and the assignment of the four inputs of the NAND gates 30 '' 'of the first stage 10.1 can be seen in FIG. 7 with the aid of the reference numerals.
Es wird deutlich, dass der in den Fig. 4 bis 7 erläuterte 7- zu-3 CS Addierer mit lediglich drei Stufen auf (Logik-) Gatterebene eine Addition von sieben Bits bewerkstelligen und durch die drei Ausgabebits s, cl, c2 komplett darstellen kann.It is clear that the 7 to 3 CS adder explained in FIGS. 4 to 7 with only three stages at (logic) gate level can accomplish an addition of seven bits and can represent them completely by means of the three output bits s, cl, c2 ,
Die Figuren 8 bis 10 zeigen den Aufbau der in Fig. 4 dargestellten Addierersubblöcke ADD-S, ADD-Cl und ADD-C2 gemäß einem zweiten erfindungsgemäßen Ausführungsbeispiel. Dieses Ausführungsbeispiel der Erfindung unterscheidet sich von dem zuvor beschriebenen Ausführungsbeispiel im wesentlichen da- durch, dass die einzelnen Addierersubblöcke ADD-S, ADD-Cl und ADD-C2 jeweils aus einer Mehrtransistorschaltung aufgebaut sind, die nicht in einzelne Logiggatter zerlegbar ist. Die logischen Funktionen dieser Mehrtransistorschaltungen werden durch den Schaltungsaufbau auf Transistorebene bestimmt.FIGS. 8 to 10 show the structure of the adder sub-blocks ADD-S, ADD-Cl and ADD-C2 shown in FIG. 4 according to a second exemplary embodiment according to the invention. This exemplary embodiment of the invention differs from the previously described exemplary embodiment essentially in that the individual adder subblocks ADD-S, ADD-Cl and ADD-C2 are each constructed from a multi-transistor circuit which cannot be broken down into individual logic gates. The logic functions of these multi-transistor circuits are determined by the circuit structure at the transistor level.
Die Mehrtransistorschaltung des Addierersubblocks ADD-S wird mit MS, die Mehrtransistorschaltung des Addierersubblocks ADD-Cl wird mit MCI und die Mehrtransistorschaltung des Addierersubblocks ADD-C2 wird mit MC2 bezeichnet.The multi-transistor circuit of the adder sub-block ADD-S is with MS, the multi-transistor circuit of the adder sub-block ADD-Cl is called MCI and the multi-transistor circuit of the adder sub-block ADD-C2 is called MC2.
Sämtliche Mehrtransistorschaltungen MS, MCI und MC2 weisen einen Knoten Kl auf, welcher mit einer BezugsSpannung vss verbunden ist. Ferner ist ihnen gemeinsam, dass sie über zwei Knoten K2 und K3 mit einer Treiberschaltung TR verbunden sind. Der Treiberschaltung TR wird eine Betriebsspannung vdd zugeführt .All multi-transistor circuits MS, MCI and MC2 have a node Kl, which is connected to a reference voltage vss. They also have in common that they are connected to a driver circuit TR via two nodes K2 and K3. An operating voltage vdd is supplied to the driver circuit TR.
Eine weitere Gemeinsamkeit besteht darin, dass sämtliche Mehrtransistorschaltungen MS, MCI, MC2 zusätzlich zu ihren jeweiligen Bit-Ausgängen S bzw. Cl bzw. C2 auch (in Fig. 4 nicht dargestellte) invertierte Bit-Ausgänge NS bzw. NC1 bzw. NC2 aufweisen. Der Knoten K2 steht mit dem jeweiligen nicht invertierten Bit-Ausgang S, Cl, C2 in Verbindung und der Knoten K3 ist mit dem jeweiligen invertierten Bit-Ausgang NS, NC1, NC2 verbunden.Another common feature is that all multi-transistor circuits MS, MCI, MC2 have, in addition to their respective bit outputs S or Cl or C2, also inverted bit outputs NS or NC1 or NC2 (not shown in FIG. 4). The node K2 is connected to the respective non-inverted bit output S, Cl, C2 and the node K3 is connected to the respective inverted bit output NS, NC1, NC2.
Nach Fig. 8 umfasst die Mehrtransitorschaltung MS insgesamt8, the multi-transistor circuit comprises MS as a whole
26 N-Kanal-Transistoren, die über ihre Basis entweder mit den Eingängen 10, ..., 16 oder den entsprechenden invertierten Eingängen NI0, ..., NI6 angesteuert werden.26 N-channel transistors, which are controlled via their base either with inputs 10, ..., 16 or the corresponding inverted inputs NI0, ..., NI6.
Zwei den Eingängen I0/NI0 zugeordnete Transistoren Nl_l, Nl_2 liegen mit ihren Source-Anschlüssen an der Bezugsspannung vss und speisen mit ihren Drain-Anschlüssen die restliche Mehrtransistorschaltung MS. Diese weist für jeden der Eingänge I1/NI1, ..., I6/NI6 jeweils vier N-Kanal-Transistoren N2_l, ... , N2_4 bzw. N3_l, ... , N3_4 bzw. N4_l , ... , N4_4 bzw. N5_l, ... , N5_4 bz . N6_l , ... , N6_4 bz . N7_l , ... , N7_4 auf. Die Drain-Anschlüsse der Transistoren Ni_l und Ni_3 sind miteinander verbunden und stehen mit den Source-Anschlüssen der Transistoren N(i+l)_l und N(i+1)_2 in Verbindung, und an- dererseits sind die Drain-Anschlüsse der Transistoren Ni_2 und Ni 4 miteinander verbunden und stehen mit den Source- Anschlüssen der Transistoren N(i+1)_3 und N(i+1)_4 in Verbindung, i = 1 , ... , 6.Two transistors Nl_l, Nl_2 assigned to the inputs I0 / NI0 are connected to the reference voltage vss with their source connections and feed the rest of the multi-transistor circuit MS with their drain connections. For each of the inputs I1 / NI1, ..., I6 / NI6, this has four N-channel transistors N2_l, ..., N2_4 or N3_l, ..., N3_4 or N4_l, ..., N4_4 or . N5_l, ..., N5_4 and. N6_l, ..., N6_4 resp. N7_l, ..., N7_4 on. The drain connections of the transistors Ni_l and Ni_3 are connected to one another and are connected to the source connections of the transistors N (i + l) _l and N (i + 1) _2, and on the other hand the drain connections of the transistors Ni_2 and Ni 4 connected together and stand with the source Connections of transistors N (i + 1) _3 and N (i + 1) _4 in connection, i = 1, ..., 6.
Ausgangsseitig steht der Knoten K2 mit den Drain-Anschlüssen der Transistoren N7_2 und N7_4 in Verbindung und der Knoten K3 steht mit den Drain-Anschlüssen der Transistoren N7_l und N7_3 in Verbindung. Dabei werden die Transistoren Ni_l und Ni_4 jeweils nicht-invertiert und die Transistoren Ni_2 und Ni_3 jeweils invertiert von dem betreffenden Eingang ange- steuert.On the output side, node K2 is connected to the drain connections of transistors N7_2 and N7_4 and node K3 is connected to the drain connections of transistors N7_1 and N7_3. The transistors Ni_l and Ni_4 are each non-inverted and the transistors Ni_2 and Ni_3 are each inverted by the relevant input.
Nach Fig. 9 weist die Mehrtransistorschaltung MCI zwei den Eingängen I0/NI0 zugeordnete N-Kanal-Transistoren Nl_l und Nl_2, vier den Eingängen Il/NIl zugeordnete N-Kanal-Tran- sistoren N2_l, ..., N2_4, sechs den Eingängen I2/NI2 zugeordnete N-Kanal-Transistoren N3_l, ..., N3_6 , acht den Eingängen I3/NI3 zugeordnete N-Kanal-Transistoren N4_l, ..., N4_8, acht den Eingängen I4/NI4 zugeordnete N-Kanal-Transistoren N5_l, ..., N5_8, acht den Eingängen I5/NI5 zugeordnete N-Kanal- Transistoren N6_l, ..., N6_8 und vier den Eingängen I6/NI6 zugeordnete N-Kanal-Transistoren N7_l, ..., N7_4 auf. Die Transistoren Ni_j mit einem geraden Index j werden invertiert angesteuert, während Transistoren mit einem ungeraden Index j nicht-invertiert angesteuert werden.9, the multi-transistor circuit MCI has two N-channel transistors Nl_l and Nl_2 assigned to the inputs I0 / NI0, four N-channel transistors N2_1,..., N2_4, six assigned to the inputs I1 / NI1, six to the inputs I2 / NI2 assigned N-channel transistors N3_l, ..., N3_6, eight N-channel transistors N4_l, ..., N4_8, eight assigned to inputs I3 / NI3, N4_8, eight N-channel transistors N5_l, assigned to inputs I4 / NI4 ..., N5_8, eight N-channel transistors N6_1, ..., N6_8 assigned to the inputs I5 / NI5 and four N-channel transistors N7_l, ..., N7_4 assigned to the inputs I6 / NI6. The transistors Ni_j with an even index j are driven inverted, while transistors with an odd index j are driven non-inverted.
Die Source-Anschlüsse der beiden Transistoren Nl_l und Nl_2 stehen mit Kl in Verbindung. Die Source-Anschlüsse der Transistoren N2_l und N2_2 sind mit dem Drain-Anschluss des Transistors Nl_l verbunden, und die Source-Anschlüsse der Tran- sistoren N2_3 und N2_4 sind mit dem Drain-Anschluss des Transistors Nl_2 verbunden. Die Source-Anschlüsse der Transistor- Paare N3_l, N3_2 bzw. N3_3, N3_4 bzw. N3_5, N3_6 sind mit den Drain-Anschlüssen der Transistoren N2_l bzw. N2_2 und N2_3 bzw. N2 4 verbunden.The source connections of the two transistors Nl_l and Nl_2 are connected to Kl. The source connections of the transistors N2_l and N2_2 are connected to the drain connection of the transistor Nl_l, and the source connections of the transistors N2_3 and N2_4 are connected to the drain connection of the transistor Nl_2. The source connections of the transistor pairs N3_l, N3_2 or N3_3, N3_4 or N3_5, N3_6 are connected to the drain connections of the transistors N2_l or N2_2 and N2_3 or N2 4.
Die Source-Anschlüsse der Transistor-Paare N4__l, N4_2 bzw. N4 3, N4 4 bzw. N4 5, N4 6 bzw. N4 7, N4 8 sind mit den Drain-Anschlüssen der Transistoren N3_l bzw. N3_2 und N3_3 bzw. N3_4 und N3_5 bzw. N3_6 verbunden. Die Source-Anschlüsse der Transistor-Paare N5_l, N5_2 bzw. N5_3, N5_4 bzw. N5_5 , N5_6 bzw. N5_7, N5_8 sind mit den Drain-Anschlüssen der Tran- sistoren N4_l und N4_8 bzw. N4_2 und N4_3 bzw. N4_4 und N4_5 bzw. N4_6 und N4_7 verbunden. Die Source-Anschlüsse der Transistor-Paare N6_l, N6_2 bzw. N6_3 , N6_4 bzw. N6_5, N6_6 bzw. N6_7, N6_8 sind mit den Drain-Anschlüssen der Transistoren N5_l und N5_8 bzw. N5_2 und N5_3 bzw. N5_4 und N5_5 bzw. N5_6 und N5_7 verbunden. Die Source-Anschlüsse der TransistorenThe source connections of the transistor pairs N4__l, N4_2 or N4 3, N4 4 or N4 5, N4 6 or N4 7, N4 8 are with the Drain connections of the transistors N3_l or N3_2 and N3_3 or N3_4 and N3_5 or N3_6 connected. The source connections of the transistor pairs N5_l, N5_2 or N5_3, N5_4 or N5_5, N5_6 or N5_7, N5_8 are connected to the drain connections of the transistors N4_l and N4_8 or N4_2 and N4_3 or N4_4 and N4_5 or N4_6 and N4_7 connected. The source connections of the transistor pairs N6_l, N6_2 or N6_3, N6_4 or N6_5, N6_6 or N6_7, N6_8 are with the drain connections of the transistors N5_l and N5_8 or N5_2 and N5_3 or N5_4 and N5_5 or N5_6 and N5_7 connected. The source connections of the transistors
N7_l und N7_2 sind mit den Drain-Anschlüssen der Transistoren N6_2 und N6_3 und die Source-Anschlüsse der Transistoren N7_3 und N7_4 sind mit den Drain-Anschlüssen der Transistoren N6_6 und N6_7 verbunden. Der Knoten K2 steht mit den Drain-An- Schlüssen der Transistoren N7_2 , N6_4 und N7_3 in Verbindung, und der Knoten K3 ist mit den Drain-Anschlüssen der Transistoren N6_l, N7_l, N7_4 und N6_8 verbunden.N7_l and N7_2 are connected to the drain connections of transistors N6_2 and N6_3 and the source connections of transistors N7_3 and N7_4 are connected to the drain connections of transistors N6_6 and N6_7. Node K2 is connected to the drain connections of transistors N7_2, N6_4 and N7_3, and node K3 is connected to the drain connections of transistors N6_l, N7_l, N7_4 and N6_8.
Nach Fig. 10 sind bei der Mehrtransistorschaltung MC2 zwei N- Kanal-Transistoren Nl__l, Nl_2 den Eingängen I0/NI0 zugeordnet, vier N-Kanal-Transistoren N2_l, ..., N2_4 sind den Eingängen Il/NIl zugeordnet, sechs N-Kanal-Transistoren N3_l, ..., N3_6 sind den Eingängen I2/NI2 zugeordnet, acht N-Kanal- Transistoren N4_l, ..., N4_8 sind den Eingängen I3/NI3 zuge- ordnet, sechs N-Kanal-Transistoren N5_l, ..., N5_6 sind den Eingängen I4/NI4 zugeordnet, vier N-Kanal-Transistoren N6_l, ..., N6_4 sind den Eingängen I5/NI5 zugeordnet, und zwei N- Kanal-Transistoren N7_l, N7_2 sind den Eingängen I6/NI6 zugeordnet .10, two N-channel transistors N1__l, Nl_2 are assigned to the inputs I0 / NI0 in the multi-transistor circuit MC2, four N-channel transistors N2_l, ..., N2_4 are assigned to the inputs Il / NIl, six N-channels -Transistors N3_l, ..., N3_6 are assigned to inputs I2 / NI2, eight N-channel transistors N4_l, ..., N4_8 are assigned to inputs I3 / NI3, six N-channel transistors N5_l, .. ., N5_6 are assigned to the inputs I4 / NI4, four N-channel transistors N6_l, ..., N6_4 are assigned to the inputs I5 / NI5, and two N-channel transistors N7_l, N7_2 are assigned to the inputs I6 / NI6.
Bezüglich der Transistoren Ni_j mit i = 1, 2, 3, 4 ist die Mehrtransistorschaltung MC2 identisch mit der Mehrtransistorschaltung MCI .With regard to the transistors Ni_j with i = 1, 2, 3, 4, the multi-transistor circuit MC2 is identical to the multi-transistor circuit MCI.
Die Source-Anschlüsse der Transistor-Paare N5__l, N5_2 bzw.The source connections of the transistor pairs N5__l, N5_2 or
N5_3, N5_4 bzw. N5_5, N5_6 sind mit den Drain-Anschlüssen der Transistoren N4 2 und N4 3 bzw. N4 4 und N4 5 bzw. N4 6 und
Figure imgf000017_0001
N5_3, N5_4 and N5_5, N5_6 are with the drain connections of the transistors N4 2 and N4 3 or N4 4 and N4 5 or N4 6 and
Figure imgf000017_0001
KK
Figure imgf000017_0002
Figure imgf000017_0002
co co t t F> F1 cπ o cπ o cπ O cπco co tt F> F 1 cπ o cπ o cπ O cπ
Figure imgf000018_0001
Figure imgf000018_0001
gleicher Wertigkeit der Dualzahlen ZI, Z2, ..., Z15 sind in den Spalten SO, Sl, ..., S4 eingetragen. Jede Spalte SO, Sl, ... , S4 enthält also einen Bit-Satz bestehend aus 15 Bits derselben Wertigkeit.the same value of the dual numbers ZI, Z2, ..., Z15 are entered in the columns SO, Sl, ..., S4. Each column SO, Sl, ..., S4 thus contains a bit set consisting of 15 bits of the same value.
Unterhalb jeder Spalte SO bis S4 sind die zugehörigen Bit- Satz-Addierer dargestellt. Jeder Bit-Satz-Addierer umfasst in dem dargestellten Addiererausschnitt jeweils drei 7-zu-3 CS Addierer. Die zur Addition des Bit-Satzes der Spalte SO vor- gesehenen 7-zu-3 CS Addierer sind mit B0.1, B0.2, B0.3 bezeichnet, und in analoger Notation sind die den Spalten Sl bis S4 zugeordneten Addiererblöcke mit Bl.l, B1.2, Bl .3 ; B2.1, B2.2, B2.3; B3.1, B3.2, B .3 und B4.1, B4.2 , B4.3 bezeichnet .The associated bit set adders are shown below each column SO to S4. In the adder section shown, each bit set adder comprises three 7-to-3 CS adders. The 7-to-3 CS adders provided for the addition of the bit set of the SO column are designated B0.1, B0.2, B0.3, and in analog notation the adder blocks assigned to the columns S1 to S4 are identified by Bl .l, B1.2, Bl .3; B2.1, B2.2, B2.3; B3.1, B3.2, B .3 and B4.1, B4.2, B4.3.
Von den 15 Bits einer jeden Spalte n, n = 0, 1, ..., 4, werden 7 Bits den Eingängen iO, il, ..., i6 des ersten 7-zu-3 CS Addierers Bn.l zugeleitet, weitere vier Bits werden vier Addierer-Eingängen (hier bezeichnet als i7, i8, i9, ilO) des 7- zu-3 CS Addierers Bn.2 der zweiten Stufe zugeleitet, und die letzten vier Bits eines Bit-Satzes werden jeweils vier Eingängen (hier mit dem Bezugszeichen ill, il2, il3, il4 bezeichnet) des 7-zu-3 CS Addierers Bn.3 der dritten Stufe zugeführt .Of the 15 bits of each column n, n = 0, 1, ..., 4, 7 bits are fed to the inputs iO, il, ..., i6 of the first 7-to-3 CS adder Bn.l, further four bits are fed to four adder inputs (referred to here as i7, i8, i9, ilO) of the 7 to 3 CS adder Bn.2 of the second stage, and the last four bits of a bit set are each assigned four inputs (here with the reference numerals ill, il2, il3, il4) of the 7-to-3 CS adder Bn.3 fed to the third stage.
Zur Berücksichtigung der Überträge sind 7-zu-3 CS Addierer benachbarter Stufen diagonal verschaltet. So ist der Übertrags-Ausgang cl des 7-zu-3 CS Addierers B0.1 (welcher der ersten Stufe angehört) mit einem Eingang des in der zweiten Addiererstufe angeordneten 7-zu-3 CS Addierers B1.2 nächst höherer Wertigkeit verschaltet. Der Übertrags-Ausgang c2 des 7-zu-3 CS Addierers B0.1 ist mit einem Eingang des 7-zu-3 Addiererblocks B2.2 verbunden. Der 7-zu-3 CS Addierer B2.2 gehört ebenfalls der zweiten Addiererstufe an, ist jedoch der Spalte S2 zugeordnet, d.h. addiert Bits einer um den Faktor 2 höheren Wertigkeit als der 7-zu-3 CS Addierer B1.2. > o t to F1 cπ o cπ o cπ o cπ tsi φ d fi 0To take the carryovers into account, 7-to-3 CS adders of adjacent stages are connected diagonally. The carry output cl of the 7-to-3 CS adder B0.1 (which belongs to the first stage) is connected to an input of the 7-to-3 CS adder B1.2 arranged in the second adder stage with the next higher value. The carry output c2 of the 7-to-3 CS adder B0.1 is connected to an input of the 7-to-3 adder block B2.2. The 7-to-3 CS adder B2.2 also belongs to the second adder stage, but is assigned to the column S2, ie it adds bits of a higher value by a factor of 2 than the 7-to-3 CS adder B1.2. > ot to F 1 cπ o cπ o cπ o cπ tsi φ d fi 0
Φ CQΦ CQ
HH
OiOi
CQ Φ rt fi dCQ fi rt fi d
Hl ΩHl Ω
Φ ΦΦ Φ
CQ d SUCQ d SU
0 30 3
Oi rtOi rt
1 td φ Φ o. Ω φ 0-1 td φ Φ o. Ω φ 0-
3 Φ3 Φ
0 l N0 l N
1 Φ tsi F- d rt1 Φ tsi F- d rt
1 ω tr1 ω tr
ΦΦ
Cl fiCl fi
CQ ΦCQ Φ
F- rt o- tnF- rt o- tn
F o- SU φ d fi CQ φ fi OF o- SU φ d fi CQ φ fi O
ΦΦ
Oi fiOi fi
Φ fi f-3Φ fi f-3
SUSU
CQ rt rt CQ d fuCQ rt rt CQ d fu
Hl ΩHl Ω
Φ J φ cn - rt φ rt S oU.Φ J φ cn - rt φ rt S oU.
CQ cn tnCQ cn tn
NN
3 F- φ 0
Figure imgf000020_0001
F-
Figure imgf000020_0002
3 F- φ 0
Figure imgf000020_0001
F-
Figure imgf000020_0002
die besondere Eignung des 7-zu-3 CS Addierers als Basiselement in Addierer-Kaskaden vielfältiger Bauart.the special suitability of the 7-to-3 CS adder as a basic element in adder cascades of various designs.
Fig. 12 zeigt eine schematische Darstellung eines 64x64 Bit Multiplizierers. Der Multiplizierer basiert auf der Addition der Partialprodukte, welche sich bei der Multiplikation eines Multiplikants Ml mit jeweils einer bestimmten Stelle eines Multiplikators M2 ergeben. Die Partialprodukte Pl, P2, ..., P32 sind in Fig. 12 jeweils um zwei Stellen versetzt zueinan- der dargestellt. Der Multiplikator M2 ist dabei nach demFig. 12 shows a schematic representation of a 64x64 bit multiplier. The multiplier is based on the addition of the partial products, which result from the multiplication of a multiplier Ml by a particular position of a multiplier M2. The partial products P1, P2, ..., P32 are each shown in FIG. 12 offset by two places from one another. The multiplier M2 is after the
Booth-Algorithmus codiert, bei welchem die Bits des Multiplikators M2 in Paaren zusammengefaßt sind. Der Vorteil des Booth-Algorithmus besteht bekanntermaßen darin, dass sich durch die Codierung des Multiplikators M2 die Anzahl der be- nötigten Addiererstufen zur Addition der Partialsummen halbiert. Die maximale Anzahl der zu addierenden Bits beträgt 33 Bits. Das 33. Bit ist ein Korrektur-Bit, das bei der eventuellen Subtraktion einer Dualzahl im Zweierkomplement hinzuaddiert werden muß (das Zweierkomplement einer Dualzahl ergibt sich bekanntermaßen durch Negation aller Stellen und Addition des Korrektur-Bits 1) .Booth algorithm coded, in which the bits of the multiplier M2 are combined in pairs. As is known, the advantage of the Booth algorithm is that the coding of the multiplier M2 halves the number of adder stages required to add the partial sums. The maximum number of bits to be added is 33 bits. The 33rd bit is a correction bit that must be added when subtracting a binary number in two's complement (the two's complement of a dual number is known to result from negating all digits and adding correction bit 1).
Fig. 13 veranschaulicht in schematischer Weise die Stufenstruktur eines herkömmlichen WT-Addierers mit 3-zu-2 CS Ad- dierern zur Addition von 33 Bits gleicher Wertigkeit. In der Darstellung sind die Eingangs-Bits einer jeden Stufe als Kästchen-Säule dargestellt. Jedes Kästchen entspricht einem Eingabe-Bit. Schraffiert dargestellte Eingabe-Bits werden nicht in der entsprechenden Stufe verarbeitet sondern direkt der nächsten Stufe zugeleitet. Da ein WT-Addierer in jeder Stufe Übertrags-Bits von einem benachbarten (nicht dargestellten) WT-Addierer nächst kleinerer Wertigkeit entgegennimmt und gleichermaßen Übertrags-Bits für einen (nicht dargestellten) WT-Addierer nächst höherer Wertigkeit ausgibt, - siehe Fig. 1 - ist Fig. 13 nicht als Schaltbild, sondern allein als Stufenbilanz-Darstellung zu verstehen. Fig. 13 macht deutlich, dass insgesamt neun Stufen zur Addition der 33 Bits benötigt werden. Die erste Stufe weist 11 3- zu-2 CS Volladdierer auf und die nachfolgenden 7 Stufen enthalten 7, 5, 3, 2, 1, 1, 1 3-zu-2 CS Volladdierer. Die letzte Stufe enthält einen 3-zu-2 Volladdierer, der als 2-Bit Carry- Ripple (CR) Addierer ausgeführt ist, das heißt ein Übertrags- Bit von einem 3-zu-2 CR Addierer der letzten Stufe des benachbarten Bit-Satz-Addierers (nicht dargestellt) empfängt.FIG. 13 schematically illustrates the step structure of a conventional WT adder with 3-to-2 CS adders for adding 33 bits of the same value. In the illustration, the input bits of each stage are shown as a box column. Each box corresponds to an input bit. Input bits shown with hatching are not processed in the corresponding stage, but are passed directly to the next stage. Since a WT adder receives carry bits in each stage from an adjacent (not shown) WT adder of the next lower value and similarly outputs carry bits for a (not shown) WT adder of next higher value, - see FIG. 1 - 13 is not to be understood as a circuit diagram, but only as a step balance representation. 13 makes it clear that a total of nine stages are required to add the 33 bits. The first stage has 11 3-to-2 CS full adders and the subsequent 7 stages contain 7, 5, 3, 2, 1, 1, 1 3-to-2 CS full adders. The last stage contains a 3-to-2 full adder which is designed as a 2-bit carry-ripple (CR) adder, that is to say a carry bit from a 3-to-2 CR adder of the last stage of the adjacent bit set -Addierers (not shown) receives.
Der in der letzten Stufe des Bit-Satz-Addierers (Addiererbaums) eingesetzte 3-zu-2 CR Addierer unterscheidet sich von den 3-zu-2 CS Addierern des WT-Addierers dadurch, dass einer seiner drei Eingänge speziell für das CR Übertrags-Bit vorgesehenen und zeitlich optimiert ist. Der Grund hierfür besteht darin, dass das CR Übertrags-Bit sequentiell sämtliche Addierer der Ausgabestufe des Addiererbaums (d.h. durch die CR 3- zu-2 Addierer) hindurch prozessiert werden muß und daher die Rechengeschwindigkeit des gesamten Addiererbaums limitiert. Die logische Funktionalität von CS und CR Addierern ist indes dieselbe.The 3-to-2 CR adder used in the last stage of the bit set adder (adder tree) differs from the 3-to-2 CS adders of the WT adder in that one of its three inputs is specifically for the CR transmit Bit provided and is optimized in terms of time. The reason for this is that the CR carry bit has to be processed sequentially through all adders of the output stage of the adder tree (i.e. through the CR 3 to 2 adders) and therefore limits the computing speed of the entire adder tree. The logical functionality of CS and CR adders is the same.
Fig. 14 zeigt ein der Fig. 13 entsprechendes Stufendiagramm eines erfindungsgemäßen Bit-Satz-Addierers zum Addieren von 33 Bits gleicher Wertigkeit. Im Gegensatz zu Fig. 13 weist der erfindungsgemäße Bit-Satz-Addierer lediglich 5 Stufen auf. Die ersten drei Stufen umfassen 5, 2 und 1 7-zu-3 CS Addierer. Die 4. Stufe besteht aus einem 3-zu-2 CS Addierer. Die letzte (5.) Stufe ist wiederum als 3-zu-2 CR Addierer aufgebaut .FIG. 14 shows a step diagram corresponding to FIG. 13 of a bit set adder according to the invention for adding 33 bits of the same value. In contrast to FIG. 13, the bit set adder according to the invention has only 5 stages. The first three stages include 5, 2 and 1 7-to-3 CS adders. The 4th stage consists of a 3-to-2 CS adder. The last (5th) stage is again constructed as a 3-to-2 CR adder.
Aus den Fig. 13 und 14 wird deutlich, dass durch die Verwendung von 7-zu-3 CS Addierern die Anzahl der Stufen in einem Bit-Satz-Addierer (d.h. einem Addierer, der Bits gleicher Wertigkeit summiert) im Vergleich zum herkömmlichen Aufbau deutlich verringert werden kann. It is clear from FIGS. 13 and 14 that by using 7-to-3 CS adders, the number of stages in a bit set adder (ie an adder which sums bits of the same value) becomes clear in comparison with the conventional design can be reduced.

Claims

Patentansprüche claims
1. Carry-Save Addierer zum Summieren von Bits gleicher Wertigkeit, d a d u r c h g e k e n n z e i c h n e t, dass der Carry-Save Addierer1. Carry-save adder for the summation of bits of the same value, that is, that the carry-save adder
- 7 Eingänge (iO, il, ..., i6) zur Entgegennahme von 7 zu summierenden Bits jeweils gleicher Wertigkeit w und- 7 inputs (ok, il, ..., i6) for accepting 7 bits to be summed, each with the same value w and
- einen Ausgang (s) für ein Summen-Bit der Wertigkeit w sowie zwei Ausgänge (cl, c2) für zwei Übertrags-Bits der Wertigkeiten 2w und 4w aufweist.- An output (s) for a sum bit of the valency w and two outputs (cl, c2) for two carry bits of the valences 2w and 4w.
2. Carry-Save Addierer nach Anspruch 1 d a d u r c h g e k e n n z e i c h n e t, - dass der Carry-Save Addierer aus drei parallel zueinander angeordneten Addierersubblöcken aufgebaut ist, wobei ein erster Addierersubblock (ADD-S) das Summen-Bit (s) erzeugt, ein zweiter Addierersubblock (ADD-Cl) das Übertrags-Bit (cl) der Wertigkeit 2w erzeugt und der dritte Addierersub- block (ADD-C2) das Übertrags-Bit (c2) der Wertigkeit 4w erzeugt .2. Carry-save adder according to claim 1, characterized in that the carry-save adder is constructed from three adder sub-blocks arranged parallel to one another, a first adder sub-block (ADD-S) generating the sum bit (s), a second adder sub-block (ADD -Cl) generates the carry bit (cl) of valency 2w and the third adder sub-block (ADD-C2) generates the carry bit (c2) of valency 4w.
3. Carry-Save Addierer nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, - dass wenigstens ein und insbesondere jeder Addierersubblock (ADD-S, ADD-Cl, ADD-C2) aus Logikgattern aufgebaut ist.3. Carry-save adder according to claim 2, d a d u r c h g e k e n n e e c h n e t, - that at least one and in particular each adder subblock (ADD-S, ADD-Cl, ADD-C2) is constructed from logic gates.
4. Carry-Save Addierer nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t, - dass der und insbesondere jeder Addierersubblock (ADD-S,4. carry-save adder according to claim 3, d a d u r c h g e k e n n z e i c h n e t, - that and in particular each adder subblock (ADD-S,
ADD-Cl, ADD-C2) aus maximal drei hintereinander geschalteten Logiggatterstufen realisiert ist.ADD-Cl, ADD-C2) is realized from a maximum of three consecutive logic gate stages.
5. Carry-Save Addierer nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, - dass ein und insbesondere jeder Addierersubblock (ADD-S, ADD-Cl, ADD-C2) aus einer Mehrtransistorschaltung besteht, welche nicht in Logikgatter auflösbar ist.5. Carry-save adder according to claim 2, characterized in - That one and in particular each adder sub-block (ADD-S, ADD-Cl, ADD-C2) consists of a multi-transistor circuit which cannot be resolved into logic gates.
6. Carry-Save Addierer nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t,6. carry-save adder according to claim 5, d a d u r c h g e k e n n z e i c h n e t,
- dass in der Mehrtransistorschaltung (MS) , die den Addierersubblock (ADD-S) zur Berechnung des Summen-Bits bildet, jeder Eingang (I0/NI0, ..., I6/NI6) vier Transistoren (Ni_j ) ansteuert.- That in the multi-transistor circuit (MS), which forms the adder sub-block (ADD-S) for calculating the sum bit, each input (I0 / NI0, ..., I6 / NI6) controls four transistors (Ni_j).
7. Carry-Save Addierer nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t,7. carry-save adder according to claim 5, d a d u r c h g e k e n n z e i c h n e t,
- dass in der Mehrtransistorschaltung (MCI) , die den Addie- rersubblock (ADD-Cl) zur Berechnung des Übertrags-Bits der- That in the multi-transistor circuit (MCI), the adder sub-block (ADD-Cl) for calculating the carry bits of the
Wertigkeit 2w bildet, ein erster Eingang (I0/NI0) zwei Transistoren, ein zweiter (Il/NIl) und ein dritter (I6/NI6) Eingang jeweils vier Transistoren, ein vierter Eingang (I2/NI2) sechs Transistoren und ein fünfter (I3/NI3), ein sechster (I4/NI4) und ein siebter (I5/NI5) Eingang jeweils 8 Transistoren ansteuern.Validity 2w forms, a first input (I0 / NI0) two transistors, a second (Il / NIl) and a third (I6 / NI6) input four transistors each, a fourth input (I2 / NI2) six transistors and a fifth (I3 / NI3), a sixth (I4 / NI4) and a seventh (I5 / NI5) input each control 8 transistors.
8. Carry-Save Addierer nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t, - dass in der Mehrtransistorschaltung (MC2) , die den Addierersubblock (ADD-C2) zur Berechnung des Übertrags-Bits der Wertigkeit 4w bildet, ein erster (I0/NI0) und ein zweiter (I6/NI6) Eingang jeweils zwei Transistoren, ein zweiter (Il/NIl) und ein dritter (I5/NI5) Eingang jeweils vier Transistoren, ein fünfter (I2/NI2) und ein sechster8. Carry-save adder according to claim 5, characterized in that - in the multi-transistor circuit (MC2), which forms the adder sub-block (ADD-C2) for calculating the carry bits of the significance 4w, a first (I0 / NI0) and a second (I6 / NI6) input two transistors each, a second (Il / NI1) and a third (I5 / NI5) input four transistors each, a fifth (I2 / NI2) and a sixth
(I4/NI4) Eingang jeweils 6 Transistoren und ein siebter Eingang (I3/NI3) acht Transistoren ansteuern.(I4 / NI4) input control 6 transistors each and a seventh input (I3 / NI3) control eight transistors.
9. Carry-Save Addierer nach einem der Ansprüche 5 bis 8, g e k e n n z e i c h n e t durch9. carry-save adder according to one of claims 5 to 8, g e k e n n z e i c h n e t by
- eine Aufladeschaltung (TR) , die mit der Mehrtransistorschaltung (MS; MCI; MC2) derart verbunden ist, dass sie ü- ber diese in Abhängigkeit von den an den Eingängen des Addierers anliegenden Bits entladen wird.- A charging circuit (TR) which is connected to the multi-transistor circuit (MS; MCI; MC2) in such a way that it it is discharged depending on the bits present at the inputs of the adder.
10. Übertragserhaltender Addierer zum Summieren einer Mehr- zahl von Bit-Sätzen, wobei die in einem Bit-Satz (SO, ...,10. Carry-maintaining adder for summing a plurality of bit sets, the ones in a bit set (SO, ...,
S4) enthaltenen Bits dieselbe Wertigkeit und Bits unterschiedlicher Bit-Sätze (SO, ..., S4) unterschiedliche Wertigkeiten aufweisen, und wobei jedem Bit-Satz ein Bit-Satz- Addierer zugeordnet ist, welcher unter Berücksichtigung von bei der Summation von Bit-Sätzen niedrigerer Wertigkeit gewonnenen Überträgen ein Bit der Wertigkeit des jeweiligen Bit-Satzes berechnet, d a d u r c h g e k e n n z e i c h n e t,S4) contain bits of the same value and bits of different bit sets (SO, ..., S4) have different values, and each bit set is assigned a bit set adder which, taking into account the sum of bit Sets of lower value transfers are calculated to calculate a bit of the value of the respective bit set, characterized in that
- dass zumindest ein Bit-Satz-Addierer wenigstens einen Car- ry-Save 7-zu-3 Addierer (BO.1-3, Bl.1-3, B2.1-3) mit- That at least one bit set adder with at least one Carrier-Save 7-to-3 adder (BO.1-3, Bl.1-3, B2.1-3)
-- 7 Eingängen (iO, il, ..., i6) für die Eingabe von 7 zu summierenden Bits jeweils der Wertigkeit w, und -- einem Ausgang (s) für ein Summen-Bit der Wertigkeit w und zwei Ausgängen (cl, c2) für zwei Übertrags-Bits der Wer- tigkeiten 2w und 4w umfasst .- 7 inputs (iO, il, ..., i6) for the input of 7 bits to be summed, each with value w, and - one output (s) for a sum bit with value w and two outputs (cl, c2) for two carry bits of the values 2w and 4w.
11. Übertragserhaltender Addierer nach Anspruch 10, d a d u r c h g e k e n n z e i c h n e t, - dass bei dem 7-zu-3 Carry-Save Addierer (BO.1-3, Bl.1-3, B2.1-3) 2 der 7 Eingänge als Eingänge für Übertrags-Bits genutzt werden.11. Carry-maintaining adder according to claim 10, characterized in that - in the 7-to-3 carry-save adder (BO.1-3, Bl.1-3, B2.1-3) 2 of the 7 inputs as inputs for carry Bits are used.
12. Übertragserhaltender Addierer nach Anspruch 11, d a d u r c h g e k e n n z e i c h n e t,12. carry-maintaining adder according to claim 11, d a d u r c h g e k e n n z e i c h n e t,
- dass mehrere Stufen mehrerer benachbarter Bit-Satz-Addierer aus einem Array von 7-zu-3 Carry-Save Addierern (BO.1-3, Bl.1-3, B2.1-3) aufgebaut sind.- That several stages of several adjacent bit set adders are constructed from an array of 7-to-3 carry-save adders (BO.1-3, Bl.1-3, B2.1-3).
13. Übertragserhaltender Addierer nach Anspruch 10 bis 12, d a d u r c h g e k e n n z e i c h n e t, dass der Addierer in einem Multiplizierer zur Summation von Partialsummen (Pl, P2 , ..., P32) enthalten ist. 13. carry-maintaining adder according to claim 10 to 12, characterized in that the adder is contained in a multiplier for summing partial sums (Pl, P2, ..., P32).
PCT/DE2002/000656 2001-03-01 2002-02-22 7 to 3 bit carry-save adder WO2002071203A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10109966.5 2001-03-01
DE10109966 2001-03-01
DE10130484A DE10130484B4 (en) 2001-03-01 2001-06-25 7-to-3 bit carry-save adder and adder with it
DE10130484.6 2001-06-25

Publications (2)

Publication Number Publication Date
WO2002071203A2 true WO2002071203A2 (en) 2002-09-12
WO2002071203A3 WO2002071203A3 (en) 2003-04-03

Family

ID=26008658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2002/000656 WO2002071203A2 (en) 2001-03-01 2002-02-22 7 to 3 bit carry-save adder

Country Status (1)

Country Link
WO (1) WO2002071203A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603776A (en) * 1969-01-15 1971-09-07 Ibm Binary batch adder utilizing threshold counters
US3723715A (en) * 1971-08-25 1973-03-27 Ibm Fast modulo threshold operator binary adder for multi-number additions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603776A (en) * 1969-01-15 1971-09-07 Ibm Binary batch adder utilizing threshold counters
US3723715A (en) * 1971-08-25 1973-03-27 Ibm Fast modulo threshold operator binary adder for multi-number additions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ETIEMBLE D ET AL: "COMPARISON OF BINARY AND MULTIVALUED ECL ICS FOR IMPLEMENTATION OF THRESHOLD FUNCTIONS" PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON MULTIPLE VALUED LOGIC. BOSTON, MAY 26 - 28, 1987, WASHINGTON, IEEE COMP. SOC. PRESS, US, Bd. SYMP. 17, 26. Mai 1987 (1987-05-26), Seiten 134-141, XP000040445 *
SONG P J ET AL: "CIRCUIT AND ARCHITECTURE TRADE-OFFS FOR HIGH-SPEED MULTIPLICATION" IEEE JOURNAL OF SOLID-STATE CIRCUITS, IEEE INC. NEW YORK, US, Bd. 26, Nr. 9, 1. September 1991 (1991-09-01), Seiten 1184-1198, XP000262814 ISSN: 0018-9200 *

Also Published As

Publication number Publication date
WO2002071203A3 (en) 2003-04-03

Similar Documents

Publication Publication Date Title
EP0049216B1 (en) Calculating unit including a parallel bidirectional shifting means
DE3036747A1 (en) BINARY MULTIPLICATION CELL SWITCHING
DE4101004A1 (en) PARALLEL MULTIPLIER WITH SPRUNGFIELD AND MODIFIED WALLAC TREE
EP0178424B1 (en) Semisystolic cell-structured digital multiplier
EP0383965A1 (en) Multiplier
EP0453641A2 (en) CORDIC-processor for vector rotation with carry-save architecture
EP0352549B1 (en) Carry select adder
DE3434777C2 (en)
DE2732008A1 (en) DEVICE FOR THE REDUCTION OF FIBONACCI-P CODES TO THE MINIMAL FORM
DE2750212A1 (en) FACILITY FOR THE EDUCATION AND ACCUMULATION OF PRODUCTS
DE10117041C1 (en) Carry-ripple adder has inputs for input bits of same value and carry-over inputs and sum output and carry-over outputs
EP0224656B1 (en) Cmos technique multistage carry ripple adder with two types of adder cells
EP0090298A1 (en) MOS integrated circuit fast multiplier
DE10305849B3 (en) Carry-ripple adder for addition of bits of similar value has 3 inputs for input bits to be summated, carry inputs for carry bits, output for calculated sum bit and carry outputs for carry bits
WO2002071203A2 (en) 7 to 3 bit carry-save adder
DE3323607A1 (en) DIGITAL CALCULATION
DE10130484B4 (en) 7-to-3 bit carry-save adder and adder with it
DE2017132A1 (en) Binary parallel adder
DE2913729C2 (en) Circuit arrangement for bit-parallel binary addition or for shifting binary numbers
DE2800598A1 (en) PARALLEL ADDING UNIT
DE10139099C2 (en) Carry ripple adder
EP0424410B1 (en) Multiplier
EP0433315A1 (en) Circuits for adding or subtracting bcd-coded or dual-coded operands
DE10206830B4 (en) Method and arrangement for merging data from parallel data paths
DE10130483A1 (en) 6-to-3 bit carry-save adder

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP