UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 65016

Vivado - 7 Series IOB and get_sites ordering cause difficulty with Tcl scripting in Pin Planning

Description

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.

For example:

get_sites -range IOB_X0Y248 -range IOB_X0Y245
IOB_X0Y247 IOB_X0Y248 IOB_X0Y245 IOB_X0Y246

place_ports [create_port -direction in -diff_pair FOOBAR15] [get_package_pins -of_objects [get_sites -range IOB_X0Y247 -range IOB_X0Y248]]

ERROR: [Vivado 12-3609] Port and package pin arguments must be interleave each other -- i.e. a port must be followed by a package pin.

Solution

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:

lsort -dictionary -increasing [get_sites -range IOB_X0Y248 -range IOB_X0Y247]

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.

AR# 65016
Date Created 07/17/2015
Last Updated 02/09/2016
Status Active
Type General Article
Tools
  • Vivado Design Suite