feat: fractional divider
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.