OpenCores

Project maintainers

Details

Name: fpu100
Created: Jan 28, 2006
Updated: Jun 14, 2017
SVN Updated: Mar 10, 2009
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 7 reported / 0 solved
Star6you like it: star it!

Other project properties

Category:Arithmetic core
Language:VHDL
Development status:Stable
Additional info:FPGA proven
WishBone compliant: No
WishBone version: n/a
License:

Description

This is a 32-bit floating point unit (FPU), which I developed in a project within the Vienna University of Technology. It can do arithmetic operations on floating point numbers. The FPU complies fully with the IEEE 754 Standard. The FPU was tested and simulated in hardware and software.

Features

- FPU supports the following arithmetic operations:
- Add
- Subtract
- Multiply
- Divide
- Square Root

- For each operation the following rounding modes are supported:
- Round to nearest even
- Round to zero
- Round up
- Round down

- Pipelined to achieve high operating frequency (100MHz with Cyclone EP1C6)

- Tested with 2 million test cases

- Hardware proven: FPU was implemented in a Cyclone I–EP1C6 FPGA chip and was then connected to the Java processor JOP(http://www.jopdesign.com (jopdesign.com)) to do some floating-point calculations.


For more details please read the documentation. If that doesn't help, then post your question here: http://groups.yahoo.com/group/32bit_fpu

Status

- 30-Jan-2006: Uploaded project (files will be imported into CVS very soon)
- 02-Mar-2006: Added CVS files
- 28-Mar-2006: Tested the FPU with 2 million test cases and corrected two bugs. [fpu_v14]
- 28-Mai-2006: 1)Intializing bug fixed in testbench; 2)Extended 1 clock cycle more for multiplication, becasue of an Intializing issue.[fpu_v15]
- 14-Jun-2006: 1)Corrected a syntax error in "tb_fpu.vhd": start_i - 16-Jul-2006: 1)Corrected bug related to adding two denormalized operands.[fpu_v17]
- 22-Jul-2006: 1)post_norm_addsub.vhd: Restructured and fixed a bug; 2)fpu.vhd: Altered add/sub COUNT; 3)tb_fpu.vhd: Added some boundary values. [fpu_v18]
- 26-Apr-2007: 1)A minor bug was found and corrected when the serial multiplier is used (thanks to Chris Basson!). [fpu_v19]

License

You can use this code academically, commercially, etc. for free; just acknowledge the author.