Once an I2C master has been written, the next step is verification. Provided that a BFM for the slave does not exist, how should one go about doing this? Also seeing how I2C is open collector in nature.
Of course in any I2C transaction, the master would transmit the start condition, address, r/w bit and slave would transfer an ACK and so on and so forth. Is there a "standard" testbench for this? I would expect there to be code with flexibility to create BFM for our slave with some modification and then do self checks to verify if our master is working correctly.
Please don't tell me to use an open source I2C master. The purpose of this question is to understand how to do this.