I2C (Inter-Integrated Circuit) bus is a simple, low-bandwidth, short-distance protocol. It is often seen in systems with peripheral devices that are accessed intermittently. It is commonly used in short-distance systems, where the number of traces on the board should be minimized. The device that initiates the transmission on the I2C bus is commonly known as the Master, while the device being addressed is called the Slave.
Lattice Semiconductor general-purpose I2C Master IP Core offers an effective way to control an I2C bus. The programmable nature of FPGA provides users with flexibility of configuring the I2C Master device to their needs, thus allowing users to customize the I2C Master Controller to meet their specific design requirements.
This design is implemented in Verilog. It can be targeted to CrossLink-NX™ FPGA devices and implemented using the Lattice Radiant Software Place and Route tool integrated with the Synplify Pro® synthesis tool.