X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fieee754%2Ffpcommon%2Fpostcalc.py;h=24475d38a9432bdb188369098343711855482d84;hb=1464aba03659adec485de985b4b3ebcfc02ba487;hp=ddb7fb3d83c7acf70b60198503f0a8b3de22a82a;hpb=a7d0eedd5131906af7e63ea8f64f8a49b827bb48;p=ieee754fpu.git diff --git a/src/ieee754/fpcommon/postcalc.py b/src/ieee754/fpcommon/postcalc.py index ddb7fb3d..24475d38 100644 --- a/src/ieee754/fpcommon/postcalc.py +++ b/src/ieee754/fpcommon/postcalc.py @@ -6,24 +6,23 @@ from nmigen import Signal from ieee754.fpcommon.fpbase import Overflow, FPNumBaseRecord from ieee754.fpcommon.getop import FPBaseData -class FPAddStage1Data(FPBaseData): +class FPAddStage1Data: - def __init__(self, width, id_wid, op_wid=None): - FPBaseData.__init__(self, 0, width, id_wid, op_wid) + def __init__(self, width, pspec): self.z = FPNumBaseRecord(width, False) self.out_do_z = Signal(reset_less=True) self.oz = Signal(width, reset_less=True) self.of = Overflow() + self.ctx = FPBaseData(width, pspec) + self.muxid = self.ctx.muxid def __iter__(self): yield from self.z yield self.out_do_z yield self.oz yield from self.of - yield from FPBaseData.__iter__(self) + yield from self.ctx def eq(self, i): - ret = [self.z.eq(i.z), self.out_do_z.eq(i.out_do_z), self.oz.eq(i.oz), - self.of.eq(i.of),] + FPBaseData.eq(self, i) - - return ret + return [self.z.eq(i.z), self.out_do_z.eq(i.out_do_z), self.oz.eq(i.oz), + self.of.eq(i.of), self.ctx.eq(i.ctx)]