[Libre-soc-bugs] [Bug 782] add galois field bitmanip instructions

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Mar 4 02:13:20 GMT 2022


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

--- Comment #7 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #4)

> we probably won't want division or inverse cuz iirc those are crazy complex.

isn't it beautifully completely nuts? :)  i tracked down a simple version
based on long division, see bitmanip page section "gf invert", it looks
half decent, reminds me of the arithmetic div pipeline and of CORDIC.

the ultimate goal here, the big test, is to do NTT in around 11 instructions
similar to DCT. the entire main NTT triple loop with SV REMAP, on top of
the appropriate twin butterfly ops.

(In reply to Jacob Lifshay from comment #5)

> modular inverse algorithm:
> https://en.m.wikipedia.org/wiki/Extended_Euclidean_algorithm#Modular_integers

euclidean not galileo :)

see gf invert section you will likely find it is that one.

div can then be invert followed by mul.  no accuracy is lost because
both are ring fields. when prime polynomial.

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


More information about the libre-soc-bugs mailing list