1 research outputs found
A Deep Learning-Based FPGA Function Block Detection Method with Bitstream to Image Transformation
In the context of various application scenarios and/or for the sake of
strengthening FPGA security, the system functions of an FPGA design need to be
analyzed, which can be achieved by systematically partitioning the FPGA's
bitstream into manageable functional blocks and detecting their functionalities
thereafter. In this paper, we propose a novel deep learning-based FPGA function
block detection method with three major steps. In specific, we first analyze
the format of the bitstream to obtain the mapping relationship between the
configuration bits and configurable logic blocks because of the discontinuity
of the configuration bits in the bitstream for one element. In order to reap
the maturity of object detection based on deep learning techniques, our next
step is to convert an FPGA bitstream to an image, following the proposed
transformation method that takes account of both the adjacency nature of the
programmable logic and the high degree of redundancy of configuration
information. Once the image is obtained, a deep learning-based object detection
algorithm is applied to this transformed image, and the objects thus detected
can be reflected back to determine the function blocks of the original FPGA
design. The deep neural network used for function block detection is trained
and validated with a specially crafted bitstream/image dataset. Experiments
have confirmed high detection accuracy of the proposed function detection
method, showing a 98.11% of mean Average Precision (IoU=0.5) for 10 function
blocks within a YOLOv3 detector implemented on Xilinx Zynq-7000 SoCs and Zynq
UltraScale+ MPSoCs.Comment: 14 pages and 12 figure