
This project implements a simple I2C master controller.
When the START input is asserted, the controller begins transmitting an 8-bit data value serially over the SDA line while generating the SCL clock.
The controller generates:
START condition 8-bit serial transmission STOP condition The BUSY output indicates an active transfer.
Apply reset. Place an 8-bit value on ui_in. Assert START. Observe SCL and SDA activity. Monitor BUSY until transmission completes.
An I2C slave device, logic analyzer, or oscilloscope may be connected to observe SDA and SCL signals.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | START | BUSY | SDA |
| 1 | DATA_BIT1 | DONE | SCL |
| 2 | DATA_BIT2 | ACK | |
| 3 | DATA_BIT3 | ||
| 4 | DATA_BIT4 | ||
| 5 | DATA_BIT5 | ||
| 6 | DATA_BIT6 | ||
| 7 | DATA_BIT7 |