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 c;
    always@(*)begin
    c=1'b0;
    bus_if_known = 8'h00;
    all_known = 1'b0;
    has_unknown = 1'b0;
    for(i=0;i<=7;i=i+1) begin
        if(bus[i]===1'bx || bus[i]===1'bz) begin
            c=1'b1;    
        end
    end
    if(c)begin
        has_unknown=1'b1;
        all_known=1'b0;
    end
    else begin
        has_unknown=1'b0;
        all_known=1'b1;
        bus_if_known=bus;
    end
    end
endmodule

 

Was this helpful?
Upvote
Downvote