link/cont: improve timing
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 16 Jan 2015 17:13:07 +0000 (18:13 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 16 Jan 2015 17:13:07 +0000 (18:13 +0100)
lib/sata/link/cont.py

index 8d54ad27896d83b55ec0c2043292dcbbafb03bf5..ece5896cff0fcfaf5394c2204a55d119971c2d7c 100644 (file)
@@ -14,6 +14,7 @@ class SATACONTInserter(Module):
 
                is_data = Signal()
                was_data = Signal()
+               was_hold = Signal()
                change = Signal()
                self.comb += is_data.eq(sink.charisk == 0)
 
@@ -27,11 +28,10 @@ class SATACONTInserter(Module):
                                If(~is_data,
                                        last_primitive.eq(sink.data),
                                ),
-                               was_data.eq(is_data)
+                               was_data.eq(is_data),
+                               was_hold.eq(last_primitive == primitives["HOLD"])
                        )
                ]
-               was_hold = last_primitive == primitives["HOLD"]
-
                self.comb += change.eq(
                        (sink.data != last_data) |
                        (sink.charisk != last_charisk) |