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

Update Instructions with riscv-opcodes #2956

Merged
merged 5 commits into from
Apr 24, 2022

Conversation

ZenithalHourlyRate
Copy link
Contributor

Related issue: dependency of #2950, but not specific to #2950 only.

General speaking, keeping synchronized with riscv-opcodes is easier to maintain.

More notes are in commit messages.

Type of change: other enhancement

Impact: API modification

Development Phase: implementation

Release Notes

  • Updated Instructions/CSRs from riscv-opcodes
  • Separate rocket specific and currently not ratified instructions/CSRs into CustomInstructions.scala

The current Instructions.scala is not up-to-date with riscv-opcodes

Previous changes on this file seems to be adding new instructions manually,
this can be inferred from
riscv/riscv-opcodes@e2ebbf5
which changed the name from parse-opcodes to parse_opcodes
thus this PR reorders a lot of instructions and CSRs
As standard instructions are synced from riscv-opcodes
Rocket already implemented NMI in chipsalliance#2711,
however, riscv-opcodes currently does not have NMI
as it is a WIP (See riscv/riscv-opcodes#67)

To avoid generating Instructions.scala from a patched riscv-opcodes,
putting NMI related insts/CSRs into CustomInstructions is reasonable.
Copy link
Member

@sequencer sequencer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I retied locally to generated the same file. In the long term, we should split the auto-generated codes out from RC code base.

@sequencer sequencer merged commit c3989b9 into chipsalliance:master Apr 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants