[Libre-soc-bugs] [Bug 784] Implement cl* instructions for carry-less operations

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Apr 5 18:33:15 BST 2022


https://bugs.libre-soc.org/show_bug.cgi?id=784

--- Comment #10 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #6)
> my intuition tells me that this may prove useful, to replace the use
> of an adder.
> 
> https://git.libre-soc.org/?p=nmutil.git;a=blob;f=src/nmutil/ripple.py;hb=HEAD

actually that ripple logic is exactly what I was trying to avoid...it would
generate a 64-deep chain of gates. binary addition is optimized by yosys to use
carry look-ahead (they can be depended on not to break that since it would make
all binary arithmetic have such a huge latency that basically all cpus using
yosys would no longer meet timing).

> 
> relying on yosys to spot that certain gates are redundant is not sensible.

it's perfectly sensible since the xor gates have unused outputs therefore they
are trivially removed by `opt` (after the addition is converted to individual
gates). `abc` (run by synth -- abc is a totally different project that couldn't
realistically be borked by yosys's developers too) also has passes to remove
unused gates.

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


More information about the libre-soc-bugs mailing list