testbench questions: event constructs


Subject: testbench questions: event constructs
From: Francoise Martinolle (fm@cadence.com)
Date: Fri Aug 23 2002 - 13:00:30 PDT


I am reviewing the testbench spec in preparation of the september 4th
meeting and
I have a few questions and comments regarding the specification of the
event construct.
First it is not compatible with Verilog were events are defined as @identifier

If I read the description of this page 1-9:
event variable_name [= initial_value];

It is said that the initial _value can either be null or another event. The
default initial_value
is a new synchronization object set to OFF. Events assigned to null act as
if always ON.

So I interpret that if I declare:

event x;
   this means that the variable x is an event on which no value change had
occurred.

event x = null;
   this means that the variable x is an event which is always a true event.
the evaluation of the event x will always say that there has been a value
change on x.

event y;
event x = y;
    this means that an event on x is true only if there is an event on y?

I have some doubt on the 3rd interpretation which I derived literally from
the initial value
description. This description is in contradiction to the first paragraph
describing events:

"Events are pointers to a synchronization object. This synchronization
object can be ON or OFF. An event can either point to an object or be
null... 2 or more events can point to the same synchronization object."

 From this I derive that rather than my interpretation of the initial value
should rather be an
object.

reg y;
event x = y;
event otherx = y;
meaning that I had named "x" an event which has been caused by a value
change on y.

The only advantage of naming events that I see is if we were building
complex events such as:
event x = y | z; but we are not according to the description.
Unless I don't understand correctly the description, I don't see much
advantage in the current specification.

Can someone tell me which one of my interpretation is correct?



This archive was generated by hypermail 2b28 : Fri Aug 23 2002 - 13:10:25 PDT