Prev Problem
Next Problem

71. Arithmetic Logic Unit

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

Code

/*Write your code here*/
module alu4(input [3:0]a,b,input [2:0]op,output reg[3:0]y,output reg cf);
always @(*)begin
    case(op)
    3'b000:begin 
        y=a+b;
        cf=((a+b)>15)?1:0;
    end
    3'b001:begin 
        y=a-b;
        cf=(a<b)?1:0;
    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=0; end
    endcase
end

endmodule

 

Was this helpful?
Upvote
Downvote