In this paper, the architecture of Avalon-MM and the I2C bus protocol is analyzed. Then, a design of reusable I2C bus controller based on Avalon-MM bus and the detailed implement process is presented. This reusable IP core can be used in the SOPC system built on Altera company product without modification. A multi-level and reusable verification platform is implemented using VMM to verify this design. The whole verification environment uses the System Verilog language, and the simulation tool is Synopsys VCS-MX200606. The verification results indicate that design has been exactly checked out with 100% coverage.