EP0442356A2

Weighted-delay column adder and method of organizing same.

Abstract

An adder array for adding two or more input addends, whose bit lengths are not necessarily matched, and a method of configuring the adder array are disclosed. The addends are organized according to bit weight, and bits of equal weight are added in adder columns. Carry-outs are introduced into subsequent, higher weight adder columns according to delay. Thereby, the delay associated with the addition of the addends is minimized. Method and apparatus is disclosed.

EP0442356A2, drawing sheet 1
Sheet 1 of 24

Term

Term ended

Projected expiry passed 6 February 2011, 15.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

14 claims: 7 independent, 7 dependent

  1. 1
    A method of adding two or more binary numbers, comprising:organizing binary numbers into columns of input bits according to the binary-weight of the individual input bits;arranging a plurality of adders in chains, each adder chain having a binary significance associated therewith and representing a column for adding input bits of a particular binary-weight;determining propogation delays for each adder output in each adder chain;applying the input bits to the adder chains for addition at points which have the shortest possible propogation delays associated therewith;and    applying carry-outs from an adder chain of a given binary significance to the next more significant adder chain at points which have the most nearly matched propogation delays associated therewith.
  2. 6
    A method of adding binary numbers, comprising:organizing the component bits of the binary numbers according to binary-weight;adding together the component bits of a given binary weight;adding carry-outs from the addition of component bits at a given binary-weight with component bits at the next higher binary weight;and    matching delays associated with the carry-outs at a given binary weight with delays inherent in the addition of the component bits at the next higher binary weight.
  3. 7
    A method of multiplying binary numbers of equal or dissimilar bit width, comprising:multiplying binary numbers and obtaining one-bit partial products of the multiplication;orgainizing the partial products according to binary-weight;adding together the partial products of a given binary weight;adding carry-outs from the addition of partial products at a given binary-weight with partial products at the next higher binary weight;and    matching delays associated with the carry-outs at a given binary weight with delays inherent in the addition of the partial products at the next higher binary weight.
  4. 8
    A method of adding binary numbers comprising:organizing the binary numbers according to bit weight;adding bits of equal weight to provide one-bit intermediate results, a one-bit result and one-bit carry-outs, each of said intermediate results having an associated delay and each of said carry-outs having an associated delay;and    introducing the carry-outs into the addition of higher weight bits together with intermediate results of comparable delay.
  5. 9
    A method of adding two or more binary numbers whose bit lengths may or may not be matched, comprising:organizing said binary numbers into columns of input bits according to their weight and applying them to column arrays of adders such that the binary inputs which have the shortest associated delays are applied at the top of the column array of adders;and    applying carries from the previous column of adders to the current column array such that the delays associated with the carries are as closely matched as possible to the delays associated with the signals in the current column at the point of their introduction, where longer delays will be applied nearer to the bottom (end) of the current column and shorter delays nearer the top (beginning) of the current column.
  6. 11
    A weighted-delay column adder for adding binary numbers, comprising:an array of adders interconnected in chains in a plurality of columns, each column corresponding to the significance of the bits of binary numbers (addends) being added and receiving those bits;a first, least significant column of the array of adders organized such that the least significant column of bits from the binary inputs are applied to the adder chains at points having the most nearly matched delay associated therewith, and organized such that the overall delay associated with the column is minimized, with the first column producing a carry-out from each of its component adders which will be passed on to the next more significant column, and also producing a final column result (sum) which may then be taken as the least significant bit of the total addition;successive higher columns of the array of adders, each processing the next higher significant column of bits from the binary inputs and the carry signal(s) from the next less significant column, and organized such that the input bits are applied to the chain at points having the most nearly matched delay associated therewith, and that the carry signal(s) from the next less significant column array is (are) applied to the array at a point where the delays within the column closest match the delay(s) associated with it (them) or are least impacted by the delay(s) associated with the carry signal(s) from said next less significant column, with each said successive column of the array of adders producing either one or two end results, one of which may be the carry signal from the next less significant column with the longest delay associated with it, both of which said end results may be passed on to a final parallel adder stage, and each of said successive columns of the array of adders also producing carry-out signals from each of its component adders which will be passed on to the next more significant column of the array of adders, until a column is reached where there are no more than a total of two inputs, including carries;and    a final column, having no more than two inputs, including carry signals, whose input signals and/or carry signals are passed directly on to a final parallel adder stage;
  7. 14
    A weighted-delay column adder for adding binary numbers, comprising:a plurality of adders arranged in columns, from a least significant column to a most significant, each column corresponding to the significance (weight) of the bits of binary numbers being added;a first, least significant column receiving the least significant bits of binary numbers being added, providing a result and providing a carry-out to the next more significant column;subsequent, next more significant columns receiving the corresponding next higher significant bits of the binary numbers being added and the carry-outs from less significant columns, providing a result and providing a carry-out to the next more significant column;and    a final, most significant column receiving the most significant bits of the binary numbers being added and the carry-outs from the next less significant column and providing a result;wherein delays are associated with positions along the columns;wherein the carry-outs have delays;and    the carry-outs from the columns are provided to the more significant columns at positions closely matching the carry-out delays.