ReSG: A Data Structure for Verification of Majority based In-Memory Computing on ReRAM Crossbars

Recent advancements in the fabrication of Resistive Random Access Memory (ReRAM) devices have led to the development of large scale crossbar structures. In-memory computing architectures relying on ReRAM crossbars aim to mitigate the processor-memory bottleneck that exists with current CMOS technology. With this motivation, several synthesis and mapping approaches focusing on the realizations of Boolean functions in the ReRAM crossbars have been proposed earlier. Thus far, the verification of the designs realized on ReRAM crossbars is done either through manual inspection or using simulation based approaches. Since manual inspections and simulation based approaches are limited to smaller designs, they cannot be applied to the verification of complex designs on large-scale ReRAM crossbars. Motivated by this, we propose, for the first time, an automatic equivalence checking flow that determines the equivalence between the original function specification (e.g., Majority Inverter Graph (MIG)) and the crossbar micro-operations file formats. We consider two crossbar structures, zero-transistor, one-memristor (0T1R) and one-transistor, one-memristor (1T1R) to implement the micro-operations. While the micro-operations file format exists for 0T1R crossbar structures, no representations for micro-operations to be executed in 1T1R crossbars exist till date. In this work, we introduce the micro-operation file format for 1T1R crossbar structures to efficiently represent the micro-operations as ReRAM crossbar netlists. Afterwards, we introduce two intermediate data structures, ReRAM Sequence Graph for 0T1R crossbars (ReSG-0T1R) and for 1T1R crossbars (ReSG-1T1R), that are derived from the 0T1R and 1T1R crossbar micro-operations file formats, respectively. These ReSGs are then translated into Boolean Satisfiability (SAT) formula, and then the verification is done by checking the generated SAT formulae against the golden functional specification (represented in Verilog) using Z3 Satisfiability solver. Experimental evaluations confirm the effectiveness of the proposed verification methodology on MCNC and ISCAS benchmarks.

[1]  S. Shirinzadeh,et al.  Automated Equivalence Checking Method for Majority based In-Memory Computing on ReRAM Crossbars , 2023, 2023 28th Asia and South Pacific Design Automation Conference (ASP-DAC).

[2]  R. Drechsler,et al.  Generation of Verified Programs for In-Memory Computing , 2022, Euromicro Symposium on Digital Systems Design.

[3]  R. Drechsler,et al.  Unlocking Sneak Path Analysis in Memristor Based Logic Design Styles , 2022, 2022 25th Euromicro Conference on Digital System Design (DSD).

[4]  I. Sengupta,et al.  In-Memory Computing on Resistive RAM Systems Using Majority Operation , 2021, J. Circuits Syst. Comput..

[5]  Chung-Chuan Lo,et al.  A 22nm 4Mb 8b-Precision ReRAM Computing-in-Memory Macro with 11.91 to 195.7TOPS/W for Tiny AI Edge Devices , 2021, 2021 IEEE International Solid- State Circuits Conference (ISSCC).

[6]  Debjyoti Bhattacharjee,et al.  SIMPLER MAGIC: Synthesis and Mapping of In-Memory Logic Executed in a Single Row to Improve Throughput , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Robert Wille,et al.  An efficient memristor crossbar architecture for mapping Boolean functions using Binary Decision Diagrams (BDD) , 2020, Integr..

[8]  Robert Wille,et al.  A staircase structure for scalable and efficient synthesis of memristor-aided logic , 2019, ASP-DAC.

[9]  Yao Wang,et al.  Comprehensive Sensing Current Analysis and Its Guideline for the Worst-Case Scenario of RRAM Read Operation , 2018, Electronics.

[10]  Rolf Drechsler,et al.  Logic Synthesis for RRAM-Based In-Memory Computing , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Kamalika Datta,et al.  Efficient Mapping of Boolean Functions to Memristor Crossbar Using MAGIC NOR Gates , 2018, IEEE Transactions on Circuits and Systems I: Regular Papers.

[12]  Sumit Kumar Jha,et al.  In-Memory Execution of Compute Kernels Using Flow-Based Memristive Crossbar Computing , 2017, 2017 IEEE International Conference on Rebooting Computing (ICRC).

[13]  Kamalika Datta,et al.  A Scalable In-Memory Logic Synthesis Approach Using Memristor Crossbar , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[14]  Kamalika Datta,et al.  Area efficient implementation of ripple carry adder using memristor crossbar arrays , 2016, 2016 11th International Design & Test Symposium (IDT).

[15]  Nishil Talati,et al.  Logic Design Within Memristive Memories Using Memristor-Aided loGIC (MAGIC) , 2016, IEEE Transactions on Nanotechnology.

[16]  Rolf Drechsler,et al.  Fast logic synthesis for RRAM-based in-memory computing using Majority-Inverter Graphs , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[18]  Kamalika Datta,et al.  BDD based synthesis of Boolean functions using memristors , 2014, 2014 9th International Design and Test Symposium (IDT).

[19]  Uri C. Weiser,et al.  MAGIC—Memristor-Aided Logic , 2014, IEEE Transactions on Circuits and Systems II: Express Briefs.

[20]  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).

[21]  Khaled N. Salama,et al.  Memristor-based memory: The sneak paths problem and solutions , 2013, Microelectron. J..

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

[23]  D. Stewart,et al.  The missing memristor found , 2008, Nature.

[24]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[25]  Malay K. Ganai,et al.  Robust Boolean reasoning for equivalence checking and functional property verification , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Robert K. Brayton,et al.  Using SAT for combinational equivalence checking , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[27]  John P. Hayes,et al.  Unveiling the ISCAS-85 Benchmarks: A Case Study in Reverse Engineering , 1999, IEEE Des. Test Comput..

[28]  A. Kuehlmann,et al.  Equivalence Checking Using Cuts And Heaps , 1997, Proceedings of the 34th Design Automation Conference.

[29]  Y. Matsunaga An efficient equivalence checker for combinational circuits , 1996, 33rd Design Automation Conference Proceedings, 1996.

[30]  L.O. Chua,et al.  Memristive devices and systems , 1976, Proceedings of the IEEE.

[31]  L. Chua Memristor-The missing circuit element , 1971 .

[32]  Kamalika Datta,et al.  Look-ahead mapping of Boolean functions in memristive crossbar array , 2019, Integr..

[33]  Anupam Chattopadhyay,et al.  Efficient Binary Basic Linear Algebra Operations on ReRAM Crossbar Arrays , 2017, 2017 30th International Conference on VLSI Design and 2017 16th International Conference on Embedded Systems (VLSID).

[34]  Rolf Drechsler,et al.  Logic Synthesis for Majority Based In-Memory Computing , 2017 .

[35]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .