Not enough DCMs and how to read I2C

Hi! Prior to complains I want to say that I use XEM3005 since two years and I like it very much.
It is small, powerful enough for many applications, has rather fast memory, and configurable from a PC
as well as from the on-board flash memory. The interface is clearly described and easy to use. But…

  1. The most of the global clocks of the FPGA are occupied with the host interface pins. Two of four
    DCMs (DCM_X1Y0 and DCM_X2Y0) are not used by the host interface and are made to be
    not available for users. The other two DCMs are used by the host interface (DCM_X2Y3)
    and memory controller (DCM_X1Y3). This means that the user does not have any DCM
    for his own clock sources (at least in a way recommended by Xilinx).
    It would be helpful to make the R9 pin (GCLK1 connected to the DCM_X2Y0), which is not used
    by the host interface, available for the user.

  2. I2C interface. I have already read the topics concerning it and the idea to implement it in the FPGA and
    I did so up to now. But now I need to use I2C prior to the configuration of the FPGA. And I would be
    satisfied with the restricted functionality described in the manual. But even that is not working.
    Whatever I do, writing or reading, the R/_W bit in the address byte appears to be always low (writing)
    as measured at the SDA pin. This means that the reading procedure probably has a bug in the firmware.

Does anyone have an idea how to get access to the R9 pin and read the I2C bus using
the FrontPanel ReadI2C() function? Or some other ideas?