Examining field-programmable gate array (FPGA ) bitstream is found to help detect known function blocks, which offers assistance and insight to analyze the circuit's system function. Our goal is to detect one or more than one function block in FPGA design from a complete bitstream by utilizing the latest deep learning techniques, which do not require manually designing features. To this end, in this paper, we propose a  deep learning-based FPGA function block detection method by transforming the bitstream into a three-channel color image . In specific, we first analyze the format of the bitstream to find the mapping relationship between the configuration bits and configurable logic blocks . Next, an image-coded representation of bitstream is proposed suitable for deep learning processing. This bitstream-to-image transformation takes into account of the adjacency nature of the programmable logic as well as high degree of redundancy of configuration information. With the color images transformed from bitstreams as the training dataset , a deep learning-based object detection algorithm is applied for generating the function block detection results. The effects of EDA tools, input size of the deep neural network , and the data arrangement of representation on the detection accuracy are explored. The Xilinx Zynq-7000 SoCs and Xilinx Zynq UltraScale+ MPSoCs are adopted to verify the proposed method, and the results show that the mean Average Precision (IoU=0.5) for 10 function blocks is as high as 97.72\% for YOLOv3 detector  .
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 .
R
Examining field-programmable gate array (FPGA ) bitstream is found to help detect known function blocks, which offers assistance and insight to analyze the circuit's system function. Our goal is to detect one or more than one function block in FPGA design from a complete bitstream by utilizing the latest deep learning techniques, which do not require manually designing features. To this end, in this
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
A
novel
R
by transforming the bitstream into a three-channel color image
with three major steps
R
find
obtain
R
. Next, an image-coded representation of bitstream is proposed suitable for deep learning processing. This bitstream-to-image transformation takes into account of
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
R
as well as
and the
R
With the color images transformed from bitstreams as the training dataset
Once the image is obtained
R
for generating the function block detection results. The effects of EDA tools, input size of the
to this transformed image, and the objects thus detected can be reflected back to determine the function blocks of the original FPGA design. The
R
, and the data arrangement of representation on the detection accuracy are explored. The Xilinx Zynq-7000 SoCs and Xilinx Zynq UltraScale+ MPSoCs are adopted to verify the proposed method, and the results show that the
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
R
is as high as 97.72\% for
within a
A
implemented on Xilinx Zynq-7000 SoCs and Zynq UltraScale+ MPSoCs