From: Luke Kenneth Casson Leighton Date: Sun, 14 Jul 2019 11:37:06 +0000 (+0100) Subject: copy context/roundz, a and b manually in fpmul align X-Git-Tag: ls180-24jan2020~840 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=13417cb39c9dc37e5472555934dd27b39aa5b5ed;p=ieee754fpu.git copy context/roundz, a and b manually in fpmul align --- diff --git a/src/ieee754/fpmul/align.py b/src/ieee754/fpmul/align.py index 5bd0a3a8..6fea67ca 100644 --- a/src/ieee754/fpmul/align.py +++ b/src/ieee754/fpmul/align.py @@ -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 diff --git a/src/ieee754/fpmul/test/mul_data32.py b/src/ieee754/fpmul/test/mul_data32.py index 56c864f5..5ee4d392 100644 --- a/src/ieee754/fpmul/test/mul_data32.py +++ b/src/ieee754/fpmul/test/mul_data32.py @@ -1,8 +1,5 @@ def regressions(): yield 0x0002b017, 0xff3807ab - yield 0x0002b017, 0xff3807ab - return - yield 0x40000000, 0x40000000 yield 0x41400000, 0x40A00000 yield 0xffcaeefa, 0x3f803262