Analog in-memory computing (IMC) has become increasingly popular along with the success of AI applications, especially in highly constrained environments such as IoT devices. However, many unique challenges of analog IMC including variability, faults, noise, endurance, programming disturbance, etc. make validation by hardware prototyping highly desirable. In this thesis, it presents a reusable, ex- tensible, and scalable prototyping platform called PyAIM, where several analog IMC devices can be connected with one another as well as with digital processors via digital interfaces and a communication network. It uses a number of Pynq boards to make use of their build-in Python support and affordability as well as their CPUs to run some software tasks other than MVM kernels. It overcomes the timing control and communication management issues by extending Python with custom C functions, while maintaining convenience of Python. It also demonstrates a high-throughput network inference system as an example of PyAIM, using multiple ReRAM chips with communication pipelining.
Publisher
Ulsan National Institute of Science and Technology