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# 58789

Vivado - Attempting to use a "?" as a wildcard character in a Tcl command results in "Invalid command name "?" "


When attempting to use the '?' wildcard character on a bus, Vivado errors with the following:

Invalid command name "?"

However, when I use the '*' wildcard character in the same situation, this works.

For example:

get_ports led_pins[?]  //Returns an error

get_ports led_pins[*] //Works correctly


Special built-in capability was included in the Vivado Tcl parser to handle the '*' wildcard character between substitution characters '[' and ']', but this was not included for the '?' character.

A simple work-around for this is to use escape characters as follows:

get_ports led_pins\[?\]

Alternatively, brackets can be used:

get_ports {led_pins[?]}

AR# 58789
Date Created 12/12/2013
Last Updated 12/16/2013
Status Active
Type General Article
  • Vivado Design Suite