IP Library Granted Patent US 12,340,304
Granted Patent B2
US 12,340,304 · App. 17/398,791 · Granted Jun 24, 2025

Partial sum management and reconfigurable systolic flow architectures for in-memory computation

Inventors: Mustafa Badaroglu (Flemish Brabant, BE); Zhongze Wang (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06N3/08G06F7/50G06F7/523G06N3/063G06F7/5443
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,340,304
App. No.
17/398,791
Granted
Jun 24, 2025
Kind
B2
Abstract

Methods and apparatus for performing machine learning tasks, and in particular, to a neural-network-processing architecture and circuits for improved handling of partial accumulation results in weight-stationary operations, such as operations occurring in compute-in-memory (CIM) processing elements (PEs). One example PE circuit for machine learning generally includes an accumulator circuit, a flip-flop array having an input coupled to an output of the accumulator circuit, a write register, and a first multiplexer having a first input coupled to an output of the write register, having a second input coupled to an output of the flip-flop array, and having an output coupled to a first input of the first accumulator circuit.

Claims (41)

1. A processing element (PE) circuit comprising:

a first accumulator circuit;

a flip-flop array having an input coupled to an output of the first accumulator circuit;

a write register;

a first multiplexer having a first input coupled to an output of the write register, having a second input coupled to an output of the flip-flop array, and having an output coupled to a first input of the first accumulator circuit;

an adder circuit; and

an accumulator-and-shifter circuit having an input coupled to an output of the adder circuit and having an output coupled to a second input of the first accumulator circuit.

2. The PE circuit of claim 1 , further comprising a read register having an input coupled to the output of the flip-flop array.

3. The PE circuit of claim 2 , further comprising a write bus coupled to an output of the read register.

4. The PE circuit of claim 3 , further comprising a read bus coupled to an input of the write register.

5. A neural network circuit comprising a plurality of PE circuits, wherein at least one of the plurality of PE circuits comprises the PE circuit of claim 4 , the neural network circuit further comprising:

a memory coupled to the write bus and to the read bus; and

a global memory coupled to the read bus, wherein another one of the plurality of PE circuits has an output coupled to a second input of the first accumulator circuit.

6. The neural network circuit of claim 5 , wherein the other one of the plurality of PE circuits does not include a write register.

7. The PE circuit of claim 1 , further comprising a read bus coupled to an input of the write register, wherein the read bus is configured to couple to at least one of a tightly coupled memory or a global memory, external to the PE circuit.

8. The PE circuit of claim 1 , further comprising:

a second accumulator circuit; and

a second multiplexer having a first input coupled to an output of the second accumulator circuit and having an output coupled to the first input of the first accumulator circuit.

9. The PE circuit of claim 1 , wherein the PE circuit is a digital compute-in-memory (DCIM) PE circuit and wherein the PE circuit further comprises:

a DCIM array;

a bit-column adder tree circuit coupled to the DCIM array; and

a weight-shift adder tree circuit coupled to the bit-column adder tree circuit.

10. The PE circuit of claim 9 , wherein the DCIM array comprises a plurality of compute-in-memory cells and wherein at least one of the compute-in-memory cells comprises an eight-transistor (8T) static random-access memory (SRAM) cell.

11. A method of neural network processing, comprising:

receiving, at a first input of a multiplexer, first data from a write register;

receiving, at a second input of the multiplexer, second data from a flip-flop array;

receiving, at an accumulator circuit, third data from a processing element (PE) circuit;

selecting, with the multiplexer, data to output to the accumulator circuit between the first data and the second data; and

accumulating, with the accumulator circuit, the selected output data from the multiplexer and the third data received from the PE circuit to generate accumulated data,

wherein the PE circuit comprises:

an adder circuit; and

an accumulator-and-shifter circuit having an input coupled to an output of the adder circuit and having an output coupled to an input of the accumulator circuit.

12. The method of claim 11 , further comprising:

outputting the accumulated data to the flip-flop array;

shifting, with the flip-flop array, the accumulated data to a read register; and

writing the accumulated data from the read register to a memory via a write bus.

13. The method of claim 11 , further comprising:

outputting the accumulated data to the flip-flop array;

shifting, with the flip-flop array, the accumulated data to a read register;

processing the accumulated data from the read register with digital post-processing logic; and

writing the processed, accumulated data to a memory via a write bus coupled between the digital post-processing logic and the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: BADAROGLU, MUSTAFA; WANG, ZHONGZE
To: QUALCOMM INCORPORATED
Reel/Frame 057273/0312 →
Continuity (1)
Related Publication 20230047364A1 · Feb 16, 2023
References Cited (11)
US 10949380B2 · Nam · 2021 [cited by examiner]
US 11494627B1 · Li · 2022 [cited by examiner]
US 20050219422A1 · Dorojevets · 2005 [cited by examiner]
US 20160132295A1 · Tinker · 2016 [cited by examiner]
US 20200285605A1 · Nam · 2020 [cited by examiner]
US 20200410337A1 · Huang · 2020 [cited by examiner]
US 20210117356A1 · Pugh · 2021 [cited by examiner]
US 20240427729A1 · Das Sarma · 2024 [cited by examiner]
Chih Y-D., et al., “16.4 An 89TOPS/W and 16.3TOPS/mm2 All-Digital SRAM-Based Full-Precision Compute-In Memory Macro in 22nm for Machine-Learning Edge Applications,” 2021 IEEE International Solid-State Circuits Conferenc… [cited by applicant]
Kang M., et al., “Deep In-Memory Architectures in SRAM: An Analog Approach to Approximate Computing,” Proceedings of the IEEE, vol. 108, No. 12, Dec. 2020, pp. 2251-2275. [cited by applicant]
International Search Report and Written Opinion—PCT/US2022/074658—ISA/EPO—Nov. 29, 2022. [cited by applicant]