CIM-SIM: Computation In Memory SIMulator

Computation-in-memory reverses the trend in von-Neumann processors by bringing the computation closer to the data, to even within the memory array, as opposed to introducing new memory hierarchies to keep (frequently used) data closer to a central processing unit (CPU). In recent years, new non-volatile memory (NVM) technologies, e.g., memristor, PCM, etc., have proven that they can function as memories and perform computations on the stored data as well. In particular, when they are combined with a modest set of (digital) peripheral modules, a wider range of operations can be supported, e.g., vector matrix multiply and Boolean logic. In this paper, we are introducing the CIM-SIM, an open source simulator written in SystemC, which is capable of simulating the functional behaviour of such architectures. The architecture includes the definition of a set of technology-agnostic nano-instructions.

  • CIM-SIM: Computation In Memory SIMulator
    A. BanaGozar, S. Wong, M. Lebdeh, K. Vadivel, J. Yu, S. Hamdioui, S. Stuijk, H. Corporaal.
    In Workshop on Software and Compilers for Embedded Systems, SCOPES 19 Proceedings, pages 1-4. Sankt Goar, Germany, 27-28 May 2019. ACM Press, New York, NY, USA, 2019. (abstract, pdf, doi).