Back to results
US 12,711,062 B2Granted
Configurable in memory computing engine, platform, bit cells and layouts therefore
AssigneeThe Trustees of Princeton University
InventorsNaveen Verma, Hossein Valavi, Hongyang Jia
Life of this patent
Estimating the term…
Abstract
Various embodiments comprise systems, methods, architectures, mechanisms or apparatus for providing programmable or pre-programmed in-memory computing operations.
Claims20
A device, comprising:
- a compute-in-memory (CIM) array of bit-cells configured to receive parallel bitwise input signals via a first CIM array dimension and to receive one or more accumulation signals via a second CIM array dimension, wherein each of a plurality of bitcells associated with a common analog accumulation signal forms a respective CIM channel configured to provide analog representation of a respective portion of a multi-bit computation output signal, the CIM array configured to perform a multi-bit computing operation on the input and accumulation signals using single-bit internal circuits and signals,
- wherein the multi-bit computing operation of the CIM array comprises bit-parallel/bit-serial (BPBS) computing, and
- wherein the bit-parallel computing comprises:
- loading different matrix-element bits into respective in-memory computing channels;
- using respective barrel shifters, barrel shifting digitized outputs from the in-memory computing channels to implement corresponding bit weightings;
- and
- using respective accumulators, performing digital accumulation over all of the computing channels to yield a multi-bit matrix-element compute result.
4 more elements
A device, comprising:
- a compute-in-memory (CIM) array of bit-cells configured to receive parallel bitwise input signals via a first CIM array dimension and to receive one or more accumulation signals via a second CIM array dimension, wherein each of a plurality of bitcells associated with a common analog accumulation signal forms a respective CIM channel configured to provide analog representation of a respective portion of a multi-bit computation output signal, the CIM array configured to perform a multi-bit computing operation on the input and accumulation signals using single-bit internal circuits and signals,
- wherein the multi-bit computing operation of the CIM array comprises bit-parallel/bit-serial (BPBS) computing, and
- wherein the bit-serial computing comprises:
- individually applying each bit of a vector element to the loaded matrix element bits and storing each resulting digitized output;
- and
- using respective barrel shifters, barrel shifting the stored digitized outputs associated with each vector element bit prior to a digital accumulation with stored digitized outputs corresponding to subsequent input vector bits.
3 more elements
A method, comprising:
- performing a multi-bit computing operation by a compute-in-memory (CIM) array, the CIM array including bit-cells configured to receive parallel bitwise input signals via a first CIM array dimension and to receive one or more accumulation signals via a second CIM array dimension, wherein each of a plurality of bitcells associated with a common analog accumulation signal forms a respective CIM channel configured to provide analog representation of a respective portion of a multi-bit computation output signal,
- wherein the multi-bit computing operation includes at least one of bit-parallel computing or bit-serial computing,
- wherein the bit-parallel computing comprises:
- loading different matrix-element bits into respective in-memory computing channels;
- using respective barrel shifters, barrel shifting digitized outputs from the in-memory computing channels to implement thereby corresponding bit weightings;
- and
- using respective accumulators, performing digital accumulation over all of the computing channels to yield a multi-bit matrix-element compute result, and
- wherein the bit-serial computing comprises:
- individually applying each bit of a vector element to the loaded matrix element bits and storing each resulting digitized output;
- and
- using respective barrel shifters, barrel shifting the stored digitized outputs associated with each vector element bit prior to a digital accumulation with stored digitized outputs corresponding to subsequent input vector bits.
8 more elements
Dependencies are inferred from the claim text.