X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fadd%2Fnmigen_add_experiment.py;h=e3e904bc05c61156775973b33c677fed9ae14313;hb=c6732d76626830e205207e71b1f292d6bee754be;hp=0d2f9ae05bd261954b01cece41623cb30a9a8b65;hpb=8bcdb7186cd043385135f257851ccd7fc91ef590;p=ieee754fpu.git diff --git a/src/add/nmigen_add_experiment.py b/src/add/nmigen_add_experiment.py index 0d2f9ae0..e3e904bc 100644 --- a/src/add/nmigen_add_experiment.py +++ b/src/add/nmigen_add_experiment.py @@ -716,8 +716,7 @@ class FPAddAlignSingleAdd(FPState, FPID): self.a0_out_z = FPNumBase(width, False) self.a1mod = FPAddStage1Mod(width) - self.out_z = FPNumBase(width, False) - self.out_of = Overflow() + self.a1o = self.a1mod.ospec() def setup(self, m, in_a, in_b, in_mid): """ links module to inputs and outputs @@ -736,8 +735,7 @@ class FPAddAlignSingleAdd(FPState, FPID): def action(self, m): self.idsync(m) - m.d.sync += self.out_of.eq(self.a1mod.o.of) - m.d.sync += self.out_z.eq(self.a1mod.o.z) + m.d.sync += self.a1o.eq(self.a1mod.o) m.next = "normalise_1" @@ -1096,7 +1094,6 @@ class FPNorm1ModMulti: def __init__(self, width, single_cycle=True): self.width = width self.in_select = Signal(reset_less=True) - self.out_norm = Signal(reset_less=True) self.in_z = FPNumBase(width, False) self.in_of = Overflow() self.temp_z = FPNumBase(width, False) @@ -1567,7 +1564,7 @@ class FPADDBaseMod(FPID): alm.setup(m, sc.o.a, sc.o.b, sc.in_mid) n1 = self.add_state(FPNormToPack(self.width, self.id_wid)) - n1.setup(m, alm.out_z, alm.out_of, alm.in_mid) + n1.setup(m, alm.a1o.z, alm.a1o.of, alm.in_mid) ppz = self.add_state(FPPutZ("pack_put_z", n1.out_z, self.out_z, n1.in_mid, self.out_mid))