How do you plan to solve it?
module alu4(input [3:0]a,b,input [2:0]op,output reg [3:0]y,output reg cf);
reg carry;
always @(*) begin
carry = 1'b0;
case(op)
3'b000: begin
{carry,y} = a+b;
cf = carry;
end
3'b001: begin
{carry,y} = {1'b0,a}+{1'b0,(~b)}+1;
cf = ~carry;
end
3'b010: begin
y = a&b;
cf=1'b0;
end
3'b011: begin
y = a|b;
cf = 1'b0;
end
3'b100: begin
y = a^b;
cf = 1'b0;
end
default: begin
y = 4'b0000;
cf = 1'b0;
end
endcase
end
endmodule