OpenCores

openFPU64 :: Overview

Project maintainers

Details

Name: openfpu64
Created: Apr 17, 2010
Updated: May 7, 2010
SVN Updated: Jun 2, 2010
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: reported / solved

★ Star 0 you like it: star it!

Other project properties

Category: Arithmetic core
Language: VHDL
Development status: Beta
Additional info: none
WishBone compliant: No
WishBone version: n/a
License: GPL

Description

Free and open source double precision Floating Point Unit (FPU).

The openFPU64 currently features:
- double precision
- Addition/Subtraction
- Multiplication
- rounding (to nearest even)
- subnormals/denormals
- validated against IEEE754
- Compatible with Avalon Bus
- Wishbone interface will be provided soon

New algorithms can be added easily, just modify the code marked
with ADD_ALGORITHMS_HERE
Everything marked with FUTURE is not yet implemented,
but already added for easier transition.
Tested on CycloneII and Cyclone III FPGAs.

If any questions arise, don't hesitate to contact me.

openFPU64 Logo

Performance

Add/Sub have an fmax of 112Mhz on a Cyclone II.
Multiply has a fmax of 70Mhz on a Cyclone II.

A faster implementation of Multiply will be provided soon.
(faster in regard to fmax, with only 2 clock cycles more delay)

Testsuites

Due to the size and a 'bug' in the websvn which got the tar.bz2 corrupted I removed the testsuites from svn.

I uploaded them to
http://www.hs-augsburg.de/~phuewe/openFPU64/tests.tar.bz2
please download them from there.

After downloading them, untar them to tests/

From openfpu64 root directory you can now create the testsuites using
make TESTSUITENAME_testsuite
e.g.
make add_testsuite

You can then compile the openfpu64_tb.vhd with modelsim or ghdl.

If you use ghdl you can generate the executable testbench by simply running make.



The testsuites contain 45k testcases for add/sub each and 90k for multiply.



© copyright 1999-2017 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.