Circuits computing just right
FloPoCo is a generator of arithmetic cores (Floating-Point Cores, but not only) for FPGAs (but not only).
The first motto of FloPoCo is that arithmetic on FPGAs should not mimick processor arithmetic. By designing radically new operators, one may obtain more accurate results with less hardware in less time. This thesis was first detailed in this document.
The second motto of FloPoCo is to enable computing just right. All FloPoCo operators are
FloPoCo is not a library of operators, but a generator of operators written in C++. It inputs operator specifications, and outputs synthesizable VHDL.
While waiting for the next release (we are working on it, honest) you may want to read the 2-page paper Reflections on 10 years of FloPoCo.
FloPoCo is open-source. Contributions are welcome!
The intent of the authors is to distribute FloPoCo as free software (in the FSF AGPL sense), while imposing that the source code generated by FloPoCo is also free software (also AGPL-like). The (A)GPL doesn't seem to allow that, so it seems we have to invent something.
Current state of the license is therefore "all right reserved", which just means that the distribution terms are still being decided by the copyright owners (a consortium of the employers of the authors).
If this is a problem for your application, we are ready to negociate a commercial license: contact us.
For some slides, see a FloPoCo tutorial at HiPEAC 2013.
FloPoCo is managed by Florent de Dinechin (contact: Florent.de-Dinechin at insa-lyon.fr) and Martin Kumm (contact: martin.kumm at cs.hs-fulda.de).
Developers: Hatam Abdoli, Sebastian Banescu, Louis Besème, Andreas Böttcher, Nicolas Bonfante, Nicolas Brunie, Victor Capelle, Jiajie Chen, Maxime Christ, Caroline Collange, Quentin Corradi, Florent de Dinechin, Orégane Desrentes, Jérémie Detrey, Antonin Dudermel, Fabrizio Ferrandi, Nicolai Fiege, Luc Forget, Martin Hardieck, Valentin Huguet, Kinga Illyes, Matei Iştoan, Mioara Joldeş, Johannes Kappauf, Cristian Klein, Marco Kleinlein, Kilian Klug, Martin Kumm, Keanu Kullmann, Louis Ledoux, Jean Marchal, Antoine Martinet, Konrad Möller, Raul Murillo, Annika Oeste, Bogdan Pasca, Bogdan Popa, Xavier Pujol, Guillaume Sergent, Viktor Schmidt, David Thomas, Radu Tudoran, Alvaro Vasquez, Anastasia Volkova
Some of FloPoCo's operator code is based on FPLibrary and HOTBM code by Jérémie Detrey.
The following people have contributed to FloPoCo in some way (bug reports, porting, etc): Greg Davey, Mariusz Grad, Daniele Mastrandrea, Pedro Echeverría Aramendi.
FloPoCo uses Sollya, ScaLP, WCPGlib, and relies heavily on GMP and MPFR.
FloPoCo is essentially developed using Free Software. Special thanks to the NVC project for providing us a perfectly useable VHDL simulator.
The following support is gratefully acknowledged