Answers Database
M1.5 NGDBUILD: UCF constraint on element with special char. gives "ERROR:baspr - SSLex0105e: Invalid token"
Record #3011
Product Family: Software
Product Line: FPGA Implementation
Problem Title:
M1.5 NGDBUILD: UCF constraint on element with special char. gives
"ERROR:baspr - SSLex0105e: Invalid token"
Problem Description:
Keywords: invalid token, sslex0105e, tilde
Urgency: standard
If the UCF contains a constraint referencing
~ @ ! + # = , " ` ' ; ^ % | . { or }, then you may get the following:
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 gr
oups: PADS, LATCHES, RAMS, or FFS.
Solution 1:
Put the signal or instance name in quotes in the UCF file. Example:
TIMESPEC TS01 = FROM : PADS(MYSIG) : TO: PADS("~NOTMYSIG"): 30;
Some characters cannot be read in the UCF file as part of a signal or instance n
ame: semi-colon(;), equal sign(=), comma(,), double quote("). Even if you put "
" around the name, the UCF still cannot be parsed.
The wildcard characters asterisk (*) and question mark (?) can be
part of a signal name (not recommended), but you cannot use double quotes around
the name in the UCF file to prevent it from being treated as a wildcard. In oth
er words, if there is a signal called *mysig in the design, and you reference "*
mysig" in the UCF, then this will still be interpreted as meaning "every net tha
t ends with the string mysig".
As a general rule, you should avoid using ; , " * ? = in the naming of signals a
nd instances.
End of Record #3011
For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |