An OpenCL Implementation of an Image Filter on FPGA

Seigen Nakasone, Lars‐Göran Öfverstedt, Gunnar Wilken, Ulf Skoglund · 2019

FPGAs (Field-Programmable Gate Array) may offer higher performance than CPU architectures. Hardware Description Languages (HDL), such as VHDL and Verilog, which are traditionally used to program FPGAs, are known as hard to learn, to use, and to debug. Optionally, High Level Synthesis (HLS), such as OpenCL, allows developers to focus on the design of functions following a high-level software development flow, makes it easier to program FPGAs. This paper implements an image filter in the frequency domain on an FPGA board by using OpenCL, making the FPGA board an accelerator device to the host PC. The experiment results show that the filter implemented on the FPGA device can be optimized by pipelining the signal processing tasks onto the FPGA and reduce the I/O requirements between host PC and FPGA. The optimized FPGA implementation has higher performance than the image filter totally implemented on CPU.

Read the paper · More papers on PaperTik