module nibble_swap_task (
input [7:0] x,
output reg [7:0] y
);
// ---------- Write this task ----------
task swap_nibbles;
input [7:0] xin;
output [3:0] hi;
output [3:0] lo;
begin
// TODO: assign hi and lo from xin
// hi = ...
// lo = ...
hi = xin[7:4];
lo = xin[3:0];
end
endtask
// -------------------------------------
reg [3:0] hi_n, lo_n;
always @* begin
// TODO: call the task and build y
swap_nibbles(x, hi_n, lo_n);
y = {lo_n, hi_n};
end
endmodule