X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fadd%2Ffpbase.py;h=f49085921d914d600dea950d3707ab924eb0272b;hb=6bff1a997f3846872cf489c24b5c01426c4dc97c;hp=699e83d712dde7adfa2c68ee76a5543072bc6393;hpb=863928452b9714bc702867003cda2a8338440dc7;p=ieee754fpu.git diff --git a/src/add/fpbase.py b/src/add/fpbase.py index 699e83d7..f4908592 100644 --- a/src/add/fpbase.py +++ b/src/add/fpbase.py @@ -489,8 +489,10 @@ class FPOpIn(PrevControl): 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 @@ -515,8 +517,10 @@ class FPOpOut(NextControl): 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 @@ -537,7 +541,7 @@ class FPOpOut(NextControl): ] -class Overflow(Elaboratable): +class Overflow: #(Elaboratable): def __init__(self): self.guard = Signal(reset_less=True) # tot[2] self.round_bit = Signal(reset_less=True) # tot[1] @@ -690,11 +694,11 @@ class FPBase: 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):