Decimal Division Pipeline Using Pre-Scaled Multiples

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for decimal division, such as non-restoring division algorithms, are inefficient due to the large number of subtraction operations required, especially when dividing a large dividend by a small divisor, leading to complex and space-intensive logic that is difficult to implement within performance and space requirements.

Innovation Solution

A method and system for performing decimal division that involves scaling the divisor and dividend, storing a subset of their multiples, and using a two-cycle adder to calculate quotient digits in three clock cycles, with on-the-fly correction and reduced hardware requirements by pre-scaling the divisor and utilizing a recoding technique to store only necessary multiples.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If non-restoring division algorithm is used, then decimal division can be performed, but the number of subtraction operations is large and hardware area is excessive

Engineering Contradiction:
Improvedivision speedVSAvoidhardware area
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The divisor is pre-scaled by a factor of 10 in the initialization stage, transforming the division problem into one where the divisor is already in a form that reduces the number of subtraction iterations needed. This preliminary scaling action allows the algorithm to converge faster with fewer subtraction operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The algorithm changes the parameter representation by using scaled values (multiples of 10) for both dividend and divisor. This parameter transformation reduces the quotient digit range and minimizes the number of subtraction iterations required, directly reducing hardware complexity while maintaining division functionality.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If simple long division method is used, then implementation is straightforward, but the number of subtraction operations is large leading to time consumption

Engineering Contradiction:
Improveimplementation simplicityVSAvoiddivision time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The dividend is pre-scaled by multiplying by 10 before the division process begins. This preliminary action sets up the division problem so that the quotient digits can be determined more quickly, reducing the total number of subtraction operations needed while keeping the algorithm structure simple and easy to implement.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If divisor is repeatedly subtracted from dividend, then quotient can be calculated, but the process is time consuming when dividend is large and divisor is small

Engineering Contradiction:
Improvequotient accuracyVSAvoidcalculation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The algorithm transforms the division parameters by scaling both dividend and divisor by powers of 10, which changes the magnitude relationship between them. This parameter change reduces the number of iterations required when dividing a large dividend by a small divisor, significantly reducing calculation time while preserving quotient accuracy.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The algorithm uses periodic updates of the remainder and quotient digit calculations, where each iteration processes one quotient digit. This periodic structure, combined with the pre-scaling, ensures that the division completes in a predictable number of steps rather than requiring repeated subtractions, reducing overall calculation time.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8229993B2Method for performing decimal division
Publication Date: 2012.07.24 RAKUTEN GROUP INC
  • US8229993B2 patent drawing
  • US8229993B2 patent drawing
  • US8229993B2 patent drawing

AI summary

A method for performing decimal division including receiving a scaled divisor and a scaled dividend into input registers. A subset of multiples of the scaled divisor is stored in a plurality of multiples registers. Quotient digits are calculated in response to the scaled divisor and the scaled dividend. Each quotient digit is calculated in three clock cycles by a pipeline mechanism. The calculating includes selecting a new quotient digit, and calculating a new remainder. Input to the calculating a new remainder includes data from one or more of the multiples registers.