[Libre-soc-bugs] [Bug 413] DIV "trial" blocks are too large

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Jul 3 06:19:27 BST 2020


--- Comment #12 from Jacob Lifshay <programmerjake at gmail.com> ---
I am planning on rewriting DivPipeCore to allow statically disabling some ops
(sqrt, rsqrt), it will also support looping the pipeline back around on itself
to support 32-bit ops by running the op through the pipeline twice and 64-bit
ops by running through the pipeline 4 times. It will also support 8 and 16-bit
ops run through once. That will make scheduling a little harder to implement,
but should still be quite trivial, since all that's needed is to delay issuing
ops for each cycle that something is looping back.
I think I should probably also add support for SIMD partitioning (also
statically disable-able), since it won't make it much more complex and would
easily do 2x 32-bit div every 2 cycles or 4x 16-bit div every cycle or 8x 8-bit
div every cycle. The SIMD functionality would be more complex to schedule, so
would be statically disabled for the oct tapeout, though we would still want
the ability to take half as many trips through the pipeline for 32-bit div.

If there isn't enough time, I can write a simple radix 4 or 8 fsm-based div in
probably a day or two.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-soc-bugs mailing list