AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Design and Implementation of a Novel Dataflow Model and an Intermediate Representation Language for High Level Synthesis on Field Programmable Gate Arrays

Author

Term

10. term

Publication year

2012

Submitted on

Abstract

Field Programmable Gate Arrays (FPGA’er) muliggør massiv parallel databehandling, men udnyttelsen begrænses ofte af programmeringsværktøjer og designmetoder på højt niveau. Dette arbejde undersøger eksisterende høj-niveau-sprogs tilgange (bl.a. FPGA-Oberon, CAL og Vivado HLS) samt decoupled access/execute-arkitekturer for at identificere styrker og svagheder. På den baggrund foreslås en ny dataflow-model, der samler de gode egenskaber, samt et høj-niveau mellemliggende repræsentationssprog (IR) til effektivt at udtrykke dataflowet. Der præsenteres også en række heuristikker, der skal lette optimering af den genererede FPGA-implementering. En compiler er implementeret, som oversætter IR til Verilog HDL og udfører bl.a. konstantpropagering, forenkling, fjernelse af ubrugt kode, indsættelse af løbetællere og bitbreddeanalyse. Den resulterende dataflow-model er enkel og velegnet til komplekse algoritmer inden for digital signalbehandling. I en test med et FIR-filter sammenlignes løsningen med en anden HLS-implementering: udførelseshastigheden er lidt lavere, mens arealforbruget er på niveau; den større fleksibilitet øger transportoverhead, men giver også markant større udtrykskraft.

Field Programmable Gate Arrays (FPGAs) enable massive parallel data processing, yet their potential is often limited by high-level programming tools and design methodologies. This thesis reviews existing high-level approaches (including FPGA-Oberon, CAL, and Vivado HLS) and decoupled access/execute architectures to identify strengths and limitations. Building on this, it proposes a new dataflow model that combines favorable features and introduces a high-level intermediate representation (IR) language to express the dataflow effectively. A set of heuristics is presented to facilitate optimization of the synthesized FPGA design. A compiler is implemented that translates the IR to Verilog HDL and performs constant propagation, operation simplification, dead-code removal, loop counter insertion, and bit-width analysis. The resulting dataflow model is simple and well suited to complex digital signal processing algorithms. In a FIR filter case study, the approach is compared with another high-level synthesis language: overall execution speed is slightly lower while area usage is comparable; the added flexibility increases transport overhead but substantially improves expressiveness.

[This summary has been generated with the help of AI directly from the project (PDF)]