add TODO comment-notes and rename part_prods to just parts,
[nmigen-gf.git] / gf_reference / gfbmul.py
1 from nmigen_gf.reference.state import ST
2 from nmigen_gf.reference.decode_reducing_polynomial import decode_reducing_polynomial
3 from nmigen_gf.reference.clmul import clmul
4 from nmigen_gf.reference.cldivrem import cldivrem
5
6
7 def gfbmul(a, b):
8 product = clmul(a, b)
9 red_poly = decode_reducing_polynomial()
10 q, r = cldivrem(product, red_poly, width=ST.XLEN + 1)
11 return r