Prev Problem
Next Problem

68. 4-bit Comparator

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

Code

module maxmin4(
    input  [3:0] a,
    input  [3:0] b,
    input  [3:0] c,
    input  [3:0] d,
    output reg [3:0] max,
    output reg [3:0] min
);

    reg [3:0] max1, min1;
    reg [3:0] max2, min2;
    reg [3:0] discard;

    task minmax(
        input  [3:0] ta,
        input  [3:0] tb,
        output [3:0] tmin,
        output [3:0] tmax
    );
    begin
        tmax = (ta > tb) ? ta : tb;
        tmin = (ta < tb) ? ta : tb;
    end
    endtask

    always @* begin
        minmax(a, b, min1, max1);
        minmax(c, d, min2, max2);

        minmax(max1, max2, discard, max);
        minmax(min1, min2, min, discard);
    end

endmodule

 

Was this helpful?
Upvote
Downvote