ieee754fpu by libre-soc

An IEEE754 toolkit in nmigen. Similar to J Hauser's hardfloat-3 and Jon Dawson's FPU. 100k+ unit tests included

IEEE754 Floating-Point ALU, in nmigen

This project implements a pipelined IEEE754 floating-point ALU that supports FP16, FP32 and FP64. It is a general-purpose unit that may be used in any project (not limited to one specific processor).

Developed under a Grant from NLnet (http://nlnet.nl), more information may be found at http://libre-soc.org

Requirements

  • nmigen
  • libresoc-nmutil
  • yosys (latest git repository, required by nmigen)
  • sfpy (running unit tests). provides python bindings to berkeley softfloat-3

Building sfpy

The standard sfpy will not work without being modified to the type of IEEE754 FP emulation being tested. This FPU is emulating RISC-V, and there is some weirdness in x86 IEEE754 implementations when it comes to FP16 non-canonical NaNs.

The following modifications are required to the sfpy berkeley-softfloat-3 submodule:

cd /path/to/sfpy/berkeley-softfloat-3
git apply /path/to/ieee754fpu/berkeley-softfloat.patch

The following modifications are required to the sfpy SoftPosit Makefile:

cd /path/to/sfpy/SoftPosit
git apply /path/to/ieee754fpu/SoftPosit.patch

Useful resources

Project Meta

  • Registered on LibreCores 2 months ago
  • Project started 2 years ago
  • Last commit 3 months ago

Commits

{"labels":[2019,2020,2021],"series":[[1693,323,47]]}

Commits per year

Contributors

{"labels":[2019,2020,2021],"series":[[3,3,2]]}

Unique contributors per year

Releases

Data not available

Languages

{"labels":["Others","Python"],"series":[6,190]}

Share of languages used

Data Sheet
Project Web Site
https://git.libre-soc.org/git/ieee754fpu.git
LGPLv3+
Issue Tracker
Last activity 3 months ago
Primary language: Python
2063 commits by 5 contributors
Luke Kenneth Casson Leighton Michael Nolan Jacob Lifshay Aleksandar Kostovic Cesar Strauss
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,14,18,13,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

activity over the last year

LibreCores data updated 2 months ago