  A compact, accurate, and bitwidth-programmable in-memory computing (IMC)
static random-access memory (SRAM) macro, named CAP-RAM, is presented for
energy-efficient convolutional neural network (CNN) inference. It leverages a
novel charge-domain multiply-and-accumulate (MAC) mechanism and circuitry to
achieve superior linearity under process variations compared to conventional
IMC designs. The adopted semi-parallel architecture efficiently stores filters
from multiple CNN layers by sharing eight standard 6T SRAM cells with one
charge-domain MAC circuit. Moreover, up to six levels of bit-width of weights
with two encoding schemes and eight levels of input activations are supported.
A 7-bit charge-injection SAR (ciSAR) analog-to-digital converter (ADC) getting
rid of sample and hold (S&H) and input/reference buffers further improves the
overall energy efficiency and throughput. A 65-nm prototype validates the
excellent linearity and computing accuracy of CAP-RAM. A single 512x128 macro
stores a complete pruned and quantized CNN model to achieve 98.8% inference
accuracy on the MNIST data set and 89.0% on the CIFAR-10 data set, with a
573.4-giga operations per second (GOPS) peak throughput and a 49.4-tera
operations per second (TOPS)/W energy efficiency.
