Correct the name and operation of the brev8 (formerly rev.b) instruction

This commit is contained in:
Luke Wren 2022-05-20 15:28:18 +01:00
parent a2582976fc
commit 210dbeae64
4 changed files with 5 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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;