How do you plan to solve it?
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
max_o =(a>b && a>c && a>d)?a:(b>a && b>c && b>d)?b:(c>a && c>b && c>d)?c:d;
min_o =(a<b && a<=c && a<d)?a:(b<a && b<c && b<d)?b:(c<a && c<b && c<d)?c:d;
end
endtask
reg [7:0] tmin, tmax;
always @* begin
minmax4(v0,v1,v2,v3,min_val,max_val);
end
endmodule