Move LR, CTR and TAR out of the register file
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 12 Jul 2022 01:20:17 +0000 (11:20 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 22 Jul 2022 12:20:35 +0000 (22:20 +1000)
commit337b1042501a84b3f28b11e94e650800177a63ce
tree63462a8af5eb20b3ca924303051c9b7896a4777d
parentbc4d02cb0dcc5b502a45651953ac7bd34521f0b9
Move LR, CTR and TAR out of the register file

By putting CTR on the odd side and LR and TAR on the even side, we can
read and write CTR for bdnz-style instructions in parallel with
reading LR or TAR for indirect branches and writing LR for branches
with LK=1.  Thus we don't need to double up any of these instructions,
giving a simplification in decode2.

We now have logic for printing LR and CTR at the end of a simulation
in execute1, in addition to the similar logic in register_file and
cr_file.

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