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
        cf = 1'b0;
        case (op)
            3'b000:   {cf, y} = a + b;         

            3'b001:   {cf, y} = a + ~b + 1;    

            3'b010:   y = a & b;    

            3'b011:   y = a | b;  

            3'b100:   y = a ^ b; 

            default:  y = 4'b0000;      
        endcase
    end

endmodule

 

Was this helpful?
Upvote
Downvote