16-Bit Floating Point Modules

The following is a set of 16-bit floating-point modules suitable for use in implementing this TACKY processor. They are NOT an implementation of the standard 16-bit half-precision floating-point, but rather implement just the bare minimum functionality for a format which is the top 16 bits of the standard 32-bit single-precision IEEE 754 format. Each basic operation appears to be a combinatorial module, although it's highly debatable if it would make sense to build hardware that way; after all, it assumes an 8x8 multiply is a combinatorial circuit, which it can be, but it isn't small if implemented that way.

This code was created February 19, 2019 by Henry Dietz, http://aggregate.org/hankd, and is distributed under CC BY 4.0, https://creativecommons.org/licenses/by/4.0/

This code has not yet been well-tested and may be corrected or enhanced, so watch the following revision history:


Verilog source code:

VMEM file contents:

VMEM 0:

VMEM 1:


The C program that generated this page was written by Hank Dietz using the CGIC library to implement the CGI interface.


The Aggregate. Advanced Computer Architecture.