PS I2C Ack clock is not issued

I did a test on ZCU104 board, routed PS I2C1 to PL via EMIO, and then routed to PL IO pin J7 and H7 via IOBUF, and the test shows on scope that PS i2c1 only send out the 8 bits clock for device address and r/w, but does not send out the clock for ack. The voltage on oscilloscope also shows 3.3v on SCL and SDA.

Does anyone know why the clock for ack bit is not issued? I am wondering if it is because the PS I2C1 is on Bank 500 (1.8v) and J7/H7 are on PL IO bank 87 (3.3v) due to voltage difference? if so, is there any way to route PS bank 1.8v pins to PL bank 3.3v? the external interface is 3.3v.

Thanks very much!

On ZCU104, The voltage of bank IO where I2C lies is fixed at 1.8v, and the PMOD IO voltage on PL is 3.3v.

Does anyone know:

  1. if we can route PS bank IO to PL IO via EMIO when they are at different voltage?
  2. if we can change the IO voltage on PS from 1.8v to 3.3v?


Hi @stone,

This is not a PYNQ-related question. You may be better off asking in the Xilinx forums.