# See Notices.txt for copyright information
""" div/rem/sqrt/rsqrt pipeline. """
-from .core import (DivPipeCoreConfig, DivPipeCoreInputData,
- DivPipeCoreInterstageData, DivPipeCoreOutputData)
+from ieee754.div_rem_sqrt_rsqrt.core import (DivPipeCoreConfig,
+ DivPipeCoreInputData,
+ DivPipeCoreInterstageData,
+ DivPipeCoreOutputData,
+ DivPipeCoreSetupStage,
+ DivPipeCoreCalculateStage,
+ DivPipeCoreFinalStage,
+ )
from ieee754.fpcommon.getop import FPPipeContext
from ieee754.fpcommon.fpbase import FPFormat, FPNumBaseRecord
def eq(self, rhs):
""" Assign member signals. """
- return [self.z.eq(rhz.z, self.out_do_z.eq(i.out_do_z), self.oz.eq(i.oz),
+ return [self.z.eq(rhs.z), self.out_do_z.eq(i.out_do_z), self.oz.eq(i.oz),
self.ctx.eq(i.ctx)]
:param width: bit-width of requested format.
:returns: the requested ``FPFormat`` instance.
"""
- if not instanceof(width, int):
- raise TypeError()
if width == 16:
return FPFormat(5, 10)
if width == 32:
]
m.d.comb += [self.o.z.e.eq(self.i.a.e - self.i.b.e + 1),
- self.o.z.s.eq(self.i.a.s ^ self.i.b.s)
+ self.o.z.s.eq(self.i.a.s ^ self.i.b.s),
self.o.dividend.eq(am0), # TODO: check
self.o.divisor_radicand.eq(bm0), # TODO: check
self.o.operation.eq(Const(0)) # TODO check: DIV
m.next = "normalise_1"
-class FPDivStagesIntermediary(FPState, SimpleHandshake):
+class FPDivStagesIntermediate(FPState, SimpleHandshake):
def __init__(self, pspec, n_stages, stage_offs):
FPState.__init__(self, "divintermediate")
from ieee754.fpcommon.getop import FPADDBaseData
from ieee754.fpcommon.denorm import FPSCData
+from ieee754.fpcommon.fpbase import FPFormat
from ieee754.fpcommon.pack import FPPackData
from ieee754.fpcommon.normtopack import FPNormToPack
from ieee754.fpdiv.specialcases import FPDIVSpecialCasesDeNorm