Patentable/Patents/US-10970043
US-10970043

Programmable multiply-add array hardware

PublishedApril 6, 2021
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

An integrated circuit including a data architecture including N adders and N multipliers configured to receive operands. The data architecture receives instructions for selecting a data flow between the N multipliers and the N adders of the data architecture. The selected data flow includes the options: (1) a first data flow using the N multipliers and the N adders to provide a multiply-accumulate mode and (2) a second data flow to provide a multiply-reduce mode.

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for operating a data architecture including N adders and N multipliers configured to operate in one of a multiply-reduce mode or a multiply-accumulate mode, the method comprising: selecting a data flow between the N multipliers and the N adders of the data architecture, wherein the N multipliers and at least some of the N adders of the data architecture are used both in the multiply-reduce mode and the multiply-accumulate mode and wherein the data architecture is configured to change a connection between the N multipliers and the N adders according to the selected data flow, and operating the data architecture in one of the multiply-reduce mode or the multiply-accumulate mode according to the selected data flow.

2

2. The method of claim 1 , wherein selecting the data flow includes selecting a first data flow using the N multipliers and N−1 adders of the N adders, wherein one of the N adders is not used.

3

3. The method of claim 2 , wherein the first data flow comprises the N−1 adders receiving input resulting from the N multipliers.

4

4. The method of claim 1 , wherein selecting the data flow includes selecting a second data flow using the N multipliers and the N adders.

5

5. The method of claim 4 , wherein the second data flow comprises each adder of the N adders receiving an input operand from a corresponding multiplier of the N multipliers.

6

6. The method of claim 1 , wherein the N multipliers includes a first multiplier of which output data is provided to a first adder among the at least some of the N adders in the multiply-reduce mode and to a second adder among the at least some of the N adders in the multiply-accumulate mode.

7

7. An integrated circuit comprising: a data architecture including N adders and N multipliers, wherein the data architecture is configured to operate in one of a multiply-reduce mode or a multiply-accumulate mode according to a selected data flow between the N multipliers and the N adders of the data architecture and wherein the data architecture is configured to change a connection between the N multipliers and the N adders according to the selected data flow, the selected data flow comprises: a first data flow associated with the multiply-accumulate mode; and a second data flow associated with the multiply-reduce mode, wherein the N multipliers and the at least some of the N adders are used both in the first data flow and the second data flow.

8

8. The integrated circuit of claim 7 , wherein the first data flow uses the N multipliers and N−1 adders of the N adders, wherein one of the N adders is not used.

9

9. The integrated circuit of claim 8 , wherein the first data flow uses the N−1 adders to receive input resulting from the N multipliers.

10

10. The integrated circuit of claim 7 , wherein the second data flow uses the N multipliers and the N adders.

11

11. The integrated circuit of claim 10 , wherein the second data flow uses each adder of the N adders to receive an input operand from a corresponding multiplier of the N multipliers.

12

12. The integrated circuit of claim 7 , wherein the N multipliers include a first multiplier of which output data is provided to a first adder among the at least some of the N adders in the first data flow and to a second adder among the at least some of the N adders in the second data flow.

13

13. A non-transitory computer-readable storage medium that stores a set of instructions that is executable by at least one processor of a device to cause the device to perform a method for operating a data architecture including N adders and N multipliers configured to operate in one of a multiply-reduce mode or a multiply-accumulate mode, the method comprising: selecting a data flow between the N multipliers and the N adders of the data architecture, wherein the N multipliers and at least some of the N adders of the data architecture are used both in the multiply-reduce mode and the multiply-accumulate mode and wherein the data architecture is configured to change a connection between the N multipliers and the N adders according to the selected data flow, and operating the data architecture in one of the multiply-reduce mode or the multiply-accumulate mode according to the selected data flow.

14

14. The non-transitory computer-readable storage medium of claim 13 , wherein selecting the data flow includes selecting a first data flow using the N multipliers and N−1 adders of the N adders, wherein one of the N adders is not used.

15

15. The non-transitory computer-readable storage medium of claim 14 , wherein the first data flow comprises the N−1 adders receiving input resulting from the N multipliers.

16

16. The non-transitory computer-readable storage medium of claim 14 , wherein the N multipliers includes a first multiplier of which output data is provided to a first adder among the at least some of the N adders in the multiply-reduce mode and to a second adder among the at least some of the N adders in the multiply-accumulate mode.

17

17. The non-transitory computer-readable storage medium of claim 13 , wherein selecting the data flow includes selecting a second data flow using the N multipliers and the N adders.

18

18. The non-transitory computer-readable storage medium of claim 17 , wherein the second data flow comprises each adder of the N adders receiving an input operand from a corresponding multiplier of the N multipliers.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 28, 2020

Publication Date

April 6, 2021

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Programmable multiply-add array hardware” (US-10970043). https://patentable.app/patents/US-10970043

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.