projects
/
ieee754fpu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add fpmin handling to fpmax module
[ieee754fpu.git]
/
src
/
ieee754
/
fpcommon
/
postcalc.py
diff --git
a/src/ieee754/fpcommon/postcalc.py
b/src/ieee754/fpcommon/postcalc.py
index 61e2f5288273db4b46f113e9d9e9d058d41503d8..c71bdf907b730c7026126e77babc3faccd3bf4d8 100644
(file)
--- a/
src/ieee754/fpcommon/postcalc.py
+++ b/
src/ieee754/fpcommon/postcalc.py
@@
-4,23
+4,27
@@
from nmigen import Signal
from ieee754.fpcommon.fpbase import Overflow, FPNumBaseRecord
from nmigen import Signal
from ieee754.fpcommon.fpbase import Overflow, FPNumBaseRecord
+from ieee754.fpcommon.getop import FPPipeContext
-class FPAddStage1Data:
- def __init__(self, width, id_wid):
- self.z = FPNumBaseRecord(width, False)
+class FPPostCalcData:
+
+ def __init__(self, pspec, e_extra=False):
+ width = pspec.width
+ self.z = FPNumBaseRecord(width, False, e_extra, name="z")
self.out_do_z = Signal(reset_less=True)
self.oz = Signal(width, reset_less=True)
self.of = Overflow()
self.out_do_z = Signal(reset_less=True)
self.oz = Signal(width, reset_less=True)
self.of = Overflow()
- self.mid = Signal(id_wid, reset_less=True)
+ self.ctx = FPPipeContext(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
def __iter__(self):
yield from self.z
yield self.out_do_z
yield self.oz
yield from self.of
- yield
self.mid
+ yield
from self.ctx
def eq(self, i):
return [self.z.eq(i.z), self.out_do_z.eq(i.out_do_z), self.oz.eq(i.oz),
def eq(self, i):
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.
mid.eq(i.mid
)]
+ self.of.eq(i.of), self.
ctx.eq(i.ctx
)]