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.
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:
Alternatively, brackets can be used: