CONF_DONE remains high during reconfiguration (Arria 10)
We're experiencing an issue with Arria 10 where we can't reconfigure the device without power cycling. We're using passive serial single-device configuration and initial configuration always works.
However, on a configured device, when we pulse nCONFIG, nSTATUS goes low but CONF_DONE remains high. Also, nSTATUS is never released. The device is still operational (i.e. the old configuration is still there).
Looking at the state machine diagram at https://www.intel.com/content/www/us/en/programmable/documentation/sss1412661044400.html I don't see what we're missing. Pulling nCONFIG low should reset the state machine and both nCONFIG and CONF_DONE should go low. The nCONFIG pulse is longer than the 2 us specified in the A10 datasheet (tCFG).
We solved it. It turned out that we had chosen DCLK as the clock source for device initialization. Changing this (in our case to CLKUSR) solved the issue.