lint fixes

This commit is contained in:
Kevin Kim 2023-02-11 21:13:10 -08:00
parent 6a7fe6352e
commit 5f08322e99
3 changed files with 17 additions and 26 deletions

View File

@ -57,14 +57,14 @@ module alu #(parameter WIDTH=32) (
// Addition
if (`ZBB_SUPPORTED)
always_comb begin
case({Funct7, Funct3})
10'b0010000_010: CondShiftA = {A[WIDTH-1:1], {1'b0}}; //sh1add
10'b0010000_100: CondShiftA = {A[WIDTH-1:2], {2'b00}}; //sh2add
10'b0010000_110: CondShiftA = {A[WIDTH-1:3], {3'b000}}; //sh3add
10'b0000100_000: CondShiftA = {{32{1'b0}}, A[31:0]}; //add.uw
10'b0010000_010: CondShiftA = {{31{1'b0}},A[31:0], {1'b0}}; //sh1add.uw
10'b0010000_100: CondShiftA = {{30{1'b0}},A[31:0], {2'b0}}; //sh2add.uw
10'b0010000_110: CondShiftA = {{29{1'b0}},A[31:0], {3'b0}}; //sh3add.uw
case({Funct7, Funct3, W64})
11'b0010000_010_0: CondShiftA = {A[WIDTH-1:1], {1'b0}}; //sh1add
11'b0010000_100_0: CondShiftA = {A[WIDTH-1:2], {2'b00}}; //sh2add
11'b0010000_110_0: CondShiftA = {A[WIDTH-1:3], {3'b000}}; //sh3add
11'b0000100_000_1: CondShiftA = {{32{1'b0}}, A[31:0]}; //add.uw
11'b0010000_010_1: CondShiftA = {{31{1'b0}},A[31:0], {1'b0}}; //sh1add.uw
11'b0010000_100_1: CondShiftA = {{30{1'b0}},A[31:0], {2'b0}}; //sh2add.uw
11'b0010000_110_1: CondShiftA = {{29{1'b0}},A[31:0], {3'b0}}; //sh3add.uw
default: CondShiftA = A;
endcase
@ -76,13 +76,9 @@ module alu #(parameter WIDTH=32) (
endcase
casez ({Funct7, Funct3})
10'b0110000_101: Rotate = 1'b1;
10'b011000?_101: Rotate = 1'b1;
10'b000010?_001: Rotate = 1'b0;
10'b0110000_001: Rotate = 1'b1;
10'b0110000_101: Rotate = 1'b1;
10'b0110000_001: Rotate = 1'b1;
10'b0110000_101: Rotate = 1'b1;
default: Rotate = 1'b0;
endcase
end
@ -126,12 +122,12 @@ module alu #(parameter WIDTH=32) (
endcase
if (`ZBS_SUPPORTED)
zbs zbs(.A, .B, .Funct7, .Funct3, .ZBSResult);
zbs #(WIDTH) zbs(.A, .B, .Funct7, .Funct3, .ZBSResult);
else assign ZBSResult = 0;
if (`ZBB_SUPPORTED)
zbb zbb(.A, .B, .Funct3, .Funct7, .W64, .ZBBResult);
zbb #(WIDTH) zbb(.A, .B, .Funct3, .Funct7, .W64, .ZBBResult);
else assign ZBBResult = 0;
// Support RV64I W-type addw/subw/addiw/shifts that discard upper 32 bits and sign-extend 32-bit result to 64 bits

View File

@ -31,20 +31,14 @@ module popcnt #(parameter WIDTH = 32) (
logic [$clog2(WIDTH):0] sum;
/*always_comb begin
always_comb begin
sum = 0;
for (int i=0;i<WIDTH;i++) begin:loop
sum = sum + num[i];
sum = (num[i]) ? sum + 1 : sum;
end
end
*/
genvar i;
for (i=0;i<WIDTH;i++) begin:loop
assign sum = sum + {{5'b0},num[i]};
end
assign PopCnt = sum;
assign PopCnt = sum[$clog2(WIDTH):0];
endmodule

View File

@ -52,9 +52,9 @@ module zbb #(parameter WIDTH=32) (
logic [WIDTH-1:0] sextbResult; // sign extend byte result
logic [WIDTH-1:0] zexthResult; // zero extend halfword result
cnt cnt(.A(A), .B(B), .W64(W64), .czResult(czResult), .cpopResult(cpopResult));
byteUnit bu(.A(A), .OrcBResult(OrcBResult), .Rev8Result(Rev8Result));
ext ext(.A(A), .sexthResult(sexthResult), .sextbResult(sextbResult), .zexthResult(zexthResult));
cnt #(WIDTH) cnt(.A(A), .B(B), .W64(W64), .czResult(czResult), .cpopResult(cpopResult));
byteUnit #(WIDTH) bu(.A(A), .OrcBResult(OrcBResult), .Rev8Result(Rev8Result));
ext #(WIDTH) ext(.A(A), .sexthResult(sexthResult), .sextbResult(sextbResult), .zexthResult(zexthResult));
//can replace with structural mux by looking at bit 4 in rs2 field
always_comb begin
@ -68,6 +68,7 @@ module zbb #(parameter WIDTH=32) (
15'b0000100_100_00000: ZBBResult = zexthResult;
15'b0110000_001_00100: ZBBResult = sextbResult;
15'b0110000_001_00101: ZBBResult = sexthResult;
default: ZBBResult = {(WIDTH){1'b0}};
endcase
end