IP Library › Granted Patent US 12,254,284
Granted Patent B2
US 12,254,284 · App. 17/319,717 · Granted Mar 18, 2025

Multiplication-and-accumulation circuits and processing-in-memory devices having the same

Inventor: Choung Ki Song (Icheon-si, KR)
Assignee: SK hynix Inc.
G06F7/5443G06F7/4876G06F7/501G11C7/1012G11C7/106G11C7/1087
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,254,284
App. No.
17/319,717
Granted
Mar 18, 2025
Kind
B2
Abstract

A multiplication-and-accumulation (MAC) circuit includes a MAC operator and a data input circuit. The MAC operator selectively performs a MAC arithmetic operation of weight data and vector data or an element-wise multiplication (EWM) arithmetic operation of the weight data and constant data. The data input circuit provides the MAC operator with the weight data and the vector data when the MAC operator performs the MAC arithmetic operation and provides the MAC operator with the weight data and the constant data when the MAC operator performs the EWM arithmetic operation.

Claims (59)

1. A multiplication-and-accumulation MAC circuit comprising:

a MAC operator circuit comprising:

a multiplier circuit including a plurality of multipliers, a data output selection circuit including a plurality of demultiplexers, and an adder circuit including an adder tree, first and second inputs of the multiplier circuit being configured to receive weight data and vector data from memory, the MAC operator circuit being additionally configured to selectively perform at least one of:

a MAC arithmetic operation when the MAC operator circuit receives the weight data and the vector data, and

an element-wise multiplication EWM arithmetic operation when the MAC operator circuit receives the weight data and constant data; and

a data input circuit

configured to provide the MAC operator circuit with the weight data when the MAC operator circuit performs at least one of the MAC arithmetic operation and the element-wise multiplication (EWM) arithmetic operation, and

configured to selectively provide the MAC operator circuit one of the vector data or constant data when the MAC operator performs the EWM arithmetic operation;

wherein the MAC operator circuit selectively performs the MAC arithmetic operation and the element-wise multiplication EWM responsive to a control signal provided to the MAC circuit, and

wherein the control signal is input to the MAC operator circuit and the data input circuit in common.

2. The MAC circuit of claim 1 ,

wherein the data output selection circuit is configured to receive output from the multiplier circuit and configured to output data through either first output lines or second output lines of the data output selection circuit responsive to said control signal; and

wherein the MAC operator circuit further includes an accumulator configured to accumulate data outputted from the adder tree.

3. The MAC circuit of claim 2 , wherein the first output lines of the data output selection circuit are coupled to the adder tree.

4. The MAC circuit of claim 3 , wherein the MAC operator circuit further includes a data output circuit that is directly coupled to the second output lines of the data output selection circuit and an output terminal of the accumulator.

5. The MAC circuit of claim 2 ,

wherein each demultiplexer is coupled to an output of a corresponding multiplier; and

wherein each demultiplexer receives data output from the corresponding multiplier and selectively outputs data received from the corresponding multiplier through either the first output lines or the second output lines.

6. The MAC circuit of claim 5 ,

wherein the MAC operator circuit further includes a data output circuit that is directly coupled to the second output lines of the data output selection circuit and an output terminal of the accumulator, and

wherein the each demultiplexers is configured to:

transmit the output data of the corresponding multiplier of the plurality of multipliers, to the adder tree through the first output lines when the MAC operator circuit performs the MAC arithmetic operation; and

transmit the output data of the corresponding multiplier of the plurality of multipliers to the data output circuit through the second output lines when the MAC operator circuit performs the EWM arithmetic operation.

7. The MAC circuit of claim 6 , wherein the data output circuit is configured to output data, which are received from the accumulator, in response to a MAC result data output control signal and is configured to output data, which are received through the second output lines, in response to an EWM result data output control signal.

8. The MAC circuit of claim 6 , wherein the MAC operator circuit further includes a normalizer that is coupled between the data output circuit and the second output lines of the data output selection circuit to execute a normalization process for data which are transmitted through the second output lines.

9. The MAC circuit of claim 8 , wherein the data output circuit is configured to output data, which are received from the accumulator, in response to a MAC result data output control signal and is configured to output data, which are received from the normalizer, in response to an EWM result data output control signal.

10. The MAC circuit of claim 2 , wherein the accumulator includes:

an accumulative adder configured to perform an adding calculation for adding feedback data to data outputted from the adder tree; and

a latch circuit configured to latch output data of the accumulative adder to generate the feedback data which are transmitted to the accumulative adder.

11. The MAC circuit of claim 1 , wherein the MAC operator includes:

a multiplication circuit including a plurality of multipliers which are disposed in parallel;

a data output selection circuit configured to receive output data of the multiplication circuit to output the output data of the multiplication circuit through first output lines or second output lines of the data output selection circuit;

an accumulation circuit including a plurality of accumulators which are disposed in parallel; and

an adder circuit configured to perform an adding calculation of data outputted from the plurality of accumulators.

12. The MAC circuit of claim 11 , wherein the first output lines of the data output selection circuit are coupled to the accumulation circuit.

13. The MAC circuit of claim 12 , wherein the MAC operator further includes a data output circuit that is directly coupled to the second output lines of the data output selection circuit and an output terminal of the adder circuit.

14. The MAC circuit of claim 11 ,

wherein the data output selection circuit includes a plurality of demultiplexers that are coupled to respective ones of the plurality of multipliers; and

wherein the plurality of demultiplexers receive output data of the plurality of multipliers and output the output data of the plurality of multipliers through the first output lines or the second output lines.

15. The MAC circuit of claim 14 , wherein the plurality of demultiplexers are configured to transmit the output data of the plurality of multipliers to the accumulation circuit through the first output lines when the MAC operator performs the MAC arithmetic operation and are configured to transmit the output data of the plurality of multipliers to a data output circuit through the second output lines when the MAC operator performs the EWM arithmetic operation.

16. The MAC circuit of claim 15 , wherein the data output circuit is configured to output data, which are received from the adder circuit, in response to a MAC result data output control signal and is configured to output data, which are received through the second output lines, in response to an EWM result data output control signal.

17. The MAC circuit of claim 15 , wherein the MAC operator further includes a normalizer that is coupled between the data output circuit and the second output lines of the data output selection circuit to execute a normalization process for data which are transmitted through the second output lines.

18. The MAC circuit of claim 17 , wherein the data output circuit is configured to output data, which are received from the adder circuit, in response to a MAC result data output control signal and is configured to output data, which are received from the normalizer, in response to an EWM result data output control signal.

19. The MAC circuit of claim 15 , wherein each of the plurality of accumulators includes:

an accumulative adder configured to perform an adding calculation for adding feedback data to data outputted from one of the plurality of demultiplexers; and

a latch circuit configured to latch output data of the accumulative adder to generate the feedback data which are transmitted to the accumulative adder.

20. The MAC circuit of claim 1 ,

wherein the data input circuit further includes a data selection circuit configured to receive the vector data and the constant data to selectively output the vector data or the constant data,

wherein the first input latch circuit is configured to latch the weight data to and output the latched weight data to the MAC operator circuit, and

wherein the second input latch circuit is configured to latch output data of the data selection circuit and to output latched output data to the MAC operator circuit.

21. The MAC circuit of claim 20 , wherein the data selection circuit includes:

a third input latch circuit configured to latch and output the constant data;

a bit copy block circuit configured to copy the constant data outputted from the third input latch circuit to generate and output replica constant data; and

a data selection output circuit configured to selectively output the replica constant data or the vector data.

22. The MAC circuit of claim 21 , wherein the replica constant data are generated to have the same number of bits as the weight data.

23. The MAC circuit of claim 21 , wherein the data input circuit further includes an OR gate that performs a logical OR operation of a first latch control signal for the MAC arithmetic operation and a fourth latch control signal for the EWM arithmetic operation to output a result signal of the logical OR operation to clock terminals of the first and second input latch circuits.

24. The MAC circuit of claim 23 ,

wherein the third input latch circuit outputs the constant data in response to a third latch control signal having a first logic level; and

wherein output data of the data selection output circuit are selected according to a logic level of a flag signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: SONG, CHOUNG KI
To: SK HYNIX INC.
Reel/Frame 056233/0566 →
Priority Claims (1)
KR 10-2021-0003632 · Jan 11, 2021 · national
Continuity (1)
Related Publication 20220222044A1 · Jul 14, 2022
References Cited (19)
US 6848058B1 · Sinclair · 2005 [cited by examiner]
US 10884736B1 · Farooqui · 2021 [cited by examiner]
US 11244718B1 · Xue · 2022 [cited by examiner]
US 20040008201A1 · Lewis · 2004 [cited by examiner]
US 20190266219A1 · Chauhan · 2019 [cited by examiner]
US 20190266485A1 · Singh · 2019 [cited by examiner]
US 20190354508A1 · Mahurin · 2019 [cited by examiner]
US 20200026494A1 · Langhammer · 2020 [cited by examiner]
US 20200110705A1 · Jo · 2020 [cited by examiner]
US 20200334322A1 · Liu · 2020 [cited by examiner]
US 20210125044A1 · Hao · 2021 [cited by examiner]
US 20210334636A1 · Dua · 2021 [cited by examiner]
US 20220036165A1 · Kwon · 2022 [cited by examiner]
KR 1020180062910A · 2018 [cited by applicant]
KR 1020190074195A · 2019 [cited by applicant]
R. Dalrymple. n.d. GPU/CPU Programming for Engineers—Lecture 13 [PowerPoint], slides 1-19. Available: https://www.ce.jhu.edu/dalrymple/classes/602/Class13.pdf. Retrieved through Wayback Machine Snapshot from Jul. 18, 20… [cited by examiner]
K. Tatas, G. Koutroumpezis, D. Soudris, and A. Thanailakis, “Architecture design of a coarse-grain reconfigurable multiply-accumulate unit for data-intensive applications,” 2007, Integration, vol. 40, No. 2, pp. 74-93. … [cited by examiner]
C. B. Bidhul, N. Hampannavar, S. Joseph, P. Jayakrishnan and S. Kumaravel, “Comparison of architectures of a coarse-grain reconfigurable multiply-accumulate unit,” 2013 International Conference on Green Computing, Commu… [cited by examiner]
M. Aly et al., “The N3XT approach to energy-efficient abundant-data computing,” 2018, Proceedings of the IEEE, 107 (1), p. 19-48.(Year: 2018). [cited by applicant]