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 : {cf,y} = a + b;
    3'b001 : {cf,y} = a + (~b+1'b1);
    3'b010 : {cf,y} = {1'b0,a&b};
    3'b011 : {cf,y} = {1'b0,a|b};
    3'b100 : {cf,y} = {1'b0,a^b};
    default : {cf,y} = 5'b00000;

    endcase

end

endmodule

 

Was this helpful?
Upvote
Downvote