This chapter contains information about the following topics.
You can use alias statements in LEF and DEF files to define commands or parameters associated with the library or design. An alias statement can appear anywhere in a LEF or DEF file as follows:
&ALIAS &&aliasName = aliasDefinition &ENDALIAS
&ALIAS and &ENDALIAS are both reserved keywords and are not case sensitive. An alias statement has the following requirements:
|
&ALIAS must be the first token in the line in which it appears. |
|
aliasName is string name and must appear on the same line as &ALIAS. It is case sensitive based on the value of NAMESCASENSITIVE in the LEF input, or the value of Input.Lef.Names.Case.Sensitive. |
|
aliasName cannot contain any of the following special characters: #, space, tab, or control characters. |
|
&ENDALIAS must be the last token in the line in which it appears. |
The alias name (aliasName) is an identifier for the associated alias definition (aliasDefinition). The data reader stores the alias definition in the database. If the associated alias name already exists in the database, a warning is issued and the existing definition is replaced.
Alias definitions are text strings with the following properties:
|
aliasDefinition is any text excluding "&ENDALIAS". |
|
aliasDefinition text can expand to multiple lines. |
The following examples include legal and illegal alias statements:
&ALIAS &&MAC = SROUTE ADDCELL AREA &&CORE &ENDALIAS
|
The following statement is illegal because MAC does not start with "&&". |
&ALIAS MAC = SROUTE AREA &&CORE &ENDALIAS
|
The following statement is illegal because &ALIAS is not the first token in this line. |
( 100 200 ) &ALIAS &&MAC = SROUTE AREA &&CORE &ENDALIAS
$ALIAS $$ = INPUT LEF myfile.txt;
VERIFY LIBRARY
ENDALIAS
The following examples show legal and illegal alias names:
|
"Engineer_change" is a legal alias name. |
&&Engineer_change
|
"&Version&History&&" is a legal alias name. |
&&&Version&History&&
|
"design history" is an illegal alias name. It contains a space character and is considered as two tokens: an aliasName token "&&design," and a non-aliasName token "history". |
&&design history
|
"someName#IO-pin-Num" is an illegal alias name. It contains a "#" character and is translated as one aliasName token "&&someName". The "#" is considered a comment character. |
&&someName#IO-pin-Num
&&aliasName
where aliasName is any name previously defined by an alias statement. If an aliasName does not exist in the database, no substitution occurs.