How do you plan to solve it?
module maxmin4 (
input wire [3:0] a,
input wire [3:0] b,
input wire [3:0] c,
input wire [3:0] d,
output reg [3:0] max,
output reg [3:0] min
);
reg [3:0] max_ab, min_ab;
reg [3:0] max_cd, min_cd;
always @(*) begin
// --- Pairwise compare (a, b) ---
if (a > b) begin
max_ab = a;
min_ab = b;
end else begin
max_ab = b;
min_ab = a;
end
// --- Pairwise compare (c, d) ---
if (c > d) begin
max_cd = c;
min_cd = d;
end else begin
max_cd = d;
min_cd = c;
end
// --- Final max ---
if (max_ab > max_cd)
max = max_ab;
else
max = max_cd;
// --- Final min ---
if (min_ab < min_cd)
min = min_ab;
else
min = min_cd;
end
endmodule