diff --git a/hdl/arith/hazard3_alu.v b/hdl/arith/hazard3_alu.v index 01f798d..15bb3f2 100644 --- a/hdl/arith/hazard3_alu.v +++ b/hdl/arith/hazard3_alu.v @@ -201,11 +201,11 @@ always @ (*) begin // Zbkb {6'bzzzzz1, ALUOP_PACK }: result = {op_b[15:0], op_a[15:0]}; {6'bzzzzz1, ALUOP_PACKH }: result = {{W_DATA-16{1'b0}}, op_b[7:0], op_a[7:0]}; - {6'bzzzzz1, ALUOP_REV_B }: result = op_a_rev; + {6'bzzzzz1, ALUOP_BREV8 }: result = {op_a_rev[7:0], op_a_rev[15:8], op_a_rev[23:16], op_a_rev[31:24]}; {6'bzzzzz1, ALUOP_UNZIP }: result = unzip; {6'bzzzzz1, ALUOP_ZIP }: result = zip; - default: result = bitwise; + default: result = bitwise; endcase end diff --git a/hdl/hazard3_decode.v b/hdl/hazard3_decode.v index fa90daf..4b88443 100644 --- a/hdl/hazard3_decode.v +++ b/hdl/hazard3_decode.v @@ -285,7 +285,7 @@ always @ (*) begin RV_PACK: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_PACK; end else begin d_invalid_32bit = 1'b1; end RV_PACKH: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_PACKH; end else begin d_invalid_32bit = 1'b1; end - RV_REV_B: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_REV_B; d_rs2 = X0; end else begin d_invalid_32bit = 1'b1; end + RV_BREV8: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_BREV8; d_rs2 = X0; end else begin d_invalid_32bit = 1'b1; end RV_UNZIP: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_UNZIP; d_rs2 = X0; end else begin d_invalid_32bit = 1'b1; end RV_ZIP: if (EXTENSION_ZBKB) begin d_aluop = ALUOP_ZIP; d_rs2 = X0; end else begin d_invalid_32bit = 1'b1; end diff --git a/hdl/hazard3_ops.vh b/hdl/hazard3_ops.vh index 6c4093e..7260887 100644 --- a/hdl/hazard3_ops.vh +++ b/hdl/hazard3_ops.vh @@ -50,7 +50,7 @@ localparam ALUOP_BSET = 6'h3a; localparam ALUOP_PACK = 6'h3b; localparam ALUOP_PACKH = 6'h3c; -localparam ALUOP_REV_B = 6'h3d; +localparam ALUOP_BREV8 = 6'h3d; localparam ALUOP_ZIP = 6'h3e; localparam ALUOP_UNZIP = 6'h3f; diff --git a/hdl/rv_opcodes.vh b/hdl/rv_opcodes.vh index 7abad71..117291a 100644 --- a/hdl/rv_opcodes.vh +++ b/hdl/rv_opcodes.vh @@ -128,7 +128,7 @@ localparam RV_BSETI = 32'b0010100??????????001?????0010011; // Zbkb (basic bit manipulation for crypto) (minus those in Zbb) localparam RV_PACK = 32'b0000100??????????100?????0110011; localparam RV_PACKH = 32'b0000100??????????111?????0110011; -localparam RV_REV_B = 32'b011010000111?????101?????0010011; +localparam RV_BREV8 = 32'b011010000111?????101?????0010011; localparam RV_UNZIP = 32'b000010001111?????101?????0010011; localparam RV_ZIP = 32'b000010001111?????001?????0010011;