def __init__(self, width):
PrevControl.__init__(self)
self.width = width
- self.v = Signal(width)
- self.i_data = self.v
+
+ @property
+ def v(self):
+ return self.data_i
def chain_inv(self, in_op, extra=None):
stb = in_op.stb
def __init__(self, width):
NextControl.__init__(self)
self.width = width
- self.v = Signal(width)
- self.o_data = self.v
+
+ @property
+ def v(self):
+ return self.data_o
def chain_inv(self, in_op, extra=None):
stb = in_op.stb
m.d.sync += [
out_z.v.eq(z.v)
]
- with m.If(out_z.o_valid & out_z.i_ready_test):
- m.d.sync += out_z.o_valid.eq(0)
+ with m.If(out_z.valid_o & out_z.ready_i_test):
+ m.d.sync += out_z.valid_o.eq(0)
m.next = next_state
with m.Else():
- m.d.sync += out_z.o_valid.eq(1)
+ m.d.sync += out_z.valid_o.eq(1)
class FPState(FPBase):