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

9.1i NGDBuild/Constraint - User Constraints File (UCF) creates "ERROR:baspr - SSLex0105e: Invalid token"


My UCF causes the following parsing error:

"ERROR:baspr - SSLex0105e: Invalid token, Line 1, Offset 6, ~

ERROR:bascp:26 -"PADS(~NOTMYSIG)" is not a legal string for a predefined group. Please check that the syntax is correct for one of the following predefined groups: PADS, LATCHES, RAMS, or FFS."

Why does this occur?


This error occurs if a signal name in the UCF is using a character other than "A" to "Z," "a" to "z," and "0" to "9," or if it contains a constraint that refers to any of the following characters:

~ @ ! + # = , " ` ' ; ^ % | . { },

To avoid this error, put the signal or instance name within quotation marks in the UCF file.

For example:


The following characters cannot be read in the UCF as part of a signal or instance name:

- semi-colon (;)

- equal sign (=)

- comma (,)

- double quotation marks (")

Even if you put double quotation marks around a name containing these characters, the UCF will not be parsed.

The wild card characters asterisk (*) and question mark (?) can be part of a signal name (although this is not recommended), but you cannot use double quotation marks around the name in the UCF to prevent it from being treated as a wild card.

For example, if the design contains a signal called *mysig, and you reference "*mysig" in the UCF, this will still be interpreted as meaning "every net that ends with the string mysig."

As a general rule, you should avoid using semi-colons, colons, double quotation marks, asterisks, question marks, and equal signs in signal and instance names.

AR# 3011
Date Created 08/21/2007
Last Updated 05/14/2014
Status Archive
Type General Article