solve sync/comb for stage/state
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 28 Mar 2019 15:49:49 +0000 (15:49 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 28 Mar 2019 15:49:49 +0000 (15:49 +0000)
src/add/nmigen_add_experiment.py

index f66067612cc842b6ce89505796c7ab6a87e2ab38..16163e071a290071b6aeba2e998447640ebe2e6f 100644 (file)
@@ -688,13 +688,13 @@ class FPAddAlignSingleAdd(FPState, UnbufferedPipeline):
         chain = StageChain([mod, a0mod, a1mod])
         chain.setup(m, i)
 
-        # XXX TODO: sync for state-based
-        m.d.comb += self.a1o.eq(a1mod.o)
+        self.o = a1mod.o
 
     def process(self, i):
-        return self.a1o
+        return self.o
 
     def action(self, m):
+        m.d.sync += self.a1o.eq(self.process(None))
         m.next = "normalise_1"