mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
ALU configurability changes
-stuff that was ZBA supported was in ZBB so I changed that
This commit is contained in:
parent
c9e6b9aeef
commit
ed6a0466ad
@ -55,7 +55,7 @@ module alu #(parameter WIDTH=32) (
|
|||||||
|
|
||||||
|
|
||||||
// Addition
|
// Addition
|
||||||
if (`ZBB_SUPPORTED)
|
if (`ZBA_SUPPORTED)
|
||||||
always_comb begin
|
always_comb begin
|
||||||
case({Funct7, Funct3, W64})
|
case({Funct7, Funct3, W64})
|
||||||
11'b0010000_010_0: CondShiftA = {A[WIDTH-1:1], {1'b0}}; //sh1add
|
11'b0010000_010_0: CondShiftA = {A[WIDTH-1:1], {1'b0}}; //sh1add
|
||||||
@ -67,7 +67,12 @@ module alu #(parameter WIDTH=32) (
|
|||||||
11'b0010000_110_1: CondShiftA = {{29{1'b0}},A[31:0], {3'b0}}; //sh3add.uw
|
11'b0010000_110_1: CondShiftA = {{29{1'b0}},A[31:0], {3'b0}}; //sh3add.uw
|
||||||
default: CondShiftA = A;
|
default: CondShiftA = A;
|
||||||
endcase
|
endcase
|
||||||
|
else begin
|
||||||
|
assign CondShiftA = A;
|
||||||
|
end
|
||||||
|
|
||||||
|
if (`ZBB_SUPPORTED)
|
||||||
|
always_comb begin
|
||||||
case ({Funct7,Funct3})
|
case ({Funct7,Funct3})
|
||||||
10'b0100000_111: InvB = 1'b1; //andn
|
10'b0100000_111: InvB = 1'b1; //andn
|
||||||
10'b0100000_110: InvB = 1'b1; //orn
|
10'b0100000_110: InvB = 1'b1; //orn
|
||||||
@ -83,8 +88,8 @@ module alu #(parameter WIDTH=32) (
|
|||||||
endcase
|
endcase
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
assign CondShiftA = A;
|
InvB = 1'b0;
|
||||||
assign InvB = 1'b0;
|
Rotate = 1'b0;
|
||||||
end
|
end
|
||||||
|
|
||||||
assign CondInvB = (SubArith | InvB) ? ~B : B;
|
assign CondInvB = (SubArith | InvB) ? ~B : B;
|
||||||
|
Loading…
Reference in New Issue
Block a user