remove chain dependence, calculate ediffs in parallel with comparisons
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 4 Mar 2019 02:34:35 +0000 (02:34 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 4 Mar 2019 02:34:35 +0000 (02:34 +0000)
src/add/nmigen_add_experiment.py

index 997c21209755bc7baa83dd690a5bc9781dd0b3ef..ee5959694b2839fa14cdc2a05d2d2a055df715e1 100644 (file)
@@ -377,8 +377,8 @@ class FPAddAlignSingleMod:
 
         m.d.comb += ediff.eq(self.in_a.e - self.in_b.e)
         m.d.comb += ediffr.eq(self.in_b.e - self.in_a.e)
-        m.d.comb += elz.eq(ediff < 0)
-        m.d.comb += egz.eq(ediff > 0)
+        m.d.comb += elz.eq(self.in_a.e < self.in_b.e)
+        m.d.comb += egz.eq(self.in_a.e > self.in_b.e)
 
         # default: A-exp == B-exp, A and B untouched (fall through)
         m.d.comb += self.out_a.copy(self.in_a)