Clarification needed: Is "x_compressed_req.instr[1:0] == 2'b 11" legal processor-behavior?
There is one ambiguous sentence in the spec that should be clarified.
What the spec says:
A coprocessor may only accept valid 16-bit instructions, i.e. bits [1:0] must not be binary 11..
Two possible interpretations:
- For a coprocessor to accept a 16-bit instruction, then bits [1:0] must not be binary 11.
- When a processor offloads a 16-bit instruction, then bits [1:0] must never be binary 11.
It seems the core-v-verif xif asserts chose the latter interpretation.
I think the former interpretation seems slightly more reasonable. (So a processor implementation can choose whether it wants to just offload everything, or it can be particular if it wants to.)
In either case, I think the phrasing is ambiguous and needs to be cleared up in the spec.