IP Library Granted Patent US 12,650,809
Granted Patent B2
US 12,650,809 · App. 17/742,514 · Granted Jun 9, 2026

Multiple input serial adder

Inventor: Herman Schmit (Marina, CA)
Assignee: Google LLC
G06F7/501G06F7/504
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,809
App. No.
17/742,514
Granted
Jun 9, 2026
Kind
B2
Abstract

Implementations for a functional unit are provided, wherein the functional unit can accumulate more than two serial inputs and provide one serial summation output. The serial inputs and outputs can be single bits or multiple bit busses. The functional unit can be implemented as a logical tree, where any two points are connected by one path. The functional unit can be incorporated into a processing unit of a programmable device to allow for construction of various functions.

Claims (33)

1 . A programmable device, comprising:

a first processing unit, a second processing unit, and a programmable interconnect, wherein the first processing unit and the second processing unit are connected to the programmable interconnect;

the first processing unit and the second processing unit each comprising a plurality of full adder circuits configured to collectively receive at least three serial inputs and produce a single serial output that is a summation of the at least three serial inputs, wherein a carried state is maintained among the plurality of full adder circuits;

the programmable interconnect being connected between the first processing unit and the second processing unit and comprising a logic gate, wherein the programmable interconnect is configured to receive, from the plurality of full adder circuits of the first processing unit, the single serial output and output, to the plurality of full adder circuits of the second processing unit, at least one of the three serial inputs for the second processing unit based on the logic gate.

2 . The programmable device of claim 1 , wherein a number of inputs of the processing units are equal to one more than the number of full adder circuits of the plurality.

3 . The programmable device of claim 1 , wherein each serial input is a multiple bit input.

4 . The programmable device of claim 1 , wherein each full adder circuit comprises three single bit inputs, a sum output, and a carry output.

5 . The programmable device of claim 4 , wherein the sum output of one of the plurality of full adder circuits is an input of another full adder circuit.

6 . The programmable device of claim 4 , wherein the carry output of one of the plurality of full adder circuits is retained in a register to be applied as a carry input of the full adder circuit in a subsequent cycle.

7 . The programmable device of claim 4 , wherein the carry output of one of the plurality of full adder circuits is an input of another full adder circuit.

8 . The programmable device of claim 1 , wherein the programmable interconnect further comprises a multiplexer.

9 . The programmable device of claim 1 , wherein the programmable interconnect further comprises one or more registers.

10 . A method for operating a programmable device, the programmable device comprising a first processing unit and a second processing unit coupled to a programmable interconnect, the first processing unit and second processing unit each comprising a plurality of full adder circuits and the programmable interconnect being connected between the first processing unit and the second processing unit and comprising a logic gate, the method comprising:

collectively receiving, with the plurality of full adder circuits, at least three serial inputs;

producing, with the plurality of full adder circuits, a single serial output that is a summation of the at least three serial inputs;

maintaining a carried state among the plurality of full adder circuits;

receiving, from the plurality of full adder circuits of the first processing unit, the single serial output; and

outputting, to the plurality of full adder circuits of the second processing unit, at least one of the three serial inputs for the second processing unit based on the logic gate.

11 . The method of claim 10 , wherein a number of inputs of the processing units are equal to one more than the number of full adder circuits of the plurality.

12 . The method of claim 10 , wherein each full adder circuit comprises three single bit inputs, a sum output, and a carry output.

13 . The method of claim 12 , further comprising inputting the sum output of one of the plurality of full adder circuits to another full adder circuit.

14 . The method of claim 12 , further comprising retaining the carry output of one of the plurality of full adder circuits in a register to be applied as a carry input of the full adder circuit in a subsequent cycle.

15 . The method of claim 12 , further comprising inputting the carry output of one of the plurality of full adder circuits to another full adder circuit.

16 . A non-transitory computer readable medium for storing instructions that, when executed by a programmable device, the programmable device comprising a first processing unit and a second processing unit coupled to a programmable interconnect, the first processing unit and second processing unit each comprising a plurality of full adder circuits and the programmable interconnect being connected between the first processing unit and the second processing unit and comprising a logic gate, causes the programmable device to perform operations comprising:

collectively receiving, with a plurality of full adder circuits, at least three serial inputs;

producing, with the plurality of full adder circuits, a single serial output that is a summation of the at least three serial inputs;

maintaining a carried state among the plurality of full adder circuits;

receiving, from the plurality of full adder circuits of the first processing unit, the single serial output; and

outputting, to the plurality of full adder circuits of the second processing unit, at least one of the three serial inputs for the second processing unit based on the logic gate.

17 . The non-transitory computer readable medium of claim 16 , wherein the operations further comprise inputting a sum output of one of the plurality of full adder circuits to another full adder circuit.

18 . The non-transitory computer readable medium of claim 16 , wherein the operations further comprise retaining a carry output of one of the plurality of full adder circuits in a register to be applied as a carry input of the full adder circuit in a subsequent cycle.

19 . The non-transitory computer readable medium of claim 16 , wherein the operations further comprise inputting a carry output of one of the plurality of full adder circuits to another full adder circuit.

20 . The non-transitory computer readable medium of claim 16 , wherein the at least three serial inputs are collectively received based on a number of registers in the programmable interconnect.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: SCHMIT, HERMAN
To: GOOGLE LLC
Reel/Frame 060003/0375 →
Continuity (1)
Related Publication 20230367549A1 · Nov 16, 2023
References Cited (40)
US 3299261A · Steigerwalt, Jr. · 1967 [cited by applicant]
US 3395271A · Stewart · 1968 [cited by applicant]
US 5150321A · Keating · 1992 [cited by examiner]
US 5262975A · Ohki · 1993 [cited by applicant]
US 5869982A · Graf · 1999 [cited by examiner]
US 10069486B1 · Devlin · 2018 [cited by examiner]
US 10534578B1 · Narayanaswami · 2020 [cited by applicant]
US 11138292B1 · Nair et al. · 2021 [cited by applicant]
US 20180129475A1 · Almagambetov · 2018 [cited by examiner]
US 20190288688A1 · Gribok · 2019 [cited by examiner]
US 20190303103A1 · Hah · 2019 [cited by examiner]
US 20210099174A1 · Metzgen · 2021 [cited by examiner]
CN 101140511A · 2008 [cited by applicant]
CN 103235710A · 2013 [cited by applicant]
CN 105940372A · 2016 [cited by applicant]
CN 111506528A · 2020 [cited by applicant]
DE 1197650B · 1965 [cited by applicant]
FR 1516037A · 1968 [cited by applicant]
GB 0801053 · 2008 [cited by applicant]
JP H0418809A · 1992 [cited by applicant]
JP H0546362A · 1993 [cited by applicant]
C. Doss, “Front-End PPA Architecture for Three Input Multiplier”, Nov. 2006. (Year: 2006). [cited by examiner]
M. Manikanta et al., “Design and Implementation of Carry Tree Adders on FPGA”, Dec. 2014. (Year: 2014). [cited by examiner]
T. Memon et al., “POWER-area-performance characteristics of FPGA-based sigma-delta FIR filters”, Mar. 2013. (Year: 2013). [cited by examiner]
Albericio et al. Bit-Pragmatic Deep Neural Network Computing. Oct. 20, 2016. 12 pages. Retrieved from the Internet: <https://arxiv.org/abs/1610.06920>. [cited by applicant]
Denton et al. Direct Spatial Implementation of Sparse Matrix Multipliers for Reservoir Computing. Jan. 21, 2021, arXiv:2101.08884v1, pp. 1-12. [cited by applicant]
Ienne et al. Bit-Serial Multipliers and Squarers. Dec. 1994. IEEE Transactions on Computers, vol. 43, Issue. 12, pp. 1445-1450. Retrieved from the Internet: <https://ieeexplore.ieee.org/document/338107>. [cited by applicant]
Judd et al. Stripes: Bit-Serial Deep Neural Network Computing. 2016. IEEE. 12 pages. Retrieved from the Internet: <https://people.ece.ubc.ca/aamodt/publications/papers/stripes-final.pdf>. [cited by applicant]
Murray et al. Bit-Serial Neural Networks. 1988. Neural Information Processing Systems, D. Z. Anderson, Ed. American Institute of Physics, pp. 573-583. Retrieved from the Internet: <http://papers.nips.cc/paper/27-bit-ser… [cited by applicant]
Sharma et al. Bit Fusion: Bit-Level Dynamically Composable Architecture for Accelerating Deep Neural Networks. Dec. 5, 2017. 13 pages. Retrieved from the Internet: <https://arxiv.org/abs/1712.01507v1>. [cited by applicant]
Umuroglu et al. BISMO: A Scalable Bit-Serial Matrix Multiplication Overlay for Reconfigurable Computing. Jun. 22, 2018. 8 pages. Retrieved from the Internet: <https://arxiv.org/abs/1806.08862>. [cited by applicant]
Anonymous. Adder (electronics)—Wikipedia. Apr. 30, 2022 (Apr. 30, 2022), 6 pages. Retrieved from the Internet: <https://en.wikipedia.org/w/index.php?title=Adder_(electronics)&oldid=1085442749>. [cited by applicant]
Denton et al. Direct Spatial Implementation of Sparse Matrix Multipliers for Reservoir Computing. arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Jan. 22, 2021 (Jan. 22, 2021… [cited by applicant]
Extended European Search Report for European Patent Application No. 22197378.7 dated May 25, 2023. 9 pages. [cited by applicant]
Nikolic et al. Global Is the New Local: FPGA Architecture at 5nm and Beyond. Practice and Experience in Advanced Research Computing, ACMPUB27, New York, NY, USA, Feb. 17, 2021 (Feb. 17, 2021), pp. 34-44. [cited by applicant]
Schmit et al. Multi-input Serial Adders for FPGA-like Computational Fabric. CHI Conference on Human Factors in Computing Systems, ACM, New York, NY, USA, Feb. 13, 2022 (Feb. 13, 2022), pp. 35-41. [cited by applicant]
Schmit. Multi-input Serial Adders for FPGA-like Computational Fabric—Supplemental Material—Proceedings of the 2022 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. Feb. 11, 2022 (Feb. 11, 2022), Bibi… [cited by applicant]
Office Action for Chinese Patent Application No. 202211332009.3 dated Jul. 11, 2025. 11 pages. [cited by applicant]
Wang et al. Design and Implementation of a Full Adder. Feb. 5, 2013. English translation of abstract only. 4 pages. [cited by applicant]
Office Action for Chinese Patent Application No. 202211332009.3 dated Mar. 20, 2026. 5 pages. [cited by applicant]