PyAIM: Pynq-Based Scalable Analog In-Memory Computing Prototyping Platform

Published: 01 Jan 2024, Last Modified: 07 Nov 2025AICAS 2024EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: 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 paper we present a reusable, extensible, 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. We use a number of Pynq boards to make use of their build-in Python support and affordability as well as their decent CPUs to run some software tasks other than MVM kernels. We overcome the timing control and communication management issues by extending Python with custom C functions, while maintaining convenience of Python. We also demonstrate a high-throughput network inference system as an example of PyAIM, using multiple ReRAM chips with compute-communication pipelining.
Loading