minor whitespace, comment clz
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 19 May 2020 17:55:25 +0000 (18:55 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 19 May 2020 17:55:25 +0000 (18:55 +0100)
src/nmutil/clz.py

index 2c40988988cd083294bbdd779bbb076bd72132ec..cbf3397037e27a2e4c7c86d7dfa45bd4a7bdc266 100644 (file)
@@ -1,6 +1,8 @@
 from nmigen import Module, Signal, Elaboratable, Cat, Repl
 import math
-""" TODO: replace this module with PriorityEncoder
+""" This module is much more efficient than PriorityEncoder
+    although it is functionally identical.
+    see https://bugs.libre-soc.org/show_bug.cgi?id=326
 """
 
 class CLZ(Elaboratable):
@@ -48,8 +50,7 @@ class CLZ(Elaboratable):
                 left, lv = pairs[i+1]
                 right, rv = pairs[i]
                 width = right.width + 1
-                new_pair = Signal(width, name="cnt_%d_%d" %
-                                  (iteration, i))
+                new_pair = Signal(width, name="cnt_%d_%d" % (iteration, i))
                 if rv == lv:
                     with m.If(left[-1] == 1):
                         with m.If(right[-1] == 1):
@@ -64,7 +65,6 @@ class CLZ(Elaboratable):
                     with m.Else():
                         comb += new_pair.eq(left)
 
-
                 ret.append((new_pair, lv+rv))
         return ret
 
@@ -82,4 +82,3 @@ class CLZ(Elaboratable):
 
         return m
 
-