decode1: Split instruction decoding into two steps
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 26 Jul 2022 08:21:19 +0000 (18:21 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 9 Aug 2022 09:52:04 +0000 (19:52 +1000)
commitc3ee10f013fe35b66ac285d15dfece21cc44ac35
tree18a587ade60a78004bd006ed19f0e17c1fa5bc47
parent5380d800399e8fddd6c25281617f97eeea8f7ff3
decode1: Split instruction decoding into two steps

This reduces the block RAM requirements for instruction decoding by
splitting it into two steps.  The first, in a new pipeline stage
called decode0 (implemented by code in decode1.vhdl) maps the
instruction to a 9-bit instruction code using major and row decode
ROMs.  The second maps the 9-bit code to the final decode_rom_t (about
44 bits wide).  Branch prediction done in decode is now done in
decode0 rather than decode1.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
common.vhdl
decode1.vhdl
decode_types.vhdl