IP Library Granted Patent US 11,893,078
Granted Patent B2
US 11,893,078 · App. 17/006,815 · Granted Feb 6, 2024

Analog dot product multiplier

Inventors: Aravinth Kumar Ayyappannair Radhadevi (Hyderabad, IN); Sesha Sairam Regulagadda (Hyderabad, IN)
Assignee: Ceremorphic, Inc.
G06F17/16G06F7/5443G06G7/16
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 11,893,078
App. No.
17/006,815
Granted
Feb 6, 2024
Kind
B2
Abstract

A dot product multiplier for matrix operations for an A matrix of order 1×m with a coefficient B matrix of order m×m. Processing Elements (PEs) are arranged in an m×m array, the columns of the array summed to provide a dot product result. Each of the PEs contains a sign determiner and a plurality of analog multiplier cells, one multiplier cell for each value bit. The multipliers operate over four clock cycles, initializing a capacitor charge according to sign on a first clock phase, sharing charge on a second phase, canceling charge on a third phase, and outputting the resultant charge on a fourth phase, the resultant charge on each column representing the dot product for that column.

Claims (33)

1. A dot product multiplier for multiplying a 1×m A matrix with an m×m B matrix to form a dot product, each element of the A matrix and each element of the B matrix comprising a sign bit and value bits, the dot product multiplier comprising:

a clock generator providing four non-overlapping phases of clock per clock cycle, the four phases being PH 1 , PH 2 , PH 3 , PH 4 ;

a plurality of processing elements arranged in said m columns and said m rows, each processing element receiving an ‘a’ element of the A matrix and a ‘b’ element of the B matrix and generating a processing element output;

each processing element comprising:

a sign voltage source providing a sign voltage which is a positive voltage for positive multiplication results and a comparatively negative voltage for negative multiplication results based on a sign bit of the ‘a’ element and sign bit of the ‘b’ element;

a bit multiplier for each particular ‘a’ element value bit a n and each ‘b’ element value bit b n , each bit multiplier having an output, the bit multiplier comprising:

a capacitor having a capacitance Cref*2 n , the capacitor initialized to the sign voltage during the first clock phase PH 1 if a n =1, and initialized to 0V if a n =0;

the bit multiplier coupling the capacitor to capacitors of other bit multipliers during the second clock phase PH 2 ;

the bit multiplier zeroing the charge on the capacitor if b n =0 on the third clock phase PH 3 ;

the bit multiplier coupling the capacitor of the bit multiplier to the processing element output during the fourth phase PH 4 ;

each of the m columns having an accumulator, the accumulator receiving a transferred charge from the bit multiplier outputs in a respective column during the fourth phase PH 4 ;

each accumulator converting the transferred charge to a digital value indicating a dot product value for an associated column.

2. The dot product multiplier of claim 1 where the sign voltage source generates VrefP for a positive sign, VrefN for a negative sign, and VCM as a reference voltage.

3. The dot product multiplier of claim 2 where VCM=(VrefP+VrefN)/2.

4. The dot product multiplier of claim 1 where the bit multiplier further comprises:

a first terminal of the capacitor coupled to Internal Voltage (Vint) and to an output switch coupling the first terminal of the capacitor to the output during PH 4 ;

a PH 3 switch which couples Vint to Common Voltage (VCM) during PH 3 ;

a ClkCHSH 1 switch coupling a second terminal of the capacitor to VCM during PH 1 when a n =1.

5. The dot product multiplier of claim 4 where the CLKCHSH 1 switch couples the second terminal of a bit multiplier capacitor to VCM during the second phase PH 2 .

6. The dot product multiplier of claim 4 where the CLKCHSH 1 switch couples the second terminal of a bit multiplier capacitor to VCM during the third phase if b n =0.

7. The dot product multiplier of claim 4 where the CLKCHSH 1 switch couples the second terminal of the capacitor to VCM during the fourth phase.

8. The dot product multiplier of claim 1 where ‘b’ elements of the B matrix and ‘a’ elements of the A matrix are stored in each processing element before clock phase PH 1 .

9. A process for forming dot products of a 1×m A matrix with an m×m B matrix, the process operative on an m column and m row array of processing elements (PE), the A matrix having ‘a’ elements and the B matrix having ‘b’ elements, each ‘a’ element and each ‘b’ element comprising a sign bit and n value bits, each processing element comprising a sign voltage source and a plurality n of multipliers, each multiplier operative on a unique value bit a n of a value of the A matrix and a value bit of the B matrix, the process comprising:

charging a multiplier capacitor in each multiplier to a sign voltage provided by the sign voltage source during a first clock phase PH 1 if a corresponding bit a n is 1;

sharing capacitor charge across all multiplier capacitors during a second clock phase PH 2 ;

clearing a charge from the multiplier capacitor if a value bit b n of the B matrix is 0 during a third clock phase PH 3 ;

connecting all processing element multiplier capacitors of each column together and converting the charge of each column to a digital output value during a fourth clock phase PH 4 .

10. The process of claim 9 where each of the m rows of processing elements are operative on an element a of the A matrix.

11. The process of claim 9 where the processing elements are loaded with particular elements of the B matrix before the first clock phase PH 1 .

12. The process of claim 9 where during the fourth clock phase, the charge from the PEs of each column are converted to digital values to form a dot product output.

13. The process of claim 9 where the sign voltage source provides a value VrefP if the ‘a’ sign bit and the ‘b’ sign bits are either both positive or both negative.

14. The process of claim 9 where the sign voltage source provides a value VrefN if the ‘a’ sign bit and the ‘b’ sign bits are different values.

15. The process of claim 9 where each multiplier capacitor has a value Cref*2 n and n is 0 for the least significant bit and increments by one for each bit of increasing significance.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2021
From: REDPINE SIGNALS, INC.
To: CEREMORPHIC, INC.
Reel/Frame 059986/0968 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: RADHADEVI, ARAVINTH KUMAR AYYAPPANNAIR; REGULAGADDA, SESHA SAIRAM
To: REDPINE SIGNALS, INC.
Reel/Frame 054232/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2020
From: RADHADEVI, ARAVINTH KUMAR AYYAPPABBAIR; REGULAGADDA, SESHA SAIRAM
To: REDPINE SIGNALS, INC.
Reel/Frame 054627/0872 →
Continuity (1)
Related Publication 20220066740A1 · Mar 3, 2022