Inter-Integrated Circuit (I2C) is a multi-master, multi-slave, packet-switched, single-ended, serial communication bus. It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers.
This is a simple implementation of both I2C Master and I2C Slave modules in Verilog.
- Single master implementation
- Supports multiple slave devices
- 7-bit addressing
- 8-bit data transfer
- 400KHz serial clock line
- Verilog compiler (such as Icarus Verilog)
- Simulator (such as Modelsim)