Optimizing compiler for a specialized real-time floating point softcore processor
Michael Kirchhoff, Natalia Kaptsova, Detlef Streitpferdt, Wolfgang Fengler · 2017
This paper presents the authors' research work in the fields of embedded real-time softcore systems on FPGAs and specialized optimizing assembly language compiler. With this softcore processor, we are targeting a highly specialized field of applications that require a large floating point precision and other unique characteristics. Therefore, a specialized optimizing assembly language compiler is necessary in order to provide the needed machine code and optimize it in a way that an efficient usage of internal parallelism mechanisms is possible. We introduce a compiler that translates a given assembly program into machine code and optimizes the code to maximize the parallel execution of a given problem by maximizing the usage of all internal pipelines. After pointing out major requirements for this objective and analyzing elementary solutions, we develop a specifically designed algorithm that combines all advantages while avoiding most of the disadvantages. As proof of concept, experiments will show the characteristics of the resulting machine code, e.g. level of parallelism and functional correctness.