A nmigen (HDL) IEEE754 Floating-Point library
Project description
# 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 details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file libresoc-ieee754fpu-0.0.1.tar.gz
.
File metadata
- Download URL: libresoc-ieee754fpu-0.0.1.tar.gz
- Upload date:
- Size: 186.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
898d0c193544b59021ac9552012dd294a0725cc74f9aff763f5554c49ddf997c
|
|
MD5 |
a88c8be3160aed3c62e3dbbcacc3370f
|
|
BLAKE2b-256 |
2b3753f6025bf19043f20caf03663c5ff1d454ab27748e96bad0a42555e0c47d
|