Print Email Facebook Twitter Automated FPGA Hardware Synthesis for High-Throughput Big Data Filtering and Transformation Title Automated FPGA Hardware Synthesis for High-Throughput Big Data Filtering and Transformation: An SQL query transpiler targeting Vivado HLS C++ tools for high-level stream transformation and filtering on FPGAs using Apache Arrow. Author de Haan, Erwin (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Al-Ars, Zaid (mentor) Hofstee, Peter (graduation committee) Rellermeyer, Jan (graduation committee) Peltenburg, Johan (graduation committee) Degree granting institution Delft University of Technology Date 2019-08-27 Abstract Despite its advantages in performance and control, hardware design is mainly bottlenecked by high design complexity and long development time. This thesis explores the use of domain specific languages for high-level synthesis (HLS) of hardware data filters and transformations.The main goal of this thesis’ prototype is automating the transpiling of SQL to HLS C++ to generate hardware for filtering and data streams using CAPI on POWER systems. This work uses the Fletcher framework to automate the handling of data movement between memory and the field-programmable gate array (FPGA). The use of HLS technologies can greatly reduce the development time of FPGAs compared to manual FPGA development workflows. Deploying FPGAs in fast changing data processing pipelines, can be very complicated or limit the use of the FPGA hardware. This work investigates if HLScan be used for these kinds of applications to reduce total development time while still maintaining performance. Additionally, the use of the Fletcher framework further reduces required developer time. The proof-of-concept shows that it is possible to efficiently use HLS for data filtering and transformations. And that without a significant effort from the designer, usable designs and filters can be generated. For example some of the simpler kernels can reach upwards of 1 GB/s while using less than 1 % of a Xilinx Kintex UltraScale XCKU060 FPGA. By using multiple instances of these kernels the design can saturate the system bandwidth. Though this approach is not without issue, it does lend itself to extending the tool and some extra development effort to improve the current proof-of-concept.The project code is released under Apache 2.0 license on GitHub at: https://github.com/EraYaN/FletcherFiltering. Subject FPGAHLSSQLcompilerautomatedpython To reference this document use: http://resolver.tudelft.nl/uuid:b1059caf-8eee-48d8-8a78-c14d3b0d7db3 Part of collection Student theses Document type master thesis Rights © 2019 Erwin de Haan Files PDF thesis_v1.0.0.pdf 368.11 KB Close viewer /islandora/object/uuid:b1059caf-8eee-48d8-8a78-c14d3b0d7db3/datastream/OBJ/view