riscv-admin / dev-partners

This repo is for tracking of RISC-V Development Partners Activities
3 stars 0 forks source link

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

Open jjscheel opened 3 weeks ago

jjscheel commented 3 weeks ago

Technical Group

Other

ratification-pkg

RV32E/RV64E

Technical Liaison

Bill McSpadden (bill@riscv.org)

Task Category

SAIL model

Task Sub Category

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, https://github.com/riscv/sail-riscv/issues/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:

Acceptance Criteria:

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)

Waiver

Pull Request Details

No response

jjscheel commented 3 weeks ago

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