Hardware Reference
In-Depth Information
We can use this property to make many states immediately equivalent to each
other.
1
A sufficient condition for two different states to be made equivalent is that
their sets of care transitions (i.e. those that go to some accepting state other than
DC1
), do not intersect. Thus if p
1
and p
2
are the sets of care transitions from states
s
1
and s
2
, respectively, where p
1
^
p
2
D;
,thens
1
and s
2
can be made equivalent
using the don't cares to extend the care transitions of each of the states, s
1
and s
2
,
to the set of care transitions described by p
1
C
p
2
. For example, if p
2
goes from
s
2
to s, then we can add a transition from s
1
to s because p
2
is a don't-care for s
1
.
Continuing in this manner, we can make two or more states immediately equivalent
because on every input they go to the same next state.
The BALM command
dcmin
uses this property to build an incompatibility
graph among the states. In this graph, there is an edge s
1
!
s
2
if and only if
p
1
^
p
2
ยค;
. The decision what states to merge is made by applying a minimal
coloring algorithm to the incompatibility graph.
We note that this is just one way of using the flexibility provided by the don't
cares in the solution X and certainly may not be the best way. On the positive
side, command
dcmin
is fast (because equivalent states are found structurally by
immediate equivalence) and in practice it is quite effective on some examples.
In comparison, other good methods of state minimization may be much more
computationally intensive. We will provide an illustration of the use of
dcmin
in
the next section.
We illustrate the use of
dcmin
by continuing the example of Sect. 13.3. We saw
that by exposing internal variables
v11
and
v12
in S, a relation between states can
be forced. Thus inputs
u
to the solution automaton
planetxs.aut
must agree
with the product state in the
u
variables of F ,
v11
and
v12
. For example, if the
S state had
01
in these positions, then any input
u
with
v11 = 1
or
v12 = 0
would be a
u
input to X that would never occur, and its corresponding transition
would be directed to the accepting don't care state. This is purely due to the fact that
u
was exposed as an output of S. Hence, this can be used by
dcmin
in minimizing
the result, as follows:
dcmin planetxs.aut planetxs-dcmin.aut.
Looking at the relative sizes before and after
dcmin
, we see it is very effective.
Executing
print stats aut planetxs.aut
,before
dcmin
we would see:
"csf": incomplete (48 st), deterministic,
non-progressive (48 st), and non-Moore (48 st).
13 inputs (13 FSM inputs) 49 states (49 accepting)120
trans
Inputs = {v0,v1,v2,v3,v4,v5,v6,v11,v12,v7,v8,v9,v10}
1
Two states are immediately equivalent if for any input, they produce the same output and go to
the same next state.
Search WWH ::
Custom Search