[Libre-soc-bugs] [Bug 786] New: Implement gfp* instructions for GF(p) instructions

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Mon Mar 21 03:15:37 GMT 2022


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

            Bug ID: 786
           Summary: Implement gfp* instructions for GF(p) instructions
           Product: Libre-SOC's second ASIC
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: CONFIRMED
          Severity: enhancement
          Priority: ---
         Component: source code
          Assignee: programmerjake at gmail.com
          Reporter: programmerjake at gmail.com
                CC: libre-soc-bugs at lists.libre-soc.org,
                    programmerjake at gmail.com
            Blocks: 782
   NLnet milestone: NLnet.2021.02A.CryptoRouter
    parent task for 782
 budget allocation:

First: TODO: decide if we want to implement these.

TODO: decide if we want to limit ourselves to GF(p) for prime p or change these
instructions to work for all modular arithmetic (modulus isn't required to be
prime). If we want the instructions to work for all modular arithmetic, then
they should probably be named mod* rather than gfp*.

Instructions:
* gfpadd, gfpsub
* gfpmul
* gfpinv (decide what div by 0 does -- decide what non-invertable inputs do
(only happens for composite moduli))
* gcd (maybe -- other output of gfpinv's algorithm, we have the hardware, why
not use it?)
* gfpmadd, gfpmsub, gfpmsubr (sub reversed)
* gfpmaddsubr (for fft)

Steps (edit as needed):
* TODO: Instruction Encodings
* basic adaptable modules (probably in nmutil)
  * TODO: module in nmutil
  * TODO: unit test
  * TODO: formal
* TODO: add encoding of gfp* to SVP64Asm class (as a 32bit op)
* TODO: add gfp* to TBD pipe(s)
* TODO: fu unit tests
* TODO: fu formal


Referenced Bugs:

https://bugs.libre-soc.org/show_bug.cgi?id=782
[Bug 782] add galois field bitmanip instructions
-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list