[libre-riscv-dev] partitioned compare and mux

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Feb 9 18:16:49 GMT 2020

On Sun, Feb 9, 2020 at 3:05 PM Luke Kenneth Casson Leighton
<lkcl at lkcl.net> wrote:
> oh - just realised, would you agree, is it the case that we have to
> "slide down" the carry-out to the beginning of the partition?  using
> one of those mux-cascades?

bored-on-a-sunday syndrome :)

wrote a class MoveMSBDown [1] (i'm rubbish at names), my take is, it
would need to be used at line 217 on adder.py?

MoveMSBDown does what it says: moves the MSB (of each partition) down
to the LSB position.  it does so by first "rippling" the MSB across
the entire partition (starting at MSB and working down) using a
Mux-cascade, then, rather than output that directly it ANDs the
intermediate result with the partition gates.  that has the effect of
only outputting the MSB in the position of the partition's LSB.


[1] https://git.libre-riscv.org/?p=ieee754fpu.git;a=commitdiff;h=6d1ec116f84926a48ffc232f125717bd110d5f0e
[2] https://git.libre-riscv.org/?p=ieee754fpu.git;a=blob;f=src/ieee754/part_mul_add/adder.py;hb=HEAD#l217

More information about the libre-riscv-dev mailing list