X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fsoc%2Ffu%2Fdiv%2Fexperiment%2Fgoldschmidt_div_sqrt.py;h=62a82706964dc839939388af8ca22d02f9bfb7f9;hb=41ef74f3856b78158448d06d4ffc56623a09a2bb;hp=1f3f81a4df74891647355d4eefc58964ccc69c90;hpb=1de2783b8e14ff55bb79e5c48828d922321ae64f;p=soc.git diff --git a/src/soc/fu/div/experiment/goldschmidt_div_sqrt.py b/src/soc/fu/div/experiment/goldschmidt_div_sqrt.py index 1f3f81a4..62a82706 100644 --- a/src/soc/fu/div/experiment/goldschmidt_div_sqrt.py +++ b/src/soc/fu/div/experiment/goldschmidt_div_sqrt.py @@ -1100,6 +1100,7 @@ class GoldschmidtDivOp(enum.Enum): d_times_f = Signal.like(state.d * state.f) m.d.comb += [ d_times_f.eq(state.d * state.f), + # round the multiplication up d.eq((d_times_f >> params.expanded_width) + (d_times_f[:params.expanded_width] != 0)), ]