I2C or Inter-Integrated Circuit is a popular serial interface protocol that is widely used in many electronic systems. The I2C interface is a two-wire interface capable of half-duplex serial communication at moderate to high speeds of up to a few megabits per second. There are thousands of I2C peripherals on the market today, ranging from data converters to video processors. The I2C bus is a good choice for designs that need to communicate with low-speed peripherals due to its simplicity and low cost.
The I2C Master Controller reference design is implemented in Verilog. The Lattice iCECube2™ Place and Route tool integrated with the Synplify Pro synthesis tool is used for the implementation of the design. The design can be targeted to other iCE40™ FPGA family members.