A Compiler for Parallel and Resource-Constrained Programmable in-Memory Computing

Solid-state resistive switches have recently enabled low-power, scalable, non-volatile memories. Their proven intrinsic logic operation, allowing design of in-memory computing systems, attracted the attention of the research community. A Programmable Logic-in-Memory (PLiM) computer has been proposed operating on an RRAM memory array and an instruction set to access the in-memory capabilities of the RRAM cells. Since the RRAM’s intrinsic logic operation is based on the majorityof-three function, Majority Inverter Graphs (MIGs) can be used to implement a compiler that translates Boolean functions into PLiM instructions. This work presents a fast MIG-based PLiM compiler aiming at parallelizing RRAM instructions under resource constraints. Considering valid the assumption that all RRAM cells in the PLiM computer can be enabled in parallel, helps evaluating the theoretical potential of the PLiM parallelization as part of a larger architecture exploration effort. More complex scenarios can easily be adapted by our approach. The code is optimized to reduce number of accesses to the memory and its structure enables a very low runtime compared to the state-of-the-art approach. Resource constraints allow to fit the PLiM instructions into a given maximum number of RRAM cells.

[1]  Giovanni De Micheli,et al.  Majority-Inverter Graph: A novel data-structure and algorithms for efficient logic optimization , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[2]  Rainer Waser,et al.  Complementary resistive switches for passive nanocrossbar memories. , 2010, Nature materials.

[3]  Giovanni De Micheli,et al.  A high-performance low-power near-Vt RRAM-based FPGA , 2014, 2014 International Conference on Field-Programmable Technology (FPT).

[4]  Rudy Lauwereins,et al.  Inversion optimization in Majority-Inverter Graphs , 2016, 2016 IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH).

[5]  Kow-Ming Chang,et al.  The resistive switching characteristics of a Ti/Gd2O3/Pt RRAM device , 2010, Microelectron. Reliab..

[6]  Rolf Drechsler,et al.  An MIG-based compiler for programmable logic-in-memory architectures , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[7]  Dmitri B. Strukov,et al.  Nanotechnology: Smart connections , 2011, Nature.

[8]  U. Böttger,et al.  Beyond von Neumann—logic operations in passive crossbar arrays alongside memory operations , 2012, Nanotechnology.

[9]  Peng Li,et al.  Dynamical Properties and Design Analysis for Nonvolatile Memristor Memories , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[10]  Gregory S. Snider,et al.  ‘Memristive’ switches enable ‘stateful’ logic operations via material implication , 2010, Nature.

[11]  Shimeng Yu,et al.  Metal–Oxide RRAM , 2012, Proceedings of the IEEE.

[12]  Giovanni De Micheli,et al.  Boolean logic optimization in Majority-Inverter Graphs , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[13]  Giovanni De Micheli,et al.  The Programmable Logic-in-Memory (PLiM) computer , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).