I'm having trouble configuring a Spartan 3 in parallel slave mode. The mode pins are set with M0 tied to GND and M1,M2 left pulled up internally to 2.5 volts. I verified these voltages with a meter.
I am driving PROG_B low for a few microsecs then high. The DONE and INIT_B signals go low and INIT_B goes high again. I set RDWR_B low and start clocking data in by setting CS_B low and using the WR_N signal from the DSP to clock CCLK on the trailing edge. I have looked at all of these signals with the scope and they look clean and have good timing. But no matter how much data we clock into the Spartan 3, we never see either INIT_B go low or DONE go high. DONE has a 10 kohm pullup resistor to 2.5 volts and a buffer converts this signal to 3.3 volts for the DSP.
I do see something odd on the BUSY pin. It goes high for some 800 ns. The data sheet says I don't even have to monitor this pin if I keep the CCLK rate below 50 MHz. We are clocking data into the part at less than 10 MHz.
Any idea what could be wrong?