[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.

l.

[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