more comments
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 11 Dec 2021 15:57:05 +0000 (15:57 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 11 Dec 2021 15:57:05 +0000 (15:57 +0000)
reason: understanding lambda networks (aka butterfly aka generalised-rev)
is a bit of a pig

src/nmutil/grev.py

index 4f19dd1188929de9fb53f1d7f93626b621c41e23..a0c3555c8b3c56d1d3f618b746d7000c74928a7b 100644 (file)
@@ -38,6 +38,8 @@ class GRev(Elaboratable):
             return Signal(self.width, name=f"step{i}")
         _steps = [step(i) for i in range(self.log2_width)]
 
+        # TODO: comment that this creates a full combinatorial chain
+        # of RADIX-2 butterfly-network "swappers"
         for i, step_o in enumerate(_steps):
             step_i = self.input if i == 0 else _steps[i - 1]
             # TODO explain that chunk swap-sizes jump by a power2 each time