Como projetar e depurar um sistema mestre-escravo I2C personalizado?

Como proceder, quando precisar de um sistema mestre-escravo I2C personalizado? Quais são os critérios de design a serem aplicados? Quais são as ferramentas de depuração que podemos usar para solucionar