RE: [sv-ac] getting local variables out of sequences


Subject: RE: [sv-ac] getting local variables out of sequences
From: Miller Hillel-R53776 (r53776@motorola.com)
Date: Mon Aug 25 2003 - 22:13:29 PDT


John,

I vote for 3 and additional syntax for putting actions inside the sequence. In CBV
we have a notion of 3 with the "broadcast" statement.

Hillel

-----Original Message-----
From: John Havlicek [mailto:john.havlicek@motorola.com]
Sent: Monday, August 25, 2003 10:48 PM
To: sv-ac@eda.org
Subject: [sv-ac] getting local variables out of sequences

All:

In today's meeting, I asked for people to tell me where they
want to refer to local variables outside a sequence.

Adam responded, "in the action block".

We discussed the problem of having multiple threads with
distinct local variable contexts associated with a single
execution of the action block.

In general, when we have multiple threads with distinct
local variable contexts associated to the same attempt
of a source sequence, we have a problem getting the local
variables out of the source sequence and into some other
fixed execution thread that is desired to receive the local
variables. The problem is simply that there is a many-to-one
mapping that cannot, in general, be handled unless the receiver
is coded to anticipate the multiplicity. I see four possibilities
in this case:

1. Disallow the reference to the local variables in the receiving
   thread (status quo in most cases)
2. Choose non-deterministically between the source threads. In other
   words, the many-to-one binding from source to receiver is done by
   non-deterministic choice.
3. Replicate the receiving thread so that there is one receiver for
   each distinct source thread.
4. Require the receiver to deal with multiplicities, e.g. by
   passing a list of local variable contexts.

I have reservations about both 2 and 3 when we are talking about
receivers that are not within the realm of properties and sequences.

I would like to get feedback from people and see some discussion,
since I don't know how this problem should be solved in SVA. [In CBV,
the solution is to move the action that the receiver would do into the
property and sequence threads themselves, so that no "join" of distinct
contexts is necessary. The effect is similar to 3, but in CBV
general action blocks are not allowed.]

Best regards,

John H.



This archive was generated by hypermail 2b28 : Mon Aug 25 2003 - 22:14:06 PDT