Generating high-performance custom floating-point pipelines

Custom operators, working at custom precisions, are a key ingredient to fully exploit the FPGA flexibility advantage for high-performance computing. Unfortunately, such operators are costly to design, and application designers tend to rely on less efficient off-the-shelf operators. To address this issue, an open-source architecture generator framework is introduced. Its salient features are an easy learning curve from VHDL, the ability to embed arbitrary synthesizable VHDL code, portability to mainstream FPGA targets from Xilinx and Altera, automatic management of complex pipelines with support for frequency-directed pipeline, and automatic test-bench generation. This generator is presented around the simple example of a collision detector, which it significantly improves in accuracy, DSP count, logic usage, frequency and latency with respect to an implementation using standard floating-point operators.

[1]  Florent de Dinechin,et al.  Table-based polynomials for fast hardware function evaluation , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

[2]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[3]  Florent de Dinechin,et al.  Large multipliers with fewer DSP blocks , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[4]  Florent de Dinechin,et al.  Return of the hardware floating-point elementary function , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[5]  Jean-Michel Muller,et al.  Integer and floating-point constant multipliers for FPGAs , 2008, 2008 International Conference on Application-Specific Systems, Architectures and Processors.

[6]  D. Bakalis,et al.  A core generator for arithmetic cores and testing structures with a network interface , 2006, J. Syst. Archit..

[7]  Florent de Dinechin,et al.  An FPGA-specific approach to floating-point accumulation and sum-of-products , 2008, 2008 International Conference on Field-Programmable Technology.

[8]  Martin Langhammer Floating point datapath synthesis for FPGAs , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[9]  R. Andraka Hybrid Floating Point Technique Yields 1 . 2 Gigasample Per Second 32 to 2048 point Floating Point FFT in a single FPGA , 2006 .

[10]  Florent de Dinechin,et al.  When FPGAs are better at floating-point than microprocessors , 2008, FPGA '08.

[11]  Tom VanCourt,et al.  FPGA acceleration of quasi-Monte Carlo in finance , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[12]  John Wawrzynek,et al.  Object oriented circuit-generators in Java , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[13]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.