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