Analog Shift-and-Add Circuits for Precise Dot Product Engines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The precision of matrix vector multiplications in dot product engines is constrained by the precision of memristors, and performing 'shift and add' operations in the digital domain is costly and limits performance.
Innovation Solution
Implementing 'shift and add' operations in the analog domain using paired capacitances or programmable transistor ratios to divide integrated charge or current signals, enhancing precision and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If 'shift and add' operations are performed in the digital domain to achieve higher precision computations, then precision is improved, but performance and cost are worsened
Solution Approach 1:
The patent replaces digital domain operations with analog domain operations. Specifically, it uses analog circuits (current mirrors, integrators, capacitors) to perform shift and add operations that were traditionally done in the digital domain. This substitution allows the system to maintain high precision while achieving better performance, as analog operations can be performed in parallel without the sequential bottlenecks of digital processing.
Solution Approach 2:
The patent changes the domain parameter from digital to analog. By representing data as analog signals (voltages or currents) rather than digital bits, the system can perform computations continuously in the analog domain. This parameter change enables the shift and add operations to be executed with higher efficiency while maintaining the required precision through careful design of analog components.
2Measurement precision
If 'shift and add' operations are performed in the digital domain, then precision can be improved, but device complexity and cost increase
Solution Approach 1:
The patent substitutes complex digital logic circuits with simpler analog circuits. Instead of using multiple digital logic gates, registers, and arithmetic units to perform shift and add operations, the patent employs analog components such as current mirrors, integrators, and capacitors. This substitution reduces device complexity while achieving the same computational function with higher precision.
3Measurement precision
If slicing operation is performed on inputs or memristor array to achieve higher precision, then computation precision is improved, but the complexity of performing shift and add operations increases
Solution Approach 1:
The patent replaces complex digital shift and add circuitry with elegant analog implementations. After slicing the input or weight values, the patent uses analog current mirrors to perform the shift operation (by scaling currents by powers of two) and integrators to perform the addition. This approach simplifies the overall operation complexity compared to digital implementations, especially when dealing with multiple sliced components that need to be combined.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
Achieves higher precision and efficient performance of dot product engines by performing 'shift and add' operations directly in the analog domain, utilizing capacitance matching and current mirrors for accurate bit shifting and current combination.
Implementation Method 1
A first example implementation involves the use of two paired capacitances to divide the integrated charge, which is the DPE output, by a fixed amount.
Implementation Method 2
A second example implementation employs a programmable ratio between transistors to divide the current signal conveyed after the DPE by a fixed amount.
Data Source
AI summary
In an example implementation, a circuit includes a dot product engine and a buffer circuit comprising a plurality of current buffers. Each current buffer has an input coupled to an associated output of the dot product engine. An integrator circuit is coupled to receive outputs of the current buffers. The buffer circuit can be configured to combine multiple currents for weight slicing.


