zbb, zbs, cnt lint fixes

This commit is contained in:
Kevin Kim 2023-02-11 20:41:52 -08:00
parent 61b46e0639
commit 6a7fe6352e
3 changed files with 5 additions and 4 deletions

View File

@ -53,12 +53,14 @@ module cnt #(parameter WIDTH = 32) (
6'b00000_1: lzcA = {A[31:0],{32{1'b1}}}; //clzw
6'b00001_0: lzcA = revA; //ctz
6'b00001_1: lzcA = {revA[31:0],{32{1'b1}}}; //ctzw
default: lzcA = A;
endcase
//cpop select mux
case ({B[4:0],W64})
6'b00010_0: popcntA = A;
6'b00010_1: popcntA = {{32{1'b0}}, A[31:0]};
default: popcntA = A;
endcase
end
end
@ -70,6 +72,7 @@ module cnt #(parameter WIDTH = 32) (
case(B[4:0])
5'b00000: lzcA = A;
5'b00001: lzcA = revA;
default: lzcA = A;
endcase
end
end

View File

@ -58,15 +58,13 @@ module zbb #(parameter WIDTH=32) (
//can replace with structural mux by looking at bit 4 in rs2 field
always_comb begin
case ({Funct7, Funct3, B})
case ({Funct7, Funct3, B[4:0]})
15'b0010100_101_00111: ZBBResult = OrcBResult;
15'b0110100_101_11000: ZBBResult = Rev8Result;
15'b0110101_101_11000: ZBBResult = Rev8Result;
15'b0110000_001_00000: ZBBResult = czResult;
15'b0110000_001_00010: ZBBResult = cpopResult;
15'b0110000_001_00001: ZBBResult = czResult;
15'b0110101_101_11000: ZBBResult = Rev8Result;
15'b0110101_101_11000: ZBBResult = Rev8Result;
15'b0000100_100_00000: ZBBResult = zexthResult;
15'b0110000_001_00100: ZBBResult = sextbResult;
15'b0110000_001_00101: ZBBResult = sexthResult;

View File

@ -43,7 +43,7 @@ module zbs #(parameter WIDTH=32) (
assign InvResult = A ^ BMask;
assign ClrResult = A & ~BMask;
assign SetResult = A | BMask;
assign ExtResult = |(A & BMask);
assign ExtResult = {{(WIDTH-1){1'b0}},{|(A & BMask)}};
always_comb begin
casez ({Funct7, Funct3})