We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 961b4bf commit 8f81ae6Copy full SHA for 8f81ae6
migen/genlib/misc.py
@@ -85,3 +85,29 @@ def get_cond(e):
85
sync = [If(get_cond(e), *e[1]) for e in events]
86
sync.append(counterlogic)
87
return sync
88
+
89
+@DecorateModule(InsertReset)
90
+@DecorateModule(InsertCE)
91
+class FlipFlop(Module):
92
+ def __init__(self, *args, **kwargs):
93
+ self.d = Signal(*args, **kwargs)
94
+ self.q = Signal(*args, **kwargs)
95
+ self.sync += self.q.eq(self.d)
96
97
98
99
+class Counter(Module):
100
101
+ self.value = Signal(**kwargs)
102
+ self.width = flen(self.value)
103
+ self.sync += self.value.eq(self.value+1)
104
105
106
107
+class Timeout(Module):
108
+ def __init__(self, length):
109
+ self.reached = Signal()
110
+ ###
111
+ value = Signal(max=length)
112
+ self.sync += If(~self.reached, value.eq(value+1))
113
+ self.comb += self.reached.eq(value == (length-1))
0 commit comments