[sv-ac] AC 296

From: Eduard Cerny <Eduard.Cerny@synopsys.com>
Date: Wed Nov 10 2004 - 13:27:29 PST

Hello Manisha,

I agree with you and think that it is a good idea to summarize the sequence
methods in a se[arate section. However I would like to suggest a some
changes to your proposal. In particular, ended and matched should not be
allowed outside expressions in sequences. They are more like boolean events
valid only at the clock tick. We should discuss it tomorrow at the meeting.

Best regards,

ed

---
In the paragraph on ended you say:
"The ended status of the sequence is set in the Observe region and persists
through the remainder of the time step (i.e. until simulation time
advances). This method can be used to detect the endpoint of a sequence used
in another sequence."
I think that extending the duration of the ended in not necessary as it
cannot be used anywhere but in another sequence which does also evaluate in
the Observed region. (Clearly, when evaluating sequences the evaluation must
be ordered by mutual dependency and the dependency graph must not have
cycles.) Perhaps you would agree if the text is changed as follows:
"The ended status of the sequence is set in the Observed region. This method
can only be used to detect the endpoint of a sequence in another sequence.
There must be no circular dependency between sequences induced by the use of
ended."
---
In the paragraph on triggered :
"The value of method triggered evaluates to true if the given sequence has
reached its endpoint at that particular point in time and false otherwise.
The triggered status of the sequence is set in the Observe region and
persists through the remainder of the time-step.  This method can be used
anywhere that the triggered property of events can be used (section 13.5.4).
It is an error to pass a local variable as an actual argument to a sequence
instance on which method triggered is applied. This prevents local variables
from flowing out of method triggered.  (See section 17.8)"
I propose that you add:
"... This method can be used anywhere that the triggered property of events
can be used (section 13.5.4), including the boolean expressions in disable
iff statements of properties. There should be no circular dependency between
properties and sequences induced by the use of sequence triggered in disable
if clauses. It is an error ... "
---
The paragraph starting with: "The  methods ended and triggered ..."
Change as
"The  method triggered can be used in wait statements or boolean expressions
outside of property context. However, it is an error to invoke those methods
on sequences which treat their formal arguments as local variables. A
sequence treats its formal argument as a local variable if the formal
argument is used as an lvalue in operator_assignment or
inc_or_dec_expression in sequence_match_item."
---
The paragraph starting with: "Unlike ended and triggered, matched uses ..."
Change to:
"Unlike ended and triggered, matched provides means for synchronization
between two clocks by making available the result of the source sequence
match to the evaluation of the destination sequence at the first clock tick
of the destination sequence after the source sequence match. This method is
used to detect the endpoint of a sequence in a multi-clocked sequence. If
the source and destination clocks are the same, again the result is
transferred to the first subsequent clock tick. Like ended, matched can only
be used in boolean expressions in sequences."
Received on Wed Nov 10 13:26:51 2004

This archive was generated by hypermail 2.1.8 : Wed Nov 10 2004 - 13:27:01 PST