Applying a clock to USRCCLK0 using the STARTUPE2 primitive does not show any response on the external CCLK line for the first few cycles.
Also, if I use the EMCCLK pin to supply a configuration clock source, I see that this clock is still provided on the CCLK pin after the device has configured and DONE has gone High.
Is this expected behavior?
The STARTUPE2 primitive will ignore the first three clock cycles after configuration.
However, this behavior is not seen when stopping and starting the clock after the clock is already in use.
These two clock cycles are required to switch the CCLK source from the internal configuration bus to the USERCCLK0 input from FPGA fabric.
When EMCCLK is used as the clock source for configuration, this is an additional concern if the following conditions are met:
In this case, the three clock cycles are required to switch EMCCLK from clock input to User I/O.
If USERCCLK0 is gated and no clocks are passed after EOS, then EMCCLK will continue to run on CCLK after configuration completes.
Also, if EMCCLK is used as an I/O in the design, this pin will not switch to User function.
Virtex-6 exhibits the same behavior.