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...
Main Authors: | , , , , |
---|---|
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 |