We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 63521

Spartan-6 Can HSWAPEN pin toggle during configuration?


I have HSWAPEN tied to an external device so that it can be used as USERIO after configuration is completed. 

If HSWAPEN toggles during configuration will it cause any issues? 

Will Internal pull-ups be turning on/off ? 

Is it a requirement that it be held at a solid logic level of either 1 or 0 for the duration of configuration?


HSWAPEN does not really requires a solid 1 or 0 value, but it is recommended to have it stable to avoid any potential side effect.
 There are some scenarios that need to be checked to be sure the toggling on HSWAPEN does not affect configuration, for example:
  • A board signal depends on the internal SelectIO pull-up to keep a signal high.  (Instead use an external pull-up to assure the High level)
  • A marginal signal being affected by the internal pull-up toggling ON-OFF (for example a board signal held Low by a weak external pull-down that the internal pull-up might sufficiently override to change the logic level, if turned on by HSWAPEN=0)
  • Current consumption on switching I/Os terminated externally with pull UPs or DOWNs 
The HSWAPEN pin does not directly affect any internal config logic. 

Before and during configuration, it only directly controls the global internal pull-up enable signal that turns ON or OFF the SelectIO internal pull-ups.
Note: In the case of the Virtex family, the HSWAPEN does not affect the internal pull-ups on the dedicated pins in bank 0.

Also, the internal pull-up is quite weak.
The toggling of the internal pull-up ON and OFF could slightly affect a signal, but the only critical signals are the clocks, TCK and CCLK.

Neither of those clock pins have internal pull-ups that are controlled by HSWAPEN.

The rest of the config interface signals are either static inputs or synchronously registered at a clock edge so minor effects of internal pull-up activity on those signals are not enough to change their static logic states or registered levels.
AR# 63521
Date Created 02/09/2015
Last Updated 06/09/2015
Status Active
Type General Article
  • Spartan-6
  • Virtex-6