Hello Xilinx folks,
I have an issue recently developed when changing an oscillator input from a oscillator package to a clock generated from a Cypress FX2 chip, both running at the same frequency. With the oscillator package I was having no trouble at all but the Cypress chips has to enumerate and renumerate and the oscillator signal arrives at the Xilinx DCM much later, causing the Xilinx S3 to lock out. A pushbutton reset to the DCM reset pin or a JTAG reload of the Xilinx S3 will bring the S3 back to life, however, the power up sequence does not work. This brings up a number of questions that a proper reset for the DCM requires:
First, it states in XAPP462, that a failed lock situation should reset the DCM. Do you do this by simply inverting the LOCKED signal and putting it into the DCM RESET pin? Or do you need some sort of external circuit to detect the lock signal and do a hard pin reset?
Second, XAPP462 suggest a SLR16 in the reset of the DCM. I assume this is only necessary if you are using the external feedback path. Yes?
Third, XAPP462 mentions a STARTUP_WAIT attribute (pg.15). Where is this setting in the newer 6.2 Project Navigator release?
Forth, there is an FPGA Startup Clock option with CCLK, User Clock, or JTAG Clk option. What is the CCLK? And if you select User Clk, how do you indicate which pin or which VHDL signal you intend to use with it?
Thanks,
Brad Smallridge b r a d @ a i v i s i o n . c o m