I am using the Basys 2 Spartan-3E FPGA board with Xilinx. I need the pmod i/o to be at 1.8v so I am using LVCMOS18 IOSTANDARD.
You can find all of the IOSTANDARD's available for Spartan-3E in this document.
Whenever I try to compile my project it always errors out on the Place & Route phase that says:
ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0 Conflicting IO Standards are: IO Standard 1: Name = LVCMOS25, VREF = NR, VCCO = 2.50, TERM = NONE, DIR = INPUT, DRIVE_STR = NR List of locked IOB's: mclk ERROR:Place:864 - Incompatible IOB's are locked to the same bank 3 Conflicting IO Standards are: IO Standard 1: Name = LVCMOS25, VREF = NR, VCCO = 2.50, TERM = NONE, DIR = OUTPUT, DRIVE_STR = NR List of locked IOB's: LEDs<7> I have done some research on that error and I believe it means that there are different IOSTANDARD's on the same bank. The pins that I directly set are on bank 1 but the conflicts are on bank 0 and bank 3. When I remove the IOSTANDARD from the pmod i/o it compiles successfully but those pins are not 1.8v then.
My constraints file looks like:
# clock pin for Basys2 Board NET "mclk" LOC = "B8" ; # Bank = 0, Signal name = MCLK NET "mclk" CLOCK_DEDICATED_ROUTE = FALSE; # Pin assignment for LEDs NET "LEDs<7>" LOC = "G1" ; # Bank = 3, Signal name = LD7 NET "LEDs<6>" LOC = "P4" ; # Bank = 2, Signal name = LD6 NET "LEDs<5>" LOC = "N4" ; # Bank = 2, Signal name = LD5 NET "LEDs<4>" LOC = "N5" ; # Bank = 2, Signal name = LD4 NET "LEDs<3>" LOC = "P6" ; # Bank = 2, Signal name = LD3 NET "LEDs<2>" LOC = "P7" ; # Bank = 3, Signal name = LD2 NET "LEDs<1>" LOC = "M11" ; # Bank = 2, Signal name = LD1 NET "LEDs<0>" LOC = "M5" ; # Bank = 2, Signal name = LD0 # Loop Back only tested signals NET "spi_si" LOC = "B2" | DRIVE = 2 | IOSTANDARD = LVCMOS18 | PULLDOWN ; # Bank = 1, Signal name = JA1 NET "spi_so" LOC = "A3" | DRIVE = 2 | IOSTANDARD = LVCMOS18 | PULLDOWN ; # Bank = 1, Signal name = JA2 NET "spi_cs" LOC = "J3" | DRIVE = 2 | IOSTANDARD = LVCMOS18 | PULLDOWN ; # Bank = 1, Signal name = JA3 NET "spi_sck" LOC = "B5" | DRIVE = 2 | IOSTANDARD = LVCMOS18 | PULLDOWN ; # Bank = 1, Signal name = JA4 NET "sw0" LOC = "P11"; # Bank = 2, Signal name = SW0 How do I fix these conflicts?
The Basys2 has the CP132 package. Here is the chip diagram and bank schematic: 

