X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fadd%2Ffpcommon%2Fnormtopack.py;h=87d08125f8723738db9177b4275f2c542b4967d2;hb=6bff1a997f3846872cf489c24b5c01426c4dc97c;hp=235d880700046bc353d17ee6f572d0f85dcff61e;hpb=35bc125526a4d898f34225b05532cb95ec8c45f2;p=ieee754fpu.git diff --git a/src/add/fpcommon/normtopack.py b/src/add/fpcommon/normtopack.py index 235d8807..87d08125 100644 --- a/src/add/fpcommon/normtopack.py +++ b/src/add/fpcommon/normtopack.py @@ -4,7 +4,7 @@ #from nmigen.cli import main, verilog -from singlepipe import StageChain, UnbufferedPipeline +from singlepipe import StageChain, SimpleHandshake from fpbase import FPState, FPID from fpcommon.postcalc import FPAddStage1Data @@ -14,13 +14,13 @@ from fpcommon.corrections import FPCorrectionsMod from fpcommon.pack import FPPackData, FPPackMod -class FPNormToPack(FPState, UnbufferedPipeline): +class FPNormToPack(FPState, SimpleHandshake): def __init__(self, width, id_wid): FPState.__init__(self, "normalise_1") self.id_wid = id_wid self.width = width - UnbufferedPipeline.__init__(self, self) # pipeline is its own stage + SimpleHandshake.__init__(self, self) # pipeline is its own stage def ispec(self): return FPAddStage1Data(self.width, self.id_wid) # Norm1ModSingle ispec @@ -37,7 +37,8 @@ class FPNormToPack(FPState, UnbufferedPipeline): rmod = FPRoundMod(self.width, self.id_wid) cmod = FPCorrectionsMod(self.width, self.id_wid) pmod = FPPackMod(self.width, self.id_wid) - chain = StageChain([nmod, rmod, cmod, pmod]) + stages = [nmod, rmod, cmod, pmod] + chain = StageChain(stages) chain.setup(m, i) self.out_z = pmod.ospec()