Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Optional Zifencei extension #2734

Open
1 task done
ASintzoff opened this issue Jan 23, 2025 · 1 comment
Open
1 task done

[BUG] Optional Zifencei extension #2734

ASintzoff opened this issue Jan 23, 2025 · 1 comment
Assignees
Labels
CV32A65X Part: Embedded configuration Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system

Comments

@ASintzoff
Copy link
Contributor

Is there an existing CVA6 bug for this?

  • I have searched the existing bug issues

Bug Description

The extension Zifencei (fence.i instruction) shall be optional.

Therefore, a parameter RVZifencei shall be defined to configure it at RTL level. The extension shall be disabled on CV32A60X and CV32A65X (@yanicasa).

A way to disable the extension (fence.i instruction) shall be provided by Spike. (@zchamski)

@ASintzoff ASintzoff added CV32A65X Part: Embedded configuration Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system labels Jan 23, 2025
@zchamski
Copy link
Contributor

Spike implementation of fence.i assumes that Zifencei standard extension is always present: it does not have the appropriate require(EXT_....) clause in the instruction implementation of fence.i.

Spike TODOs:

  • Ensure that the proper flag for optional presence of Zifencei exists (implement one if not.)
  • Add appropriate guard to fence.i implementation.
  • Update ISA strings where appropriate.
  • Test.

JeanRochCoulon pushed a commit to openhwgroup/core-v-verif that referenced this issue Feb 11, 2025
… instruction. (#2580)

Spike part of fix to CVA6 issue openhwgroup/cva6#2734.

Spike code explicitly assumed Zifencei as being present for backward compatibility, cf. the diff on isa_parser.cc.
This request changes the original Spike behavior to require the explicit inclusion of Zifencei in the ISA string to enable the fence.i instruction.
JeanRochCoulon pushed a commit that referenced this issue Mar 13, 2025
…2822)

This MR implements the non-RTL part of CVA6 project changes needed for #2734:
* changes to scripts
* changes to configuration files
* turn off Zifencei support in RTL configuration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CV32A65X Part: Embedded configuration Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system
Projects
None yet
Development

No branches or pull requests

3 participants