Loading…

2L-3W: 2-Level 3-Way Hardware–Software Co-verification for the Mapping of Convolutional Neural Network (CNN) onto FPGA Boards

FPGAs have become a popular choice for deploying Convolutional Neural Networks (CNNs). As a result, many researchers have explored the deployment and mapping of CNN on FPGA. However, the verification of these deployments at the design time is one of the biggest challenges. The need for design-time v...

Full description

Saved in:
Bibliographic Details
Published in:SN computer science 2022, Vol.3 (1), p.60, Article 60
Main Authors: Odetola, Tolulope A., Groves, Katie M., Mohammed, Yousufuddin, Khalid, Faiq, Hasan, Syed Rafay
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:FPGAs have become a popular choice for deploying Convolutional Neural Networks (CNNs). As a result, many researchers have explored the deployment and mapping of CNN on FPGA. However, the verification of these deployments at the design time is one of the biggest challenges. The need for design-time verification is growing exponentially because of its use in safety-critical applications. To the best of our knowledge, this is the first work that proposes a 2-Level 3-Way (2L-3W) hardware–software co-verification methodology at design time. 2L-3W provides a step-by-step guide for the successful mapping, deployment, and verification of CNN on FPGA boards. The 2-Level verification serves the purpose of ensuring the implementation in each stage (software and hardware) is following the desired behavior. The 3-Way co-verification provides a cross-paradigm (software, design architecture, and hardware) layer-by-layer parameter check to assure the correct implementation and mapping of the CNNs onto FPGA boards. The proposed 2L-3W co-verification methodology has been evaluated over several test cases. In each case, the prediction and layer-by-layer output of the CNN deployed on the PYNQ FPGA board (hardware), intermediate design results of the layer-by-layer output of the CNN implemented on Vivado HLS, and the prediction and layer-by-layer output of the software level (Caffe) are compared to obtain a similarity score with a Python script. The comparison provides the degree of success of the CNN mapping to the FPGA and helps identify in design time the layer to be debugged in the case of unsuccessful mapping. We demonstrated our technique on LeNet CNN and LeNet-3D CNN (a Caffe-inspired network for the Cifar10 dataset), and the co-verification results yielded layer-by-layer similarity scores of 99% accuracy.
ISSN:2662-995X
2661-8907
DOI:10.1007/s42979-021-00954-5