IP Library Granted Patent US 12,650,810
Granted Patent B2
US 12,650,810 · App. 17/679,454 · Granted Jun 9, 2026

Triple adder

Inventors: Javier Diaz Bruguera (Cambridge, GB); David Raymond Lutz (Austin, TX); Thomas Elmer (Austin, TX); Nicholas Andrew Pfister (Austin, TX)
Assignee: Arm Limited
G06F7/502
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 12,650,810
App. No.
17/679,454
Granted
Jun 9, 2026
Kind
B2
Abstract

A data processing apparatus is provided, which includes addition circuitry that performs a calculation of a sum of a first operand and a second operand. The addition circuitry produces an intermediate data prior to the calculation completing. Determination circuitry uses the intermediate data to produce the sum of the first operand and the second operand plus 1. Further determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 2.

Claims (50)

1 . A data processing apparatus comprising:

addition circuitry configured to perform a calculation of a sum of a first operand and a second operand, wherein the addition circuitry produces an intermediate data prior to the calculation completing;

determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 1; and

further determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 2

the sum of the first operand and the second operand, the sum of the first operand and the second operand plus 1, and the sum of the first operand and the second operand plus 2 are produced using no more than one adder, for a same input.

2 . The data processing apparatus according to claim 1 , wherein

the sum of the first operand and the second operand, the sum of the first operand and the second operand plus 1, and the sum of the first operand and the second operand plus 2, are all produced within a same clock cycle.

3 . The data processing apparatus according to claim 1 , wherein

the intermediate data comprises a most significant n−1 bits of the sum of the first operand and the second operand plus 2, wherein n is equal to a number of bits in the sum of the first operand and the second operand.

4 . The data processing apparatus according to claim 3 , wherein

the addition circuitry is configured to determine the most significant n−1 bits of the sum of the first operand and the second operand plus 2 without calculating the least significant bit of the sum of the first operand and the second operand plus 2.

5 . The data processing apparatus according to claim 3 , wherein

the addition circuitry comprises a dual adder configured to provide a most significant n−1 bits of the sum of the first operand and the second operand and the most significant n−1 bits of the sum of the first operand and the second operand plus 2.

6 . The data processing apparatus according to claim 5 , wherein

the addition circuitry is configured to provide the intermediate data to the determination circuitry and the further determination circuitry before a least significant bit of the sum of the first operand and the second operand plus 1 is determined.

7 . The data processing apparatus according to claim 3 , comprising:

one or more half adders configured to perform a half-add operation on the first operand and the second operand to produce n bits of an s-value and n bits of a c-value, wherein

n−1 most significant bits of the s-value and n−1 least significant bits of the c-value are provided to the addition circuitry to provide the most significant n−1 bits of the sum of the first operand and the second operand plus 2.

8 . The data processing apparatus according to claim 7 , wherein

the addition circuitry is configured to combine the intermediate data with a least significant bit of the s-value to produce the sum of the first operand and the second operand.

9 . The data processing apparatus according to claim 7 , wherein

the further determination circuitry is configured to combine the intermediate data with a least significant bit of the s-value to produce the sum of the first operand and the second operand plus 2.

10 . The data processing apparatus according to claim 7 , wherein

the determination circuitry is configured to combine the intermediate data with an inversion of the least significant bit of the s-value to produce the sum of the first operand and the second operand plus 1.

11 . The data processing apparatus according to claim 1 , wherein

the addition circuitry comprises determination circuitry to determine, for each pair of (first operand, second operand) bits:

a generate bit to indicate whether every preceding pair of (first operand, second operand) bits generates an outgoing carry, and

a propagate bit to indicate whether that pair of (first operand, second operand) bits propagates an incoming carry; and

the intermediate data comprises the generate bit for the each pair of (first operand, second operand) bits.

12 . The data processing apparatus according to claim 11 , wherein

the addition circuitry is configured to calculate a consume bit to indicate whether any preceding pair of (first operand, second operand) bits consumes the incoming carry; and

the further determination circuitry is configured to calculate a further consume bit to indicate whether any preceding pair of (first operand, second operand) bits consumes the incoming carry or a further incoming carry.

13 . The data processing apparatus according to claim 12 , wherein

the further determination circuitry is configured to calculate the further consume bit using a further generate bit to indicate whether every preceding pair of (first operand, second operand) bits generates an outgoing carry and whether a current pair of (first operand, second operand) bits does not generate an outgoing carry.

14 . The data processing apparatus according to claim 13 , wherein

the further determination circuitry is configured to calculate the further consume bit using a first prefix tree and to calculate the further generate bit using a second prefix tree, different to the first prefix tree.

15 . The data processing apparatus according to claim 13 , wherein

the further determination circuitry is configured to calculate the further consume bit and to calculate the further generate bit using a single prefix tree.

16 . The data processing apparatus according to claim 1 , wherein

the addition circuitry comprises a dual adder.

17 . A method of data processing comprising:

performing a calculation of a sum of a first operand and a second operand, wherein the addition circuitry produces an intermediate data prior to the calculation completing;

using the intermediate data to produce the sum of the first operand and the second operand plus 1; and

using the intermediate data to produce the sum of the first operand and the second operand plus 2, wherein

the sum of the first operand and the second operand, the sum of the first operand and the second operand plus 1, and the sum of the first operand and the second operand plus 2 are produced using no more than one adder, for a same input.

18 . A non-transitory computer-readable medium to store computer-readable code for fabrication of a data processing apparatus comprising:

addition circuitry configured to perform a calculation of a sum of a first operand and a second operand, wherein the addition circuitry produces an intermediate data prior to the calculation completing;

determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 1; and

further determination circuitry configured to use the intermediate data to produce the sum of the first operand and the second operand plus 2,

the sum of the first operand and the second operand, the sum of the first operand and the second operand plus 1, and the sum of the first operand and the second operand plus 2 are produced using no more than one adder, for a same input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: BRUGUERA, JAVIER DIAZ; LUTZ, DAVID RAYMOND; ELMER, THOMAS; PFISTER, NICHOLAS ANDREW
To: ARM LIMITED
Reel/Frame 059090/0036 →
Continuity (1)
Related Publication 20230266942A1 · Aug 24, 2023
References Cited (4)
US 20020143839A1 · Matson · 2002 [cited by examiner]
US 20180081632A1 · Langhammer · 2018 [cited by examiner]
US 20200174750A1 · Langhammer · 2020 [cited by examiner]
J.D. Bruguera et al., Multilevel Reverse-Carry Adder, IEEE 2000 (Year: 2000). [cited by examiner]