FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks

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...

Full description

Bibliographic Details
Main Authors: Mohammed F. Tolba, Yasmin Halawani, Hani Saleh, Baker Mohammad, Mahmoud Al-Qutayri
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9123392/
id doaj-113d47f143284eca812eb6e328f4cb4e
record_format Article
spelling doaj-113d47f143284eca812eb6e328f4cb4e2021-03-30T02:34:37ZengIEEEIEEE Access2169-35362020-01-01811773611774510.1109/ACCESS.2020.30045359123392FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural NetworksMohammed F. Tolba0Yasmin Halawani1https://orcid.org/0000-0001-9617-5080Hani Saleh2https://orcid.org/0000-0002-7185-0278Baker Mohammad3https://orcid.org/0000-0002-6063-473XMahmoud Al-Qutayri4https://orcid.org/0000-0002-9600-8036System-on-Chip (SoC) Center, Khalifa University, Abu Dhabi, UAESystem-on-Chip (SoC) Center, Khalifa University, Abu Dhabi, UAESystem-on-Chip (SoC) Center, Khalifa University, Abu Dhabi, UAESystem-on-Chip (SoC) Center, Khalifa University, Abu Dhabi, UAESystem-on-Chip (SoC) Center, Khalifa University, Abu Dhabi, UAEBinary 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.https://ieeexplore.ieee.org/document/9123392/MemristorBCNNIP corein-memory computingFPGAXNOR
collection DOAJ
language English
format Article
sources DOAJ
author Mohammed F. Tolba
Yasmin Halawani
Hani Saleh
Baker Mohammad
Mahmoud Al-Qutayri
spellingShingle Mohammed F. Tolba
Yasmin Halawani
Hani Saleh
Baker Mohammad
Mahmoud Al-Qutayri
FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
IEEE Access
Memristor
BCNN
IP core
in-memory computing
FPGA
XNOR
author_facet Mohammed F. Tolba
Yasmin Halawani
Hani Saleh
Baker Mohammad
Mahmoud Al-Qutayri
author_sort Mohammed F. Tolba
title FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
title_short FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
title_full FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
title_fullStr FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
title_full_unstemmed FPGA-Based Memristor Emulator Circuit for Binary Convolutional Neural Networks
title_sort fpga-based memristor emulator circuit for binary convolutional neural networks
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2020-01-01
description 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.
topic Memristor
BCNN
IP core
in-memory computing
FPGA
XNOR
url https://ieeexplore.ieee.org/document/9123392/
work_keys_str_mv AT mohammedftolba fpgabasedmemristoremulatorcircuitforbinaryconvolutionalneuralnetworks
AT yasminhalawani fpgabasedmemristoremulatorcircuitforbinaryconvolutionalneuralnetworks
AT hanisaleh fpgabasedmemristoremulatorcircuitforbinaryconvolutionalneuralnetworks
AT bakermohammad fpgabasedmemristoremulatorcircuitforbinaryconvolutionalneuralnetworks
AT mahmoudalqutayri fpgabasedmemristoremulatorcircuitforbinaryconvolutionalneuralnetworks
_version_ 1724184928449462272