When trying to script a pin planning design in Vivado, The ordering of the IOB sites and get_sites return values make it difficult to use the place_ports command.
For 7 Series devices, the IOB sites are ordered in a N - P manner which is inconsistent with other architectures.
Also, the get_sites will return P - N ordering that makes it difficult to order objects sequentially.
One way to work around the get_sites ordering is to use the lsort command. The modified get_sites command could be issued as follows:
However, the interleaving of "Port and package pin arguments" must still be honored. A request has been made to update the place_ports command to remove the interleaving requirement.