FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks

Mohammed F. Tolba, Yasmin Halawani, Hani Saleh, Baker Mohammad, Mahmoud Al-Qutayri

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

Binary convolutional neural networks (BCNN) have been proposed in the literature for resource-constrained IoTs nodes and mobile computing devices. Such computing platforms have strict constraints on the power budget, system performance, processing and memory capabilities. Nonetheless, the platforms are still required to efficiently perform classification and matching tasks needed in various applications. The memristor device has shown promising results when utilized for in-memory computing architectures, due to its ability to perform storage and computation using the same physical element. This is in addition to their nonlinear dynamic characteristics that can be used for various applications. Emulating the memristor operation through FPGAs implementation provides flexibility for rapid prototyping and exploration of the design space. In this paper, a FPGA-based memristor emulator circuit is implemented using a multi-bit XNOR gate as the main block for binary convolution which is followed by a memristor-based pooling layer. The BCNN layer is realized by bitwise XNOR-cell followed by wide NOR gate. The implementation has been successfully synthesized and verified using Xilinx Nexys4 FPGA with less than 1% utilization and 144.9 MHz frequency of operation. In order to test the functionality of the proposed cores, a digital implementation for the circuit was realized and verified experimentally. The experimental results show similar performance when compared to software simulation.

Original languageBritish English
Article number9123392
Pages (from-to)117736-117745
Number of pages10
JournalIEEE Access
Volume8
DOIs
StatePublished - 2020

Keywords

  • BCNN
  • FPGA
  • in-memory computing
  • IP core
  • Memristor
  • XNOR

Fingerprint

Dive into the research topics of 'FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks'. Together they form a unique fingerprint.

Cite this