simplift right_mask and left_mask rotator sub-functions, remove TODO comments
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 May 2020 18:51:12 +0000 (19:51 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 May 2020 18:51:12 +0000 (19:51 +0100)
src/soc/shift_rot/rotator.py

index 3d90f8bed485e9cefedfb6711560948fb36ba5dd..26c4280dff466af9998e93b4839a6bc7affaf712 100644 (file)
@@ -7,16 +7,12 @@ from soc.shift_rot.rotl import ROTL
 
 # note BE bit numbering
 def right_mask(m, mask_begin):
-    """ this can be replaced by something like (mask_begin << 1) - 1"""
     ret = Signal(64, name="right_mask", reset_less=True)
-    with m.If(mask_begin > 64):
-        m.d.comb += ret.eq(0)
-    with m.Else():
+    with m.If(mask_begin <= 64):
         m.d.comb += ret.eq((1<<(64-mask_begin)) - 1)
     return ret
 
 def left_mask(m, mask_end):
-    """ this can be replaced by something like ~((mask_end << 1) - 1)"""
     ret = Signal(64, name="left_mask", reset_less=True)
     m.d.comb += ret.eq(~((1<<(63-mask_end)) - 1))
     return ret