[libre-riscv-dev] partitioned compare and mux

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Feb 8 08:26:50 GMT 2020


On Saturday, February 8, 2020, Luke Kenneth Casson Leighton <lkcl at lkcl.net>
wrote:

>
> ... yes along these lines except (carrying in from above) i was thinking
> to try (this may be wrong):
>
> A = 0XXXPXXXPXXX0
> B = 0YYYCYYYCYYYC
>

 https://libre-riscv.org/3d_gpu/architecture/dynamic_simd/add/?updated

LSB extra has to be a 1 not a 0 otherwise it won't propagate over.

ok i see now why you did C in both A and B.  it's to make sure it
propagates over.

i suspect it is simpler to just do A=0XPXP1 and B=0YCYCYC and have the rule
that carry must be correctly formatted i.e C-in matching the partition LSB
and being zeros above that until the end of partition.

if you think it safer to guarantee that, i'm happy eith that.  however
there is an important rule: always throw an exception if invalid data is
detected, rather than ignore it after a "correction".

l.






-- 
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68


More information about the libre-riscv-dev mailing list