Direct decimal number tripling in binary coded adders
AssigneeInternational Business Machines Corporation
InventorsMark Alan Erle, Brian John Hickmann
Life of this patent
Estimating the term…
Abstract
The digital propagate, digit generate, sum+0, and sum+1 terms used in typical carry-propagate adders are generated directly off the multiplicand. During the direct generation, the logic takes into account that each digit will be tripled and if each digit's next less significant digit is greater than 4. Using this technique, the generation of the multiplicand is significantly faster and uses less circuitry.
Claims20
A method for multiplying a multiplicand and a multiplier, the method comprising:
- accessing a multiplicand and a multiplier each of which is binary-coded decimal multi-digit number;
- generating a triple of the multiplicand by
- producing a greater than four (GT4) value for each multiplicand decimal digit based on whether the decimal digit is greater than four;
- using the GT4 value for each multiplicand decimal digit to produce each of,
- a digit generate value,
- a digit propagate value,
- a sum+0 value, and
- a sum+1 value;
- using each of the digit generate value and the digit propagate value to select either one of the sum+0 value and the sum+1 value for each multiplicand decimal digit, thereby resulting in a tripling the multiplicand;
- and
- generating, using an adder array, a multiple of the multiplier and the multiplicand using the multiplicand that has been tripled.
A non-transitory computer program storage product for multiplying a multiplicand and a multiplier, the computer program storage product comprising instructions configured to perform a method, comprising:
- accessing a multiplicand and a multiplier each of which is binary-coded decimal multi-digit number;
- generating a triple of the multiplicand by
- producing a greater than four (GT4) value for each multiplicand decimal digit based on whether the decimal digit is greater than four;
- using the GT4 value for each multiplicand decimal digit to produce each of,
- a digit generate value,
- a digit propagate value,
- a sum+0 value, and
- a sum+1 value;
- using each of the digit generate value and the digit propagate value to select either one of the sum+0 value and the sum+1 value for each multiplicand decimal digit, thereby resulting in a tripling the multiplicand;
- and
- generating, using an adder array, a multiple of the multiplier and the multiplicand using the multiplicand that has been tripled.
A multiplier for multiplying a multiplicand and a multiplier, the apparatus comprising:
- apparatus for
- accessing a multiplicand and a multiplier each of which is binary-coded decimal multi-digit number;
- generating a triple of the multiplicand by
- producing a greater than four (GT4) value for each multiplicand decimal digit based on whether the decimal digit is greater than four;
- using the GT4 value for each multiplicand decimal digit to produce each of,
- a digit generate value,
- a digit propagate value,
- a sum+0 value, and
- a sum+1 value;
- using each of the digit generate value and the digit propagate value to select either one of the sum+0 value and the sum+1 value for each multiplicand decimal digit, thereby resulting in a tripling the multiplicand;
- and
- generating, using an adder array, a multiple of the multiplier and the multiplicand using the multiplicand that has been tripled.
Dependencies are inferred from the claim text.