countzero: Add a register to help make timing
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Jan 2020 10:55:33 +0000 (21:55 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 14 Jan 2020 11:45:05 +0000 (22:45 +1100)
commite08ca4ab8eba7bec404f82396e41d3b5c616b94d
tree73426b234a82f1951618bd5a45ca77a3033dc762
parent5422007f83bff7550e8d3064e9c086fa668eb4d9
countzero: Add a register to help make timing

This adds a register in the middle of the countzero computation,
so that we now have two cycles to count leading or trailing zeroes
instead of just one.  Execute1 now outputs a one-cycle stall signal
when it encounters a cntlz* or cnttz* instruction.  With this,
the countzero path no longer fails timing on the Artix-7 at 100MHz.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
countzero.vhdl
countzero_tb.vhdl
execute1.vhdl