OK, a simple system: a Motorola MC68332 uP is trying to configure a Spartan2 chip, an XC2S15-VQ100. We've done this sort of thing tons of times without incident. There are two short traces from the a uP parallel port to the CCLK and DIN pins on the FPGA; PROGRAM- is wired to the uP RESET- line, so we can config the chip after powerup. We're using code that has always worked; the bits from the RBT file are built into the uP rom image, and the processor just bangs the bits out. Timing is legal and conservative; setup/hold times exceed a microsecond. CCLK and DIN are 5 volt, fairly slow HCMOS levels, but that should be OK here. Powerup sequence is legal.
But this one won't configure. INIT just stays high after reset, even if I load deliberately bad data frames. This for three days! CCLK and DIN look OK, in fact very clean, on their test points, but finally I decide to look at CCLK and DIN *at the fpga pins*. So, when I touch a scope probe on the CCLK pin and run the code, the green LED (on DONE) lights! It works! It also works if the CCLK pin is touched with a small insulated screwdriver, 330 ohms to ground, or an x-acto knife, but not a toothpick (so it's not mechanical). The scope waveform looks fine, no serious ringing or whatever, but the probe capacitance is doing something.
Anybody seen anything like this?
John