add process function to 3 stage-chained modules
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 28 Mar 2019 00:09:17 +0000 (00:09 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 28 Mar 2019 00:09:17 +0000 (00:09 +0000)
src/add/nmigen_add_experiment.py

index b7c771f7da989e8d4c4d9f66807c003622ee3905..8bcccf4cbad108b9cd4a74a604b88af1e87c4948 100644 (file)
@@ -459,6 +459,9 @@ class FPAddSpecialCasesDeNorm(FPState):
         # out_do_z=False
         m.d.sync += self.o.eq(self.dmod.o)
 
+    def process(self, i):
+        return self.o
+
     def action(self, m):
         #with m.If(self.out_do_z):
         #    m.next = "put_z"
@@ -763,6 +766,9 @@ class FPAddAlignSingleAdd(FPState):
 
         m.d.sync += self.a1o.eq(a1mod.o)
 
+    def process(self, i):
+        return self.a1o
+
     def action(self, m):
         m.next = "normalise_1"
 
@@ -1323,6 +1329,9 @@ class FPNormToPack(FPState):
         m.d.sync += self.out_z.mid.eq(pmod.o.mid)
         m.d.sync += self.out_z.z.v.eq(pmod.o.z.v) # outputs packed result
 
+    def process(self, i):
+        return self.out_z
+
     def action(self, m):
         m.next = "pack_put_z"