I still have not completely figured out the pull up resistors on the Spartan 3 chips. It would appear that the data sheet has never been thoroughly reviewed for omissions and errors. Some of the information that should be clearly indicated in any number of places is missing and/or misleading.
"A Low logic level on HSWAP_EN activates the pull-up resistors on all I/Os during configuration." Does this include the dedicated configuration signals? How about the dual purpose configuration pins? Or is it just the User IO?
I found this sentance to be especially unenlightening...
"The Dedicated configuration pins (CCLK, DONE, PROG_B, M2, M1, M0, HSWAP_EN) and the JTAG pins (TDI, TMS, TCK, and TDO) always have a pull-up resistor to HSWAP_EN during configuration, regardless of the value on the HSWAP_EN pin."
What does a "pull-up resistor to HSWAP_EN" mean??? Why would TDO have (or need) a pull up to any value since it is a full time output?
Why does Xilinx make it so hard to get the all important details on a part that has been in full production for so long? They just updated the Spartan 3 data sheet this month! Why wasn't the information that they know is lacking included? I say they know info is lacking because you can find it in an answer record if you know to look for it.
I may put up a web page detailing all the short comings in the Spartan
3 devices and documentation.