binary vector-matrix multiplication – bVMM

Description

This web application shows a possible computation in-memory concept for binary multiply-accumulate (bMAC) operations of the numbers -1 and +1. It is based on the in-memory boolean exclusive OR (XOR) operation of single complementary resistive switches (CRS).[1] Connecting the center electrode of multiple CRS leads to a linear encoding of the Hamming Distance (HD) between the input and stored vector, in the voltage drop of the common electrode (wordline).[2] The bMAC result can be obtained by a linear transformation of the HD: bMAC = n - 2⋅HD, with n being the number of bitline pairs. See for more details [2] ...

In the application below every blue or light blue part is interactive and can be manipulated by clicking it. One can program every single cell of the memory array through a left-click on it. The input vector can also be adjusted in this manner. The resulting Hamming Distances are shown above the memory array and the voltage drops on the wordlines are displayed in the plot on top. For expanding or shrinking the array size the plus and minus symbols in the top left corner of the array can be utilized. By expanding the ‘Caption’ field an explanatory graphic is shown and by expanding the ‘Settings’ field array properties can be modified.

Description

Caption

Caption

Settings

Voltage and resistances:
Vread
RHRS
RLRS
All input states:
All cell states:

Settings

Vread =  RHRS =  RLRS =