Prev Problem
Next Problem

61. Vector Min/Max Pair

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

Easy but long code just follow the instructions and done !!!

 

Code

module minmax4_task (
    input  [7:0] v0,
    input  [7:0] v1,
    input  [7:0] v2,
    input  [7:0] v3,
    output reg [7:0] min_val,
    output reg [7:0] max_val
);
    // --------- Provided task (complete the TODOs) ----------
    // Returns both min and max among four 8-bit unsigned inputs.
    task minmax4;
        input  [7:0] a, b, c, d;
        output [7:0] min_o;
        output [7:0] max_o;

        reg [7:0] min01, max01;
        reg [7:0] min23, max23;
        begin
            // Pairwise compare (a,b)
            // TODO: set max01 as the larger of a and b
            // TODO: set min01 as the smaller of a and b
            max01 = (a > b) ? a : b;
            min01 = (a < b) ? a : b;

            // Pairwise compare (c,d)
            // TODO: set max23 as the larger of c and d
            // TODO: set min23 as the smaller of c and d

            max23 = (c > d) ? c : d;
            min23 = (c < d) ? c : d;

            // Final reduce across pairs
            // TODO: set max_o as the larger of max01 and max23
            // TODO: set min_o as the smaller of min01 and min23
            max_o = (max01 > max23) ? max01 : max23; 
            min_o = (min01 < min23) ? min01 : min23;

        end
    endtask
    // -------------------------------------------------------

    // TODO: Call the task and assign outputs
    reg [7:0] tmin, tmax;
    always @* begin
        minmax4(v0,v1,v2,v3, tmin, tmax);
        min_val = tmin;
        max_val = tmax;

    end

endmodule

 

Was this helpful?
Upvote
Downvote