Subject: RE: [sv-ac] sequence vs. sequence expression
From: Bassam Tabbara (bassam@novas.com)
Date: Mon Jan 26 2004 - 20:53:04 PST
You are right John, thx for the critique and careful reading. My comment
below, and I took a quick whack at fixing and suggesting a set of terms.
Bassam sez: I also do not think it is adequate to make the distinction by
using the term sequence for "simple sequence" and sequence expression for
composite ones, nor do I think we haven been consistent in the chapter. It
would be more precise to a) use "sequence" for both simple/composite ones,
b) introduce the terms simple/composite (we can choose other words... as in
"compound"... but I suspect this is the one that minimizes confusion), c)
establish in the reader's mind that a sequence is either a simple sequence,
if not then a composite one.
Old:
Properties are often constructed out of sequential behavior. The sequence
feature provides the capability to
build and manipulate sequential behavior. A sequence is a list of
SystemVerilog boolean expressions in a linear
order of increasing time. The boolean expressions must be true at those
specific clock ticks for the sequence to
be true over time. A boolean expression at a point in time is a simple case
of a sequence with time length of
one clock cycle. To determine a match of a sequence, the boolean expressions
are evaluated at each successive
clock tick in an attempt to satisfy the sequence. If all expressions are
true, then a match of the sequence occurs.
A sequence expression describes one or more sequences by using regular
expressions. Such a regular expression
can concisely specify a set of zero, finitely many, or infinitely many
sequences that satisfy the sequence
expression.
Sequences and sequence expressions can be composed by concatenation,
analogous to a concatenation of lists.
The concatenation specifies a delay, using ##, from the end of the first
sequence until the beginning of the second
sequence.
New:
Properties are often constructed out of sequential behavior. The sequence
feature provides the capability to
build and manipulate sequential behavior. In its simplest form, a sequence
is a list of SystemVerilog boolean expressions in a linear order of
increasing time. Such a sequence is called a {\em simple sequence}. The
boolean expressions must be true at those specific clock ticks for the
sequence to
be true over time. A boolean expression at a point in time is a simple case
of a sequence with time length of
one clock cycle. To determine a match of a sequence, the boolean expressions
are evaluated at each successive
clock tick in an attempt to satisfy the sequence. If all expressions are
true, then a match of the sequence occurs.
A sequence can be composed of one or more (simpler) sequences by composition
operators. Such a sequence is called a {\em composite sequence}. For
example, regular expression operators can concisely specify a set of zero,
finitely many, or infinitely many sequences that satisfy the composite
sequence.
Sequences (whether simple or composite) can be combined using concatenation,
analogous to a concatenation of lists.
The concatenation specifies a delay, using ##, from the end of the first
sequence until the beginning of the second
sequence.
Thx.
-Bassam.
-- Dr. Bassam Tabbara Technical Manager, R&D Novas Software, Inc.http://www.novas.com (408) 467-7893
> -----Original Message----- > From: owner-sv-ac@server.eda.org > [mailto:owner-sv-ac@server.eda.org] On Behalf Of John Havlicek > Sent: Monday, January 26, 2004 3:28 PM > To: surrendra.dudani@synopsys.com > Cc: sv-ac@server.eda.org > Subject: [sv-ac] sequence vs. sequence expression > > > Hi Surrendra: > > I have some concern about the technical distinction on p. 207 > between "sequence" and "sequence expression". My understanding > from the first two paragraphs on the page is that a sequence > is a list of boolean expressions, while a sequence expression > defines a set of sequences. > > I don't think this disctinction is consistent with the way > these terms are used throughout Section 17. > > For example, your change 1.2 strikes "and sequence expressions" > from the sentence describing concatenation. It therefore > suggests that sequence expressions cannot be concatenated, > which is inconsistent with the syntax description in box > 17-3. > > My general impression is that in describing the informal > semantics, "sequence" and "sequence expression" have been > used interchangeably, while in describing syntax, "sequence > expression" has usually been preferred. > > One possible solution is that we keep the strict distinction > of sequence and sequence expression and scrub Section 17 > to make certain we use "sequence" only when the restriction > is appropriate. > > Another solution is that we find another term to mean "list > of boolean expressions", perhaps "simple sequence". > > What do you think? > > Best regards, > > John H. >
This archive was generated by hypermail 2b28 : Mon Jan 26 2004 - 21:00:50 PST