Prev Problem
Next Problem

44. Bus Error Checker

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

 

Code

module error_checker_xz(
    input [7:0] bus,
    output all_known,
    output has_unknown,
    output [7:0] bus_if_known
);

// Check if any bit is X or Z using case equality
wire any_xz;
assign any_xz = (^bus === 1'bx) || (^bus === 1'bz);

assign has_unknown = any_xz;
assign all_known = ~any_xz;
assign bus_if_known = all_known ? bus : 8'b0;

endmodule

 

Was this helpful?
Upvote
Downvote