| CPC G06N 3/063 (2013.01) [G06F 7/5443 (2013.01); G06N 3/08 (2013.01); G11C 16/0466 (2013.01); G11C 16/24 (2013.01); H03M 1/12 (2013.01)] | 19 Claims |

|
1. A method, comprising:
storing weight values in storage elements of nonvolatile memory (NVM) cells of a NVM cell array, the NVM cell array having rows and columns, wherein one row and one column of the NVM cells are coupled to a word line and a bit line respectively;
for at least one row, generating a multiply-accumulate (MAC) result for the row by applying input values on bit lines, each MAC result comprising a summation of an analog current or voltage that is a function of each input value and a corresponding weight value stored by the NVM cells of the row; and
by operation of at least one multiplexer, connecting one of a plurality of the rows to an analog-to-digital converter (ADC) circuit to convert the analog current or voltage of the row into a digital MAC value; wherein the storage element of each NVM cell is configured to store a weight value that can vary between no less than three different values.
|