This page reports some results obtained with bambu v0.9.6 executed on a Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz with Debian 9 “Stretch”-64bit and using GCC version 4.9.2.
In particular, it collects results on 35 single precision libm functions with respect to different target devices. For each function, two different implementations are considered. The first one is obtained by passing option –soft-float and performing the high-level synthesis using the bambu softfloat library, while the second one is obtained performing the high-level synthesis using the FloPoCo generated cores, passing option –flopoco.
Moreover, the experimental setup (–registered-inputs=top –panda-parameter=profile-top=1) used is registering the inputs and the outputs of the libm functions. So, for each of the functions considered we have one cycle to register the inputs and one cycle to register the output (i.e., +2 on Num Cycles). It has been done in this way to properly assess the timing of the libm functions.
Moreover, the sdc file constrains the design in this way (clock periodo 10ns):
create_clock -period 10 -name clock [get_ports clock]
set_max_delay 10 -from [all_inputs] -to [all_outputs]
set_max_delay 10 -from [all_inputs] -to [all_registers]
set_max_delay 10 -from [all_registers] -to [all_outputs]