core-v-verif icon indicating copy to clipboard operation
core-v-verif copied to clipboard

Imperas ISS: PUSH and POP type instructions marked as illegal instructions

Open silabs-oysteink opened this issue 2 years ago • 2 comments

PUSH and POP type instructions marked as illegal instructions

Type

  • Functionally incorrect behavior

Steps to Reproduce

  1. Use my fork of core-v-verif: [email protected]:silabs-oysteink/core-v-verif.git
  2. Checkout my branch "silabs-oysteink_zc-decode"
  3. Check out CV32E40X hash 47d4a57b9e27363ff152c364324bdbbf91a06367
  4. Modify cv32e40x/rtl/cv32e40x_core.sv to set localparam ZC_EXT= 1
  5. make clean test TEST=test_zc CV_CORE_PATH=<path_for_cv32e40x_from_above> USE_ISS=1 CV_CORE=cv32e40x

My branch of core-v-verif is modified to enable ZC_EXT for the ISS, and a directed test "zc_test" is added with manually encoded Zc instructions.

The image below shows the test output. After running through some initial Zc instructions, there is a mismatch on the first PUSH instruction. If one comments out the first failing instruction, the next push/pop type instruction will also mismatch on mcause.

image

silabs-oysteink avatar Jul 01 '22 10:07 silabs-oysteink

@silabs-hfegran, this issue looks like it has gone stale. What is its status?

MikeOpenHWGroup avatar Jul 22 '22 15:07 MikeOpenHWGroup

@silabs-hfegran, this issue looks like it has gone stale. What is its status?

@MikeOpenHWGroup, I am uncertain about the current status of this issue - perhaps @silabs-mateilga or @silabs-oysteink can give an update here next week?

silabs-hfegran avatar Jul 25 '22 05:07 silabs-hfegran

I am still assigned on this issue - is there something for me to look at ? I think this is probably pending fixes to the RVFI interface to drive multiple destination registers in a single retirement ?

eroom1966 avatar Nov 04 '22 10:11 eroom1966

@eroom1966 I think this issue is deprecated now, I'll get Øystein to close it, and we'll open new issues if there is still something here. That said, the RVFI interface is expanded to drive multiple registers, and has been for weeks now. The signals are the set of rvfi_gpr_* found here.

silabs-mateilga avatar Nov 04 '22 11:11 silabs-mateilga

This issue is likely out-of-date. I'll close it, and if the issue comes back we can make a new or reopen this one.

silabs-oysteink avatar Nov 04 '22 11:11 silabs-oysteink