High‐Level Synthesis of Software‐Customizable Floating‐Point Cores

Samridhi Bansal1,a, Hsuan Hsiao1,b, Tomasz Czajkowski2 and Jason H. Anderson1,c
1University of Toronto, Toronto, ON, Canada
asamridhi.bansal@mail.utoronto.ca
bjulie.hsiao@mail.utoronto.ca
cjanders@ece.utoronto.ca
2Intel Corp., Toronto, ON Canada

ABSTRACT


Parameterized cores with fixed capabilities are typically used for floating‐point (FP) operations on FPGAs. However, such standard cores can be over provisioned or lack specific specializations as required by applications. We consider FP cores described in the C language, synthesized to hardware using the LegUp high-level synthesis (HLS) tool [1]. Their software specification permits straightforward customization to non-compliant variants having superior area and performance characteristics, such as reduced-precision floating point, or cores without full IEEE 754 exceptions support.We create and evaluate the IEEE 754 FP standard cores for the key operations of addition, subtraction, division and multiplication, targeted to an FPGA and compare with widely used optimized RTL FP cores from Altera [7] and FloPoCo [3]. The software‐specified HLSgenerated cores are surprisingly close to the optimized RTL cores in terms of area/performance, and superior in certain cases, such as FP division.



Full Text (PDF)