/*Write your code here*/
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
);
task maxmin2(
input [3:0] x,
input [3:0] y,
output [3:0] max_out,
output [3:0] min_out
);
begin
max_out = (x > y) ? x : y;
min_out = (x < y) ? x : y;
end
endtask
reg [3:0] max1, min1;
reg [3:0] max2, min2;
reg [3:0] dummy1, dummy2;
always @* begin
maxmin2(a, b, max1, min1);
maxmin2(c, d, max2, min2);
maxmin2(max1, max2, max, dummy1);
maxmin2(min1, min2, dummy2, min);
end
endmodule