Design and verification of an I2C controller - Dương Minh Trí; Nguyễn Hoàng Kỳ Anh; Nguyễn Chí Phúc; Nguyễn Đinh Cao Tú; Trần Minh Trí; Huỳnh Hoàng Hà; Đỗ Duy Tân (Journal of Technical Education Science, 2021)
I2C (Inter-Integrated Circuit) is a synchronous serial data transmission standard widely used to connect multiple ICs (Integrated Circuits) together or to connect ICs and peripherals with low-to-medium speed in digital systems. The main advantage of the I2C standard is the ability to connect the central processor and multiple peripherals with simple hardware. In this paper, we present the design process of an I2C module communicating via AMBA APB (Advanced Microcontroller Bus Architecture - Advanced Peripheral Bus) bus standard. Specifically, the I2C module is designed using Verilog hardware description language, can be configured as a Master or a Slave, and supports various data transmission rates. Extensive simulation results are presented to verify the performance of the designed I2C module.