Bug Description
Bug Description
We have been attempting to integrate the cv32e20 with our coprocessor. We noticed that when a coprocessor csr read/write instruction is called, no issue_valid is raised through the X-IF.
This occurs because cve2_id_stage only considers illegality originating from the decoder (illegal_insn_dec) when making an X-IF request. Consequently, the cv32e20 stalls on a CSR illegality exception, treating it as a local fault within the main core.
However, we observed that the cv32e40x correctly supports sending requests through the X-IF for CSR instructions that are not supported by the CPU.
For reference, here is the corresponding implementation in the cv32e40x id_stage.
Furthermore, we noticed that the misa value is not adapted when X_EXT is enabled, preventing the CPU from being expanded with additional extensions. Is this intentional, or should it feature an implementation similar to the cv32e40x?
Thanks for your time.
Bug Description
Bug Description
We have been attempting to integrate the cv32e20 with our coprocessor. We noticed that when a coprocessor csr read/write instruction is called, no
issue_validis raised through the X-IF.This occurs because cve2_id_stage only considers illegality originating from the decoder (
illegal_insn_dec) when making an X-IF request. Consequently, the cv32e20 stalls on a CSR illegality exception, treating it as a local fault within the main core.However, we observed that the cv32e40x correctly supports sending requests through the X-IF for CSR instructions that are not supported by the CPU.
For reference, here is the corresponding implementation in the cv32e40x id_stage.
Furthermore, we noticed that the misa value is not adapted when X_EXT is enabled, preventing the CPU from being expanded with additional extensions. Is this intentional, or should it feature an implementation similar to the cv32e40x?
Thanks for your time.