...
.bit file : (bitstream file) FPGA configuration file. iMPACT can't use this file for SPI Flash programming; OpenFutNet (C#) and OpenFut Open_FUT (Python) can use this file for SPI Flash programming.
.mcs file : (bitstream file) FPGA configuration PROM file. iMPACT can use this file for SPI Flash programming; OpenFutNet (C#) and OpenFut Open_FUT (Python) can use this file for SPI Flash programming.
...
you should use a .iic file (EZ-USB FX2LP USB FX2 microcontroller firmware) with CyConsole, CyControl or the TE Python program OpentFut Open_FUT 2nd generation;
you should use a .bit (or a Xilinx Flash .mcs file, not third-party SPI Flash) with the Python program OpentFut Open_FUT 2nd generation.
In the case of 3rd generation firmware (Trenz Electronic):
you should use a .iic file (EZ-USB FX2LP USB FX2 microcontroller firmware) with CyConsole, CyControl, the TE Python program OpentFut Open_FUT 3rd generation or the TE C# program OpenFutNet;
you should use a .bit or a .mcs file (both Xilinx Flash and third-party SPI Flash can be used) with the TE C# program OpenFutNET; for .bit (or a XILINX Flash .mcs file) you can also use the Python program OpentFut Opent_FUT 3rd generation.
Python programs OpenFut Open_Fut 2nd and Open_FUT 3rd generation can be found on GitHub.