Prev Problem
Next Problem

23. Open-Drain I2C SDA line

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

 

Code

module i2c_line (
    input  drive_low,
    output sda
);

    wire sda_int;
    assign sda_int = (drive_low) ? 1'b0 : 1'bz;

    assign sda = (sda_int === 1'bz) ? 1'b1 : sda_int;

endmodule
Was this helpful?
Upvote
Downvote