Prev Problem
Next Problem

62. Nibble Swap

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

 

Code

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 = 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, y[3:0], y[7:4]);
    end

endmodule

 

Was this helpful?
Upvote
Downvote