Patent ID: 8495124

Claim:
A system for performing decimal multiplication, the system comprising: operand registers storing a multiplier A and a multiplicand B as operands, wherein the multiplier includes one or more digits; left shifters coupled to the operand registers for said multiplier and multiplicand; a coefficient generation mechanism for generating the coefficients A and B of the multiplier and multiplicand, and for outputting coefficients of the multiplier and multiplicand and also generating m and n, the number of significant digits in coefficients A and B respectfully; an iterative product generation mechanism including adders and multiples circuitry coupled to the coefficient generation mechanism, with a result product digits accumulation register connected to the adders, determining which operand has the least number of significant digits, and iteratively producing sums of partial product pairs, gradually producing a final result product by accumulating the sum of all the partial products, while: performing all calculations for each of the digits in the multiplier in order from least significant digit to most significant digit before a final rounding step assuming that the coefficient of the final result product will be m+n digits in length while least significant digits that would be truncated are not stored, but retained as sticky information which is used to finalize said final result product, and creating a partial product of the digit and the multiplicand; and adding the partial product to the running sum; and outputting the running sum as the result of multiplying the multiplier and the multiplicand; and, once the computation of the final result product is complete, a final check based on the examination of key bits observed during partial product accumulation is used to determine if the final result product coefficient is truly M+N digits in length, or M+N−1 digits, and if M+N−1 digits length is true, then employing corrective one digit shifting to obtain the proper final result.