This page reports some results on single and double precision basic floating point operators.
They are 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.
The experimental setup (–registered-inputs=top –panda-parameter=profile-top=1) used is registering the inputs and the outputs of the basic operations. So, for each of the operations 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 operators.
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]
Results with clock period=10ns
VIVADO 2017.2 – Zynq results
QUARTUS II 13.0sp1 – Cyclone II results
DIAMOND 3.9 – Lattice ECP3 results
Results with clock period=2.5ns
VIVADO 2019.2 – Virtex7 results