X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fadd%2Ffpadd%2Fstatemachine.py;h=4418b3fa8f07471b5b9067a6175f0306ad10c5d8;hb=6bff1a997f3846872cf489c24b5c01426c4dc97c;hp=1ece16d8ceaa56a1f1c9e1fbc74c229e79222252;hpb=3fa4d3a9c6ffe4bcb060e8ff88a033074d10a8fa;p=ieee754fpu.git diff --git a/src/add/fpadd/statemachine.py b/src/add/fpadd/statemachine.py index 1ece16d8..4418b3fa 100644 --- a/src/add/fpadd/statemachine.py +++ b/src/add/fpadd/statemachine.py @@ -32,6 +32,7 @@ from fpadd.addstages import FPAddAlignSingleAdd class FPOpData: def __init__(self, width, id_wid): self.z = FPOpOut(width) + self.z.data_o = Signal(width) self.mid = Signal(id_wid, reset_less=True) def __iter__(self): @@ -206,13 +207,13 @@ class FPADDBase(FPState): self.in_t.ack.eq(self.mod.in_t.ack), self.o.mid.eq(self.mod.o.mid), self.o.z.v.eq(self.mod.o.z.v), - self.o.z.o_valid.eq(self.mod.o.z.o_valid), - self.mod.o.z.i_ready.eq(self.o.z.i_ready_test), + self.o.z.valid_o.eq(self.mod.o.z.valid_o), + self.mod.o.z.ready_i.eq(self.o.z.ready_i_test), ] m.d.sync += self.add_stb.eq(add_stb) m.d.sync += self.add_ack.eq(0) # sets to zero when not in active state - m.d.sync += self.o.z.i_ready.eq(0) # likewise + m.d.sync += self.o.z.ready_i.eq(0) # likewise #m.d.sync += self.in_t.stb.eq(0) m.submodules.fpadd = self.mod @@ -234,7 +235,7 @@ class FPADDBase(FPState): with m.Else(): m.d.sync += [self.add_ack.eq(0), self.in_t.stb.eq(0), - self.o.z.i_ready.eq(1), + self.o.z.ready_i.eq(1), ] with m.Else(): # done: acknowledge, and write out id and value @@ -294,6 +295,8 @@ class FPADD(FPID): for i in range(rs_sz): in_a = FPOpIn(width) in_b = FPOpIn(width) + in_a.data_i = Signal(width) + in_b.data_i = Signal(width) in_a.name = "in_a_%d" % i in_b.name = "in_b_%d" % i rs.append((in_a, in_b)) @@ -302,6 +305,7 @@ class FPADD(FPID): res = [] for i in range(rs_sz): out_z = FPOpOut(width) + out_z.data_o = Signal(width) out_z.name = "out_z_%d" % i res.append(out_z) self.res = Array(res)