Hardware Reference
In-Depth Information
Table 5.1
Basic property
Operator Associativity
not
-
nexttime
-
and
Left
or
Left
until
Right
until_with
Right
always
-
s_eventually
-
operators
We describe only the elementary and most commonly used property operators
here. The less frequently used and more complex operators are discussed in
Chap.
10
.
In this chapter, we use the following convention: letters
a
,
b
,
c
, and,
e
denote
integral expressions or signals;
p
and
q
denote properties. All letters may be
optionally indexed. We enumerate clock ticks with integer numbers starting with 0.
In the diagrams, we mark the ticks where a Boolean expression holds with a black
dot, and the ticks where a property holds with a black triangle.
The property operators described in this chapter are summarized in Table
5.1
.
They are grouped by their precedence, from highest to lowest.
Properties can be built from simpler properties in a recursive manner. First we
define “primitive” properties, and then we show how to build new properties using
property operators from existing ones. The primitive properties are constructed from
sequences. However, the notion of a sequence is less intuitive before introducing the
notion of a property. Therefore, in this chapter we consider a Boolean, which is the
simplest form of sequence, as the primitive form, and postpone the introduction of
sequences until Chap.
6
. In Chap.
6
, we clarify why primitive properties are in fact
sequential properties and that Boolean properties are the simplest case of sequential
properties.
Example 5.1.
To illustrate what we mean by recursive definition of properties,
consider property
nexttime always
e
, the meaning of which is explained later.
This property is built by applying property operator
nexttime
to the simpler
property
always
e
. The latter property, in its turn, is built by applying property
operator
always
to the primitive property
e
.
t
5.1
Boolean Property
The simplest property is a
Boolean property
—an integral expression
e
, which is
treated as Boolean. A Boolean expression is
true
if it has at least one bit set to 1,
and
false
otherwise, i.e., when all its bits have values 0,
x
or
z
. Now, extending the
meaning, we define a Boolean property informally for a point on a trace as follows:
Search WWH ::
Custom Search