High-level synthesis and arithmetic optimizations
High-level synthesis (HLS) tools offer increased productivity regarding FPGA programming. However, due to their relatively young nature, they still lack many arithmetic optimizations. This thesis proposes safe arithmetic optimizations that should always be applied. These optimizations are simple operator specializations, following the C semantic. Other require to a lift the semantic embedded in high-level input program languages, which are inherited from software programming, for an improved accuracy/cost/performance ratio. To demonstrate this claim, the sum-of-product of floating-point numbers is used as a case study. The sum is performed on a fixed-point format, which is tailored to the application, according to the context in which the operator is instantiated.
In some cases, there is not enough information about the input data to tailor the fixed-point accumulator. The fall-back strategy used in this thesis is to generate an accumulator covering the entire floating-point range. This thesis explores different strategies for implementing such a large accumulator, including new ones. The use of a 2’s complement representation instead of a sign+magnitude is demonstrated to save resources and to reduce the accumulation loop delay.
Based on a tapered precision scheme and an exact accumulator, the posit number systems claims to be a candidate to replace the IEEE floating-point format. A throughout analysis of posit operators is performed, using the same level of hardware optimization as state-of-the-art floating-point operators. Their cost remains much higher that their floating-point counterparts in terms of resource usage and performance.
Finally, this thesis presents a compatibility layer for HLS tools that allows one code to be deployed on multiple tools. This library implements a strongly typed custom size integer type along side a set of optimized custom operators.
- Philippe Coussy, Professeur des Universités, UBS, Lorient, France : Rapporteur
- Olivier Sentieys, Professeur des Universités, Univ. Rennes, Inria, IRISA, Rennes : Rapporteur
- Laure Gonnord, Maître de conférence, Université Lyon 1, France : Examinatrice
- Frédéric Pétrot, Professeur des Universités, TIMA, Grenoble, France : Examinateur
- Martin Kumm, Professeur des Universités, Université de Fulda, Allemagne : Examinateur
- Florent de Dinechin, Professeur des Universités, INSA Lyon, France : Directeur de thèse