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

CSR changes for Vector extension #18

Open
stevobailey opened this issue Jan 12, 2022 · 1 comment
Open

CSR changes for Vector extension #18

stevobailey opened this issue Jan 12, 2022 · 1 comment
Labels
bug Something isn't working

Comments

@stevobailey
Copy link
Contributor

The following CSR registers in the CPU probably need to be changed to properly flag having a vector extension. See the privileged spec:

  1. Machine ISA register, misa, bit 21 should be set
  2. Machine status register, mstatus, VS bits 10:9, should be used as vector status bits

There may be others. Note that setting the VS bits in the mstatus register were required to get simulation working with spike. I'm not sure what hardware is supposed to do with the VS bits.

@michael-platzer
Copy link
Contributor

Yes, indeed, these flags are not implemented yet. The V extension specification requires that "Attempts to execute any vector instruction, or to access the vector CSRs, raise an illegal-instruction exception when mstatus.VS is set to Off." Hence, spike requires the VS bits but since this functionality is still missing Vicuna does not.

Also, the vector byte length vlenb CSR is still missing. The other vector CSR registers required by the V extension are currently supported when using Ibex as the main core (but not for CV32E40X).

I am working on several changes to the handling of the vector CSRs. I will keep this issue open as a reminder to add the missing flags and registers.

@michael-platzer michael-platzer added the bug Something isn't working label Jan 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants