decode1: Work out register addresses in decode1
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 21 Feb 2022 08:29:09 +0000 (19:29 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 22 Jul 2022 12:20:52 +0000 (22:20 +1000)
commit06c13d4988fee4ec1f5bf089ad71f2acc2883818
tree6f2d1a2c67ae5af7e5c56c08d5f391f68601cccd
parent047be5c0c3b2f12c9321412518e17b7267fe14ea
decode1: Work out register addresses in decode1

This adds some relatively simple logic to decode1 to compute the
GPR/FPR addresses that an instruction will access.  It always computes
three addresses regardless of whether the instruction will actually
use all of them.  The main things it computes are whether the
instruction uses the RS field or the RC field for the 3rd operand, and
whether the operands are FPRs or GPRs (it is possible for RS to be an
FPR but RA and RB to be GPRs, as for example with stfdx).

At the moment all we do with these computed register addresses is to
assert that they are identical to the ones coming from decode2 one
cycle later.

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