copy context/roundz, a and b manually in fpmul align
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 14 Jul 2019 11:37:06 +0000 (12:37 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 14 Jul 2019 11:37:06 +0000 (12:37 +0100)
src/ieee754/fpmul/align.py
src/ieee754/fpmul/test/mul_data32.py

index 5bd0a3a816eaa53b50396f1ac4cc792c26cc4202..6fea67ca13d168b0050cef93591c9d8f2f1056e3 100644 (file)
@@ -60,7 +60,8 @@ class FPAlignModSingle(Elaboratable):
         insel_b.m.name = "i_b_m"
 
         # copy input to output (overridden below)
-        m.d.comb += self.o.eq(self.i)
+        m.d.comb += self.o.a.eq(insel_a)
+        m.d.comb += self.o.b.eq(insel_b)
 
         # normalisation increase/decrease conditions
         decrease_a = Signal(reset_less=True)
@@ -98,10 +99,9 @@ class FPAlignModSingle(Elaboratable):
                     self.o.b.m.eq(temp_b),
                 ]
 
-        #m.d.comb += self.o.roundz.eq(of.roundz_out)
-        #m.d.comb += self.o.ctx.eq(self.i.ctx)
-        #m.d.comb += self.o.out_do_z.eq(self.i.out_do_z)
-        #m.d.comb += self.o.oz.eq(self.i.oz)
+        m.d.comb += self.o.ctx.eq(self.i.ctx)
+        m.d.comb += self.o.out_do_z.eq(self.i.out_do_z)
+        m.d.comb += self.o.oz.eq(self.i.oz)
 
         return m
 
index 56c864f5c07e2266d48a6fb154e9294ddf98245f..5ee4d3920489901afcef64b2ae9707ba4044b37a 100644 (file)
@@ -1,8 +1,5 @@
 def regressions():
     yield 0x0002b017, 0xff3807ab
-    yield 0x0002b017, 0xff3807ab
-    return
-
     yield 0x40000000, 0x40000000
     yield 0x41400000, 0x40A00000
     yield 0xffcaeefa, 0x3f803262