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 reg all_known, has_unknown,
    output reg [7:0] bus_if_known
);
    integer i;
    reg flag;

    always @(*) begin
        // Initialize
        flag = 0;
        all_known = 0;
        has_unknown = 0;
        bus_if_known = 8'b0;

        for (i = 0; i < 8; i = i + 1) begin
            if (bus[i] === 1'bx || bus[i] === 1'bz) begin
                flag = 1;
            end
        end

        if (flag) begin
            has_unknown = 1;
        end else begin
            all_known = 1;
            bus_if_known = bus;
        end
    end
endmodule

 

Was this helpful?
Upvote
Downvote