The suggestion sounds reasonable to me. Reviewing I2C projects at Opencores can surely help you to write your own I2C code. A realistic alternative is to write the code from the scratch, using the I2C specification as reference. Even if you finally decide to copy existing I2C IP, it's a good way to pick up the basic concept.