use ospec/ispec in FPCorrectionsMod
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 20 Mar 2019 14:19:04 +0000 (14:19 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 20 Mar 2019 14:19:04 +0000 (14:19 +0000)
src/add/nmigen_add_experiment.py

index 7b3f6c09e08603c56a1b154c4b4be1148407e294..45687a08f198036bf8f0daf18e4f0fc58405d610 100644 (file)
@@ -1338,8 +1338,15 @@ class FPRound(FPState, FPID):
 class FPCorrectionsMod:
 
     def __init__(self, width):
-        self.in_z = FPNumOut(width, False)
-        self.out_z = FPNumOut(width, False)
+        self.width = width
+        self.in_z = self.ispec()
+        self.out_z = self.ospec()
+
+    def ispec(self):
+        return FPNumOut(self.width, False)
+
+    def ospec(self):
+        return FPNumOut(self.width, False)
 
     def setup(self, m, in_z):
         """ links module to inputs and outputs
@@ -1363,7 +1370,7 @@ class FPCorrections(FPState, FPID):
         FPState.__init__(self, "corrections")
         FPID.__init__(self, id_wid)
         self.mod = FPCorrectionsMod(width)
-        self.out_z = FPNumBase(width)
+        self.out_z = self.mod.ospec()
 
     def setup(self, m, in_z, in_mid):
         """ links module to inputs and outputs