plctlab / plct-spike

Spike, a RISC-V ISA Simulator
Other
9 stars 4 forks source link

zce-branch : c.mva01s07 zce extension not working #9

Open sarkuuk opened 2 years ago

sarkuuk commented 2 years ago

Hi,

We are writing couple of programs for zce extensions and testing in this branch below on latest commit. Repo: plctlab/plct-spike/ Branch: plct-zce-dev

And we are facing an issue with below double move commands.

  1. c.mva01s07 s0, s0;

    Expectation is double move should happen, # mv a0, s0; mv a1, s0 Zce spike simulation observation : s0 content not moving to a0 and a1

  2. c.mva01s07 s0, s1;

    Expectation is double move should happen, # mv a0, s0; mv a1, s1 Zce spike simulation observation : a0 and a1 seem not getting updated with s0 and s1

Could you please look into this? I can give more details if you need. Thank you very much.

Regards, Sarika

liweiwei90 commented 2 years ago

Thanks for your issue. I have tried to fix the errors in extracting the truly reg index from sreg1/sreg2. You can try again on the latest version.

sarkuuk commented 2 years ago

Thank you very much, I will check the same on latest.

I would like to inform another issue too.

For beqi/bnei instructions, the immediate value the register is being compared to, doesnt come correctly in the trace. For example : beqi t1, 1,offset as per assembly, in spike simulation functionally its correct(branching to right pc+offset value), but trace prints wrong immediate values which get compared with the register. Same with bnei. Could you please check?