def is_triangle(self):
"REMAP Triangle Mode"
- return False # FIXME(lkcl): causes a RecursionError through `skip`
- # please don't push a revert without also fixing it:
- # https://bugs.libre-soc.org/show_bug.cgi?id=1155#c55
- return self.mode == 0b11 and self.skip in [0b00, 0b01]
+ return self.mode == 0b11 and self._skip in [0b00, 0b01]
@property
def submode2(self):
def submode(self):
return self.fsi['skip'].asint(msb0=True)
+ @property
+ def _skip(self):
+ return self.fsi['skip'].asint(msb0=True)
+
@property
def skip(self):
if self.is_indexed() or self.is_triangle():
inv = self.fsi['invxyz'].asint(msb0=True)
return (inv & 0b100) >> 2
- return self.fsi['skip'].asint(msb0=True)
+ return self._skip
@skip.setter
def skip(self, value):
- assert not (self.is_indexed() or self.is_triangle()) # TODO
- self.fsi['skip'].eq(value)
+ return self.fsi['skip'].eq(value)
@property
def offset(self):