[sv-ac] delay/concatenation syntax
Subject: [sv-ac] delay/concatenation syntax
From: dudani@us04.synopsys.com
Date: Wed Feb 19 2003 - 12:49:28 PST
After digesting the discussion so far, I would like to propose the
following syntax for delay/concatenation. Please review and provide your
feedback. Also attached are examples written in this syntax. The
examples are borrowed from the vfv committee.
- sequence_expr ::=
-
sequence_instance
- | '(' sequence_expr
')'
- | boolean_expr
- | range
sequence_expr
- | sequence_expr {
';' range sequence_expr }
- | sequence_expr *
range
- | boolean_expr '*='
range
- |
sequence_expr 'within' sequence_expr
- | boolean_expr
'throughout' sequence_expr
- | sequence_expr and
sequence_expr
- | sequence_expr or
sequence_expr
- | sequence_expr
intersect sequence_expr
- | first_match '('
sequence_expr ')'
- | '(' var_decl
{,var_decl}; sequence_expr ')'
- range ::=
-
[ constant_range_expression ]
- | [
constant_range_expression : constant_range_expression ]
- |
[constant_range_expression : inf ]
Main advantages:
1) Consistent notation for unary and binary delays
2) Single operator for concatenation
3) Minimum rules
4) No extra parenthesis required
5) overall less typing
Disadvantage:
1) No default for concatenation with delay 1 (;)
Following are the main differences from 0.80 version :
1) unary and binary delays are allowed
2) unary delay 0 means the current evaluation tick
3) binary delay 0 means overlapped concatenation
4) No extra parenthesis required to delineate sequences
5) No default delay 1 for concatenation
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 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
: Wed Feb 19 2003 - 12:51:47 PST