AR# 33927: 11.4 MAP - ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0
11.4 MAP - ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0
I am seeing the following error related to I/O Standards. In my UCF file I have: NET "LGN_TENGPHY*_LTIMEOK" IOSTANDARD = LVCMOS25; NET "LGN_M88E6122_SW_MODE*" IOSTANDARD = LVCMOS33;
How can the pad net LGN_TENGPHY1_LTIMEOK end up with an I/O Standard of LVCMOS33?
ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0 Conflicting IO Standards are: IO Standard 1: Name = LVDS_25, VREF = NR, VCCO = 2.50, TERM = NONE, DIR =^M OUTPUT, DRIVE_STR = NR List of locked IOB's: UART_TXD0_N UART_TXD0_P ...
IO Standard 2: Name = LVCMOS33, VREF = NR, VCCO = 3.30, TERM = NONE, DIR =^M OUTPUT, DRIVE_STR = 12 List of locked IOB's: LGN_TENGPHY1_LTIMEOK
This is a known problem with constraint propagation that is most likely to occur if wildcard constraints are used. In this case, the pad net "LGN_TENGPHY1_LTIMEOK" is matched by the first constraint, but since the net is driven by an OBUF which is in turn driven by a net named "LGN_M88E6122_SW_MODE1_OBUF", the LVCMOS33 is propagated to the pad net.
There is a CR under investigation for this issue saying that the local constraint should not get overridden by constraint propagation. Meanwhile there are two possible workarounds:
1. Make wildcard constraints more specific so that only pad nets are matched. 2. Change the order of the constraints in the UCF file so that the local constraint follows the conflicting constraint and overrides it.