91i ngdBug/Objult-用户约束文件(UCF)创建“错误:BASPR-SSSLe0105E:无效令牌”

描述

我的UCF会导致以下解析错误:

“错误:BASPR-SSSLe0105E:无效令牌,第1行,偏移6,~~

错误:BASCP:26 -“Pad(~NoMysig)”不是预定义组的合法字符串。请检查下面的预定义组之一的语法是否正确:垫片、锁存器、RAM或FFS。

为什么会发生这种情况?

解决方案

如果UCF中的信号名使用“A”以外的字符“Z”、“A”到“Z”、“0”到“9”,或者如果包含以下字符中的任何一个约束,则会出现此错误:

~@!+*=,“``;^ %.{}

若要避免此错误,请将信号或实例名称放在UCF文件中的引号内。

例如:

TimeSP.TS01=:焊盘(MYSIG):到:焊盘(“NoMysig”):30;

在UCF中不能读取以下字符作为信号或实例名称的一部分:

-半冒号(;

-等号(=)

-逗号(,)

双引号(“”)

即使在包含这些字符的名称周围加上双引号,UCF也不会被解析。

通配符星号(*)和问号(?)可以是信号名称的一部分(虽然这是不推荐的),但是不能在UCF中使用双引号来防止它被当作一个通配符。

例如,如果设计包含一个名为*Mysig的信号,并且在UCF中引用“*Mysig”,这将仍然被解释为“用字符串Mysig结束的每一个网”。

一般来说,你应该避免在信号和实例名称中使用半冒号、冒号、双引号、星号、问号和等号。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-29 14:58:12 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它