Prev Problem
Next Problem

48. Safe MUX

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

 

Code

module safe_mux2(
    input  wire [7:0] a,
    input  wire [7:0] b,
    input  wire       sel,
    output wire [7:0] y,
    output wire       sel_unknown
);

    // Detect X/Z on sel
    assign sel_unknown = (sel !== 1'b0) && (sel !== 1'b1);

    // Mux output logic with safety clamp
    assign y = sel_unknown ? 8'h00 :
               (sel ? b : a);

endmodule

 

Was this helpful?
Upvote
Downvote