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

/*Write your code here*/
module error_checker_xz(
    input [7:0] bus,
    output all_known,has_unknown,
    output [7:0] bus_if_known
);

    wire [7:0] w;
    assign w[0] = bus[0]===1?1:bus[0]===0?1:0;
    assign w[1] = bus[1]===1?1:bus[1]===0?1:0;
    assign w[2] = bus[2]===1?1:bus[2]===0?1:0;
    assign w[3] = bus[3]===1?1:bus[3]===0?1:0;
    assign w[4] = bus[4]===1?1:bus[4]===0?1:0;
    assign w[5] = bus[5]===1?1:bus[5]===0?1:0;
    assign w[6] = bus[6]===1?1:bus[6]===0?1:0;
    assign w[7] = bus[7]===1?1:bus[7]===0?1:0;
    
    assign all_known = &(w);
    assign has_unknown = ~all_known;

    assign bus_if_known = all_known?bus:8'b00000000;


endmodule

 

Was this helpful?
Upvote
Downvote