在TCL脚本中,特别是在使用电子设计自动化(EDA)工具(如Synopsys Design Compiler、Cadence Innovus等)时,@
符号在过滤器表达式中有特定的用途。
用途和解释
@ref_name
:@
符号在过滤表达式中用于明确指示属性名称。属性是指对象的特定特征或信息(如ref_name
)。*
:通配符,用于匹配任何字符串。@ref_name==**logic_0** || @ref_name==**logic_1**
:这是一个逻辑表达式,用于过滤出ref_name
为logic_0
或logic_1
的单元。
加与不加 @
的区别
- 加
@
的情况:明确指出在过滤条件中使用的名称是一个属性。这在某些情况下是必须的,尤其是当属性名称可能与脚本中的其他变量或关键字混淆时。 - 不加
@
的情况:如果没有歧义或混淆,工具可能默认理解为属性名。
必须加 @
的情况
-
避免歧义:当属性名称与TCL脚本中的变量或关键字名称相同时,使用
@
可以避免歧义。例如,如果你有一个TCL变量也叫ref_n