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
);

    always @ (*)
    begin
        if((^bus==0) || (^bus==0) || (^bus==1) || (^bus==1))
        begin
            all_known = 1;
            has_unknown = 0;
            bus_if_known = bus;
        end 
        else if((bus === 8'bzzzzzzzz) || (bus === 8'bxxxxxxxx))
        begin
            all_known = 0;
            has_unknown = 1;
            bus_if_known = 8'h00;
        end 
        else if((bus == 8'b00000000) || (bus == 8'b11111111))
        begin
            all_known = 1;
            has_unknown = 0;
            bus_if_known = bus;
        end 
        else
        begin
            all_known=0;
            has_unknown=1;
            bus_if_known=8'h00;
        end 
    end 

endmodule

 

Was this helpful?
Upvote
Downvote