Fix TODOs in RTL
Created by: Silabs-ArjanB
The following 'todo's in the RTL should be addressed as they reflect 'potential' bugs:
- cv32e40p_cs_registers.sv (https://github.com/openhwgroup/cv32e40p/blob/1607d8b675864db1aa013364fd4444a665331830/rtl/cv32e40p_cs_registers.sv#L1023): // TODO: prevent illegal values, see riscv-debug p.44
- cv32e40p_controller.sv: // TODO: handle ebrk_force_debug_mode plus single stepping over ebreak
- cv32e40p_controller.sv: ctrl_fsm_ns = FLUSH_EX; // TODO: flush ex
- cv32e40p_controller.sv: // TODO: why is this here, signal only needed for async exceptions
- cv32e40p_controller.sv: //TODO: is illegal when not in debug mode
The others are enhancements or issues that are not actual for CV32E40P:
-
cv32e40p_id_stage.sv: // TODO: check if this can be shared with the bit-manipulation unit
-
cv32e40p_id_stage.sv: // TODO: check if sign-extension stuff works well here, maybe able to save
-
cv32e40p_mult.sv: assign int_is_msu = (operator_i == MUL_MSU32); // TODO: think about using a separate signal here, could prevent some switching
-
cv32e40p_decoder.sv: // TODO: this section should eventually be moved out of the decoder
-
cv32e40p_cs_registers.sv: // TODO: correctly handled?
-
cv32e40p_cs_registers.sv: // TODO: correctly handled?
-
cv32e40p_cs_registers.sv: // TODO: correctly handled?
-
cv32e40p_cs_registers.sv: // TODO: prevent illegal values, see riscv-debug p.44