The Spartan-3A/AN BSDL files have a couple items that may need to be modified to enable the BSDL files to pass BSCAN testing.
1 - The DONE pin is listed as an IN and should be listed as an INOUT. To correct this change, find and replace the following lines in the file.
Find: DONE : in bit;
Replace with: DONE : inout bit;
2 - The files have a register listing for the BYPASS register length which can also be removed in the following manor.
Find: "BYPASS (HIGHZ, BYPASS)," &
Replace with: "BYPASS (HIGHZ, BYPASS)," &