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 = ...
            // 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

 

Was this helpful?
Upvote
Downvote