[libre-riscv-dev] [Bug 313] Create Branch Pipeline for POWER9
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Jun 2 20:09:36 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=313
--- Comment #44 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Michael Nolan from comment #43)
> (In reply to Luke Kenneth Casson Leighton from comment #42)
> > michael i saw the change in fu/branch/test_pipe_caller.py to use spr2.
> > it now needs to be read_fast1.data and read_fast2.data,
> > not read_spr1.data and read_spr2.data.
>
> How do you think TAR should be handled? Should it be a fast SPR as well?
yes. it's accessed often enough.
if you can hack that into DecodeA and DecodeB, such that this is in
power_decoder2.py
rather than in the unit test, it would be great:
insn_type = yield dec2.e.insn_type
if insn_type == InternalOp.OP_BCREG.value:
xo9 = yield dec2.dec.FormXL.XO[9]
xo5 = yield dec2.dec.FormXL.XO[5]
if xo9 == 0:
yield branch.p.data_i.spr2.eq(sim.spr['LR'].value)
elif xo5 == 1:
yield branch.p.data_i.spr2.eq(sim.spr['TAR'].value)
else:
yield branch.p.data_i.spr2.eq(sim.spr['CTR'].value)
then, read_fast1 and read_fast2 can be used in both unit tests:
fu/compunit/test/test_branch_compunit.py
and
fu/branch/test/test_pipe_caller.py
if you can handle the modifications to power_decoder2.py that would be
great.
bear in mind that DecodeA reads CTR, (which goes into read_fast1)
and DecodeB reads LR or TAR (which goes into read_fast2).
so the above test needs to be split.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list