I/Os on the Spartan-3E/3A/AN/DSP devices appear to be driving Low. The I/Os should be disabled during BSCAN testing.
Why is this occurring?
This I/O going Low with a pull-down during BSCAN testing may be causing resets on the board to be triggered, causing other components to become reset or disabled.
When running BSCAN testing, the SAMPLE and EXTEST instructions are utilized to shift date in and out of the device. After these instructions are issued, the device places the I/Os in the "disable state" which is listed in the BSDL files as the disrult.
Currently this value is listed as a PULL1 indicating a pull-up, and this value should be changed to a PULL0 to denote a pulldown. This update will be included in the next release of the BSDL files.
The following warning will also be added to the files:
"HSWAP_EN can be captured and updated.
The value at the pin is always used by the device before configuration is done.
During pre-configuration, the disable result of a 3-stated I/O in this file correspond to HSWAP_EN being low or during EXTEST instruction.
When HSWAP_EN is high AND during SAMPLE instruction, change all PULL1s to PULL0s.
After configuration, the disable result only depends on the individual IO's configuration setting."
This states that pre-configuration activity of the I/Os is dependent on the HSWAP pin for the SAMPLE instruction. The device will not enable the pulldown during the EXTEST instruction or when SAMPLE is issued with HSWAP enabled.
If the I/Os driving Low are causing system level problems, the devices can be configured to eliminate this behavior, or the HSWAP pin can be used.
The device can also be configured to get around this issue. For testing purposes, this becomes an easy test to see if this is the root cause. Load the part and then run the BSCAN test to see if the failures still occur.