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

Sail Model: E-extension Work (RV32E/RV64E) #44

Open
13 tasks
jjscheel opened this issue Aug 23, 2024 · 1 comment
Open
13 tasks

Sail Model: E-extension Work (RV32E/RV64E) #44

jjscheel opened this issue Aug 23, 2024 · 1 comment
Assignees

Comments

@jjscheel
Copy link
Contributor

jjscheel commented Aug 23, 2024

Technical Group

Other

ratification-pkg

RV32E/RV64E

Technical Liaison

Bill McSpadden (bill@riscv.org)

Task Category

SAIL model

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

1Q2023

spec-link

https://drive.google.com/file/d/1GjHmphVKvJlOBJydAt36g0Oc8yCOPtKw/view?usp=share_link

Statement of Work (SOW)

Component names:
RISC-V Sail Golden Model

Requirements:
The RISC-V E extension (E is typically understood to mean “Embedded”) is an extension that is beneficial to cores that are optimized to reduce size. The main feature of this extension is the reduction of the register file from 32 registers down to 16.

There are 2 areas that need to be addressed in the model:

  1. For opcodes that attempt to use the upper 16 registers, an instruction access fault needs to be generated.
  2. For CSR writes, the ordering of the write and the completion of the instruction if there is a fault, must be handled correctly. Currently, the write occurs before the fault.

See github issue, riscv/sail-riscv#523

More information can be found in the RISC-V Unprivileged Specification chapter titled "RV32E and RV64E Base Integer Instruction Sets, Version 2.0" (Ch. 3).

Deliverables:
Accepted PRs for the the following:

  • sail-riscv github fork/branch with the implementation
  • Build verification test

Acceptance Criteria:

  • Accepted PR(s)

Projected timeframe: (best guess date)
2 people for 1 month. 1 person for implementation and 1 person for testing.

SOW Signoffs: (delete those not needed)

  • Development partner sign-off
  • Golden Model SIG sign-off (if SAIL work)

Waiver

  • Freeze
  • Ratification

Pull Request Details

No response

@jjscheel
Copy link
Contributor Author

@billmcspadden-riscv , I built this based upon the information you shared. Please review and comment if I missed something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Blocked
Development

No branches or pull requests

2 participants