Subject: [sv-ac] multi-clock proposal
From: John Havlicek (john.havlicek@motorola.com)
Date: Wed Mar 05 2003 - 13:11:37 PST
All:
Below is a multi-clock proposal for SVA from the
semantics subcommittee.
Best regards,
John Havlicek
==========================================
1) Introduce a higher layer of sequences, multiply-clocked sequences,
which are formed by attaching a clock operator (i.e., event_control)
to a sequence.
2) The ordinary sequence operators cannot be applied to multiply-clocked
sequences.
3) Mulitply-clocked sequences can be combined by a non-overlapping
concatenation operator, represented below by the placeholder "@@".
4) Multiply-clocked sequences can be combined by the non-overlapping
version of "=>", represented below by the placeholder "|=>".
So the modified BNF will look something like
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 ']'
clocked_sequence_expr ::= [event_control] sequence_expr
mult_clk_seq ::=
clocked_sequence_expr { '@@' clocked_sequence_expr }
prop_expr ::=
mult_clk_seq
| implication
| '(' prop_expr ')'
implication ::=
sequence_expr => sequence_expr
| mult_clk_seq |=> mult_clk_seq
This archive was generated by hypermail 2b28 : Wed Mar 05 2003 - 13:12:49 PST