move add to ieee754 directory
[ieee754fpu.git] / src / ieee754 / add / fpcommon / postcalc.py
diff --git a/src/ieee754/add/fpcommon/postcalc.py b/src/ieee754/add/fpcommon/postcalc.py
new file mode 100644 (file)
index 0000000..7111dc8
--- /dev/null
@@ -0,0 +1,26 @@
+# IEEE Floating Point Adder (Single Precision)
+# Copyright (C) Jonathan P Dawson 2013
+# 2013-12-12
+
+from nmigen import Signal
+from fpbase import Overflow, FPNumBase
+
+class FPAddStage1Data:
+
+    def __init__(self, width, id_wid):
+        self.z = FPNumBase(width, False)
+        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)
+
+    def __iter__(self):
+        yield from self.z
+        yield self.out_do_z
+        yield self.oz
+        yield from self.of
+        yield self.mid
+
+    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)]