IP Library Granted Patent US 8,346,840
Granted Patent B2
US 8,346,840 · App. 11/954,325 · Granted Jan 1, 2013

Flexible accumulator for rational division

Assignee: Applied Micro Circuits Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,346,840
App. No.
11/954,325
Granted
Jan 1, 2013
Kind
B2
Abstract

A system and method are provided for rational division. The method accepts accepting a binary numerator and a binary denominator. A binary first sum is created of the numerator and a binary first count from a previous cycle. A binary first difference is created between the first sum and the denominator. In response to comparing the first sum with the denominator, and first carry bit is generated and added to a first binary sequence. The first binary sequence is used to generate a k-bit quotient. Typically, the denominator value is larger than the numerator value. In one aspect, the numerator and denominator form a rational number. Alternately, the numerator may be an n-bit bit value formed as either a repeating or non-repeating sequence, and the denominator is an (n+1)-bit number with a decimal value of 2 (n+1) .

Claims (80)

1. A method for rational division comprising:

a first accumulator, enabled with hardware, accepting a binary numerator and a binary denominator;

the first accumulator creating a binary first sum of the numerator and a binary first count from a previous cycle;

the first accumulator creating a binary first difference between the first sum and the denominator;

the first accumulator comparing the first sum with the denominator;

in response to the comparing, the first accumulator generating a first carry bit;

a calculator, enabled with hardware, adding the first carry bit to a first binary sequence; and,

the calculator using the first binary sequence to generate a k-bit quotient.

2. The method of claim 1 wherein generating the first carry bit includes:

generating a binary “1” first carry bit if the first sum is greater than the denominator; and,

generating a binary “0” first carry bit if the first sum is less than or equal to the denominator.

3. The method of claim 2 further comprising:

in response to comparing the first sum the denominator, the first accumulator generating the first count for a subsequent cycle.

4. The method of claim 3 wherein generating the first count for the subsequent cycle includes:

using the first difference as the first count if the first sum is greater than the denominator; and,

using the first sum as the first count the first sum is less than or equal to the denominator.

5. The method of claim 4 wherein accepting the numerator and the denominator includes accepting a denominator value larger than the numerator value.

6. The method of claim 4 further comprising:

a second accumulator, enabled with hardware, accepting the first count from a previous cycle and a second count from the previous cycle;

the second accumulator creating a binary second sum of the first count and the second count;

the second accumulator creating a binary second difference between second sum and the denominator;

the second accumulator comparing the second sum with the denominator;

if the second sum is greater than the denominator, the second accumulator:

generating a binary “1” second carry bit; and,

using the second difference as the second count for a subsequent cycle; and,

if the second sum is less than or equal to the denominator, the second accumulator:

generating a binary “0” second carry bit; and,

using the second sum as the second count for the subsequent cycle;

the calculator adding the second carry bit to a second binary sequence; and,

wherein generating the k-bit quotient includes using the first binary sequence and the second binary sequence to generate the k-bit quotient.

7. The method of claim 1 wherein accepting the numerator and the denominator includes accepting an n-bit binary numerator and an (n+1)-bit binary denominator;

wherein creating the first sum includes creating an (n+1)-bit first sum of the numerator and a n-bit first count from the previous cycle; and,

wherein creating the first difference includes creating an n-bit first difference.

8. The method of claim 1 further comprising:

a second accumulator, enabled with hardware, accepting the first count from a previous cycle and a binary second count from the previous cycle;

the second accumulator creating a binary second sum of the first count and the second count;

the second accumulator creating a binary second difference between second sum and the denominator;

the second accumulator comparing the second sum with the denominator;

in response to the comparing, the second accumulator generating a second carry bit;

the calculator adding the second carry bit to a second binary sequence; and,

wherein generating the k-bit quotient includes using the first and second binary sequences to generate the k-bit quotient.

9. The method of claim 8 further comprising:

a plurality of m accumulators, each enabled with hardware, generating m corresponding binary sequences; and,

wherein generating the k-bit quotient includes using the m binary sequences to generate the k-bit quotient.

10. The method of claim 1 wherein accepting the numerator and the denominator includes accepting the numerator and denominator as a rational number.

11. The method of claim 1 herein accepting the numerator and the denominator includes accepting an n-bit numerator selected from a group consisting of a repeating sequence and the most significant bits from a non-repeating sequence, and an (n+1)-bit denominator with a decimal value of 2 (n+1) .

12. A system of hardware components used for rational division, the system comprising:

a first flexible accumulator including:

a first summer having an input to accept a binary numerator, an input to accept a binary first count from a previous cycle, and an output to supply a binary first sum of the numerator and the first count;

a first subtractor having an input to accept a binary denominator, and input to accept the first sum, and an output to supply a binary first difference between the first sum and the denominator;

a first comparator having an input to accept the first sum, an input to accept the denominator, and an output to supply a first comparator signal; and,

a first multiplexer (MUX) having an input to accept carry bits, a control input to accept the first comparator signal, and an output to supply a first carry bit response to the first comparator signal.

13. The system of claim 12 wherein the first MUX supplies a binary “1” first carry bit if the first comparator signal indicates that the first sum is greater than the denominator, and supplies a binary “0” first carry bit if the first comparator signal indicates that the first sum is less than or equal to the denominator.

14. The system of claim 13 wherein the first MUX has an input to accept the first sum, an input to accept the first difference, and an output to supply the first count for a subsequent cycle in response to the comparator signal.

15. The system of claim 14 wherein the first MUX supplies the first difference as the first count for the subsequent cycle if the first comparator signal indicates that the first sum is greater than the denominator, and supplies the first sum as the first count in the subsequent cycle if the first comparator signal indicates that first sum is less than or equal to the denominator.

16. The system of claim 15 wherein first summer accepts the numerator with a value; and,

wherein the first subtract or accepts the denominator with a value larger than the numerator value.

17. The system of claim 12 wherein the first summer accepts an n-bit binary numerator, n-bit first count from the previous cycle, and supplies an (n+1)-bit first sum; and,

wherein the first subtractor accepts an (n+1)-bit binary denominator and supplies an n-bit first difference.

18. The system of claim 12 further comprising:

a second flexible accumulator including:

a second summer having an input to accept the first count from a previous cycle, an input to accept a second count from the previous cycle, and an output to supply a binary second sum of the first count and the second count;

a second subtractor having an input to accept the denominator, and input to accept the second sum, and an output to supply a binary second difference between the second sum and the denominator;

a second comparator having an input to accept the second sum, an input to accept the denominator, and an output to supply a second comparator signal;

a second MUX having an put to accept carry bits, a control input to accept the second comparator signal, and an output to supply a second carry bit in response to the second comparator signal.

19. The system of claim 18 wherein the second MUX supplies a binary “1” first carry bit if the second comparator signal indicates that the second sum is greater than the denominator, and supplies a binary “0” first carry bit if the second comparator signal indicates that the second sum is less than or equal to the denominator; and,

wherein the second MUX has an input to accept the second sum and input to accept the second difference, and an output to supply the second difference as the second count for the subsequent cycle if the second comparator signal indicates that the second sum is greater than the denominator, and supplies the second sum as the second count in the subsequent cycle if the second comparator signal indicates that second sum is less than or equal to the denominator.

20. The system of claim 18 further comprising:

a calculator having an input to accept the first binary sequence, an input to accept the second binary sequence, and an output to supply a k-bit quotient generated from the first and second binary sequences.

21. The system of claim 20 further comprising:

m flexible accumulators; and,

wherein the calculator has inputs to accept m binary sequences and the output supplies a k-bit quotient generated from the m binary sequences.

22. The system of claim 20 wherein the numerator and denominator form a rational number.

23. The system of claim 20 wherein the first summer accepts an n-bit numerator selected from a group consisting of a repeating sequence and the most significant bits of a non-repeating sequence; and,

wherein the first subtractor accepts an (n+1)-bit denominator with a value equal to decimal 2 (n+1) .

24. A flexible accumulator hardware device comprising:

a summer having an input to accept a binary numerator, an input to accept a binary count from a previous cycle, and an output to supply a binary sum of the numerator and the count;

a subtractor having an input to accept a binary denominator, and input to accept the sum, and an output to supply a binary difference between the sum and the denominator;

a comparator having an input to accept the sum, an input to accept the denominator, and an output to supply a comparator signal; and,

a multiplexer (MUX) having an input to accept carry bits, an input to accept the sum, an input to accept the difference, a control input to accept the first comparator signal, the MUX having outputs to supply a binary “1” carry bit and supply the sum as the count in a subsequent cycle if the comparator signal indicates that the sum is less than or equal to the denominator, and wherein the MUX supplies a binary “0” carry bit and supplies the difference as the count in the subsequent cycle if the comparator signal indicates that the sum is greater than the difference.

Assignments (3)
SECURITY INTEREST Recorded May 11, 2017
From: MACOM CONNECTIVITY SOLUTIONS, LLC (SUCCESSOR TO APPLIED MICRO CIRCUITS CORPORATION)
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 042444/0891 →
MERGER AND CHANGE OF NAME Recorded Apr 6, 2017
From: APPLIED MICRO CIRCUITS CORPORATION; MACOM CONNECTIVITY SOLUTIONS, LLC
To: MACOM CONNECTIVITY SOLUTIONS, LLC
Reel/Frame 041890/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2007
From: DO, VIET LINH; PANG, SIMON
To: APPLIED MICRO CIRCUITS CORPORATION
Reel/Frame 020231/0306 →
Continuity (1)
Related Publication 20090157791A1 · Jun 18, 2009