This thesis focuses on the high-level synthesis of video processing algorithms tailored for programmable FPGA circuits. Specifically, it addresses the development and synthesis of an algorithm for linear local video signal processing using the high-level language C++. The resulting algorithm is then adapted into three distinct linear local filters, which are subsequently implemented on the FPGA circuit of the MiniZed development board. The primary aim of this thesis is to exploit the capabilities of C++ to create a versatile algorithm that can be easily synthesized in a variety of linear local filters with minor modifications to the base C++ code.
The introductory part of this thesis provides an overview of the use of high-level synthesis in the development and design of digital circuits for FPGA implementation. Next, the FPGA circuit architecture and available resources for implementing video processing systems is briefly discussed. Furthermore, the thesis describes the use of the Vivado HLS tool, focusing on the optimization methods in the directives used in this work, to implement a linear local algorithm for image processing.
The development of the algorithm is described in two chapters. The first chapter deals with the generation and synthesis of a pixel caching algorithm using two different approaches. The first approach uses BRAM memory and the second approach uses a shift register. In both cases, the designed algorithm ensures flexibility, as it allows easy adjustment of the window size and the dimensions of the image being processed. The synthesis results are then analyzed and compared between the two approaches. The next chapter focuses on the algorithm for calculating the convolution, which is also designed to allow easy changes to its functionality. This algorithm is subsequently adjusted to implement three different linear local filters for edge detection, smoothing and sharpening of images. In the end, the synthesis results show that the target FPGA circuit is not capable to implement a local filter for most of the standard VGA displays.
Finally, the developed algorithms are synthesized and implemented on the target FPGA circuit. Despite the promising result during synthesis, which shows the adequacy of the synthesized RTL architecture, most of the filters do not meet the required time constraints during actual implementation.
|