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 (, more information may be found at


  • 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 3 days ago
  • Project started 2 years ago
  • Last commit 26 days ago



Commits per year



Unique contributors per year


Data not available



Share of languages used

Data Sheet
Project Web Site
Issue Tracker
Last activity 26 days ago
Primary language: Python
2063 commits by 5 contributors
Luke Kenneth Casson Leighton Michael Nolan Jacob Lifshay Aleksandar Kostovic Cesar Strauss

activity over the last year

LibreCores data updated 3 days ago