diff --git a/litesata/common.py b/litesata/common.py index 2a7bca0c4..743edeb84 100644 --- a/litesata/common.py +++ b/litesata/common.py @@ -270,8 +270,8 @@ class Timeout(Module): self.reached = Signal() ### value = Signal(max=length) - self.sync += value.eq(value+1) - self.comb += self.reached.eq(value == length) + self.sync += If(~self.reached, value.eq(value+1)) + self.comb += self.reached.eq(value == (length-1)) class BufferizeEndpoints(ModuleDecorator): def __init__(self, submodule, *args):