Skip to content

feat: fractional divider

Lukasz Butkowski requested to merge fractional_divider into main

This MR adds fractional divider entities for signed and unsigned type. The used algorithm use pencil-paper division algorithm and takes a number of cycles equal to the output word length to complete (+1 for the unsigned version and +2 for the signed version).

Since the output has a fixed-point range of [0,1) for the unsigned version and (-1, 1) for the signed version, when abs(numerator) >= abs(denominator), the result saturates (po_saturated).

See branch documentation for additional information https://gitlab.msktools.desy.de/fpgafw/lib/desy_vhdl/-/blob/fractional_divider/doc/modules/ROOT/pages/math/math.adoc#user-content-entity-fractional_divider_unsigned

cocotb test benches are provided.

Merge request reports