add TODO comment-notes and rename part_prods to just parts,
[nmigen-gf.git] / src / nmigen_gf / hdl / clmul.py
index a3831aa882da90ccbd69d20b55966da2006f72fd..c332575a673843481dc847b5042113fc3bd510bf 100644 (file)
@@ -63,13 +63,15 @@ class CLMulAdd(Elaboratable):
     def elaborate(self, platform):
         m = Module()
 
-        part_prods = []
+        parts = self.terms
         for shift in range(self.factor_width):
             part_prod = Signal(self.output.width, name=f"part_prod_{shift}")
+            # TODO comment (nice ASCII diagram in docstring then refer to it?)
             mask = Repl(self.factor2[shift], self.factor_width)
-            m.d.comb += part_prod.eq((self.factor1 & mask) << shift)
-            part_prods.append(part_prod)
+            m.d.comb += parts.eq((self.factor1 & mask) << shift)
+            parts.append(parts)
 
-        output = treereduce(part_prods + self.terms, operator.xor)
+        # TODO comment
+        output = treereduce(parts, operator.xor)
         m.d.comb += self.output.eq(output)
         return m