divider: Reduce delay in detecting 32-bit overflow
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 15 Oct 2019 03:59:15 +0000 (14:59 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 15 Oct 2019 03:59:15 +0000 (14:59 +1100)
commit82c19d4e7aedaa95cdb1793fd2ee67b38ff79e5b
treed0e4443d43d9a14fe4c3f6731cac09c0fa6158ea
parentc7025f9f284ec51e7d97f678bde59afa39c0f349
divider: Reduce delay in detecting 32-bit overflow

Timing analysis showed that even with the output register, timing
was still a bit tight in the output stage, where the carry has to
propagate all the way through the 64-bit negater, and we were then
testing the top 33 bits to determine if a 32-bit operation had
overflowed.

Instead of detecting overflow at the end, we watch for any 1
bits getting shifted into the top 32 bits of the quotient register
as we are doing the division.  That is relatively easy to do and
simplifies the output stage.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
divider.vhdl