[sv-ac] sequence delay syntax


Subject: [sv-ac] sequence delay syntax
From: dudani@us04.synopsys.com
Date: Tue Feb 04 2003 - 12:43:42 PST


With unary delay removed, following is a simplified syntax for concatenation and repetition.
Please provide your feedback.

sequence_expr ::=
        sequence_instance
         | '(' sequence_expr ')'
         | boolean_expr
        | sequence_expr { ';' [range] sequence_expr }
        | sequence_expr ‘*‘ range
        | boolean_expr ‘=*’ range
         | < other sequence constructs >
range ::=
        ‘[’ constant_range_expression ‘]’
        | ‘[’ constant_range_expression ‘:’ constant_range_expression ‘]’
        | ‘[’constant_range_expression ‘:’ inf  ‘]’

Following are the differences from 0.80 version :
1) unary delay is not allowed
     ([3] b ; c) is illegal
2) Parenthesis related to unary delay is removed
     a ; ([2] b; c) ; d   is illegal
3) Parenthesis around every sequence_expr is not needed, but can be used if desired
     s1 and s2 ; s3  is legal and equivalent to
4) Delay and repetition range can be used without requiring a parenthesis, such as
     a ;[3] b * [3]   is legal and equivalent to a;[3] (b * [3])

Please note that
1) boolean operators have higher precedence than sequence operators
2) precedence of sequence operators in order as below:
       * , =*
       ;[range]
       and , intersect
       or
       throughout
       within
3) left to right association
Surrendra


**********************************************
Surrendra A. Dudani
Synopsys, Inc.
377 Simarano Drive
Suite 300
Marlboro, MA 01752

Tel:   508-263-8072
Fax:   508-263-8123
email: dudani@synopsys.com
**********************************************



This archive was generated by hypermail 2b28 : Tue Feb 04 2003 - 13:25:43 PST