IEEE
FOR SEMICONDUCTOR DESIGN ENVIRONMENTS Std 1450.1-2005
Copyright © 2005 IEEE. All rights reserved.
9
5. Expressions
This clause defines extensions to STIL.0, Clause 6.
STIL.0 defines a limited usage of expressions; see STIL.0, Subclause 6.13 and Subclause 6.14. This standard
extends these expression capabilities with additional variable types (SignalVariable, Integer, IntegerConstant,
WFCConstant) and additional expression constructs. The use of operators and the expression constructs as
defined for STIL.0 is unchanged. The full set of STIL.0 and STIL.1 expression operations are defined in
Table 7. The detail of syntax and usage of the new expressions are defined in 5.1 – 5.13.
5.1 Constant and variable expressions
Expression constructs (which are defined in 5.2 – 5.13) can be divided into two classes: those that can be
completely resolved at parse time (i.e., constant expressions) and those that can only be resolved at run time
(i.e., variable expressions).
Constant expressions are those that contain only literal values (e.g., ‘5ns’ or ‘10ns’), or named constants
(e.g., Spec-Variable, IntegerConstant, and WFCConstant). As in STIL.0, statements that contain constant
expressions can be fully resolved once the STIL file/stream has been fully parsed and the domain references
have been resolved. Constant expressions can be used anywhere that the syntax definitions allow a literal
value. The use of constant expressions provides for (1) improved readability, (2) parameterized STIL data,
(3) enhanced reuse, and (4) improved maintainability.
Variable expressions are those that contain named variables, such as SignalVariable and Integer. The use of
variable expressions is intended primarily to support “design” applications. The ability of an ATE system to
support variable expressions may be limited, if possible at all.
Both constant and variable expressions can be further classified into “arithmetic expressions” and “pattern
data expressions.” The allowed constructs of each of these expression types are defined in 5.2 – 5.13.
5.2 Expression delimiters—single quotes and parentheses
Single quotes are defined in STIL.0 as the delimiter to be used around expressions. This usage is unchanged
with the introduction of new expression capabilities in STIL.1, and a STIL.0 file is completely compatible
with all STIL.1 rules. However, the rules governing the use of single quotes and parentheses are relaxed. The
following rules apply to the use of single quotes in STIL.1:
a) Single quotes, when used, are always the outermost symbols of an expression.
’T2+5ns’ // timing expression
’SIG1+SIG2+SIG3’ // signal group expression
b) Assignment and boolean operators shall not be used inside a single-quoted expression.
V { ’INT := INT+5’; } // illegal
If ’INT :== 5’ { } // illegal
c) Single quotes shall not be nested.
V {’BUS[1..’K+1’]’ = XXX; } // illegal - nesting of quotes
d) Wherever expressions are allowed, a single token may be used without delimiters. A single token
may be a literal value, a named constant, or a named variable.
V { INT := ’5’; } // single token with quotes
V { INT := 5; } // single token without quotes
V { INT1 := INT2; } // single token without quotes
Authorized licensed use limited to: NORTH DAKOTA STATE UNIV. Downloaded on July 01,2014 at 03:50:26 UTC from IEEE Xplore. Restrictions apply.