You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
packu instruction(encoding with 32'h4822c433) is part of Zbp extension.
When excluding Zbp extension RV32B= RV32BBalanced, we expected packu instruction to be flagged as illegal in decoder
It is not the case from what is coded in ibex_decoder module:
... {7'b010_0100, 3'b100}, // packu
{7'b000_0100, 3'b111}, // packh
// RV32B zbs
{7'b010_0100, 3'b001}, // bclr
{7'b001_0100, 3'b001}, // bset
{7'b011_0100, 3'b001}, // binv
{7'b010_0100, 3'b101}, // bext
// RV32B zbf {7'b010_0100, 3'b111}: illegal_insn = (RV32B != RV32BNone) ? 1'b0 : 1'b1; // bfp
...
Version of the Ibex source code:
The text was updated successfully, but these errors were encountered:
I think this observation is correct based on the current B ISA extension. This may have been a change since B was added to Ibex, which was before the 1.0 release. We may want to fix this when we review the B-extension in Ibex in the future. @GregAC any further comments on this?
Observed Behavior
packu instruction(encoding with 32'h4822c433) is part of Zbp extension.
When excluding Zbp extension RV32B= RV32BBalanced, we expected packu instruction to be flagged as illegal in decoder
It is not the case from what is coded in ibex_decoder module:
...
{7'b010_0100, 3'b100}, // packu
{7'b000_0100, 3'b111}, // packh
// RV32B zbs
{7'b010_0100, 3'b001}, // bclr
{7'b001_0100, 3'b001}, // bset
{7'b011_0100, 3'b001}, // binv
{7'b010_0100, 3'b101}, // bext
// RV32B zbf
{7'b010_0100, 3'b111}: illegal_insn = (RV32B != RV32BNone) ? 1'b0 : 1'b1; // bfp
...
Version of the Ibex source code:
The text was updated successfully, but these errors were encountered: