Thank you for your information.
I have done a lot of ways to make the good start condition but in vain.
I can only get the good start condition when the SDA/SCL were configured to the PMOD interface of Xilinx KCU105 EVM board.
I can not get the good start condition when the I2C SDA/SCL were configured to the FMC interface pins.
Do you have any idea to fix the bad start condition?
About your question :
I found this issue during the i2c write/read test.
For the i2c write operation, even though there is "bad" start condition, there is ack from the target slave device (ADV7611).
Start --> Slave address (0x98) --> A(S) --> Sub address(0xFD) --> A(S) --> Data --> A(S) --> Stop
So i can only confirm the write command was performed, but still need read back the data of the sub address to double confirm the write was good.
The sequence below is the Read Command and the first start (mark in red) is a bad start condition, but there is an ack from the slave
Start --> Slave address (0x98) -> A(S) -> Sub address (0xFD)-> A(s) --> Start --> Slave address with Read bit set (0x99).
Please let me know if you have any suggestion about the issue fix.
Thank you ~