ISE takes out the commas in my NGC files, and this causes MAP to fail.
attribute LOC : string;
constant Bottom_BUFGMUXs : string := "BUFGMUX0,BUFGMUX1,BUFGMUX2,BUFGMUX3";
constant Top_BUFGMUXs : string := "BUFGMUX4,BUFGMUX5,BUFGMUX6,BUFGMUX7";
attribute LOC of I1: label is Top_BUFGMUXs;
attribute LOC of I5: label is Top_BUFGMUXs;
attribute LOC of I6: label is Top_BUFGMUXs;
When running MAP, the following error occurs:
"ERROR:MapLib:30 - LOC constraint BUFGMUX4 BUFGMUX5 BUFGMUX6 BUFGMUX7 on I1 is invalid: No such site on the device."
This is a problem with what XST is writing out to the NGC.
To work around this issue, implement the constraints through the UCF file as shown below:
#INST "I1" LOC = BUFGMUX4, BUFGMUX5, BUFGMUX6, BUFGMUX7;
This issue is fixed in XST 8.2i.