Comment on RV32E register address check in compressed decoder

It is not necessary to do this check in the compressed decoder. If a
compressed instruction in RV32E tries to access any register x16 - x31,
the regular decoder triggers an illegal instruction exception and the
controller writes the actual faulting (compressed) instruction to
`mtval`.
This commit is contained in:
Pirmin Vogel 2019-07-03 16:00:20 +01:00
parent 5093e0a0d2
commit 73e94fb6f8

View file

@ -69,6 +69,10 @@ module ibex_compressed_decoder (
end
// C1
//
// Register address checks for RV32E are performed in the regular instruction decoder.
// If this check fails, an illegal instruction exception is triggered and the controller
// writes the actual faulting instruction to mtval.
2'b01: begin
unique case (instr_i[15:13])
3'b000: begin
@ -187,6 +191,10 @@ module ibex_compressed_decoder (
end
// C2
//
// Register address checks for RV32E are performed in the regular instruction decoder.
// If this check fails, an illegal instruction exception is triggered and the controller
// writes the actual faulting instruction to mtval.
2'b10: begin
unique case (instr_i[15:13])
3'b000: begin