Hardware Reference
In-Depth Information
states are of the form
.s
F
;n
S
/
and
.n
F
;s
S
/
cannot transition to any of them because
n
F
cannot transition to
s
F
. These states can be lumped into one state, an accepting
don't care state. In conclusion, if
u
ยค
u
,
X
sim
will transition into an accepting don't
care state and thus there are many don't care transitions created by exposing
u
as a
pseudo output of
S
.
13.3
Example with Latch Splitting
In this section we discuss an example that starts with a sequential network
representing FSM
, which may already be a sub-network of a larger FSM as
discussed in Chap. 11. We use the BALM's command
latch split
to divide the
latches (and combinational logic feeding them) of the network
S
S
into two parts. The
first part is called
F
and the second part is called
A
. Next, the complete sequential
flexibility
X
is computed for the
A
part using
S
as the specification and
F
as the
fixed part.
A
is a particular solution contained in the most general FSM solution
Xfsm
.
The equation
F X S
can be solved in two different ways:
1. Normal use of latch split where an FSM is divided into two parts, say
F
and
A
,wherethe
A
part is considered as unknown. Solving the language equation
for
provides the most general solution, which represents the complete set of
flexibilities possible for replacing
X
. This was the topic of Sect. 11.2.
2. Solving a restricted problem, which is obtained by setting up a relation between
the states of
A
F X
and
S
(instead of language containment), i.e., solving
F X
sim
S
. Finding the largest solution of this restricted problem yields
a restricted solution of the language equation problem.
The running example,
planet.blif
3
, will demonstrate how the solution by the
second method can be found and then minimized using command
dcmin
, specifi-
cally targeted for this situation, where the states are constrained (see Sect. 14.3 for
an in-depth presentation of
dcmin
).
Example 13.3.
In an initial FSM (which is
planet.blif
in this example), the
latches are
(v7,v8,v9,v10,v11,v12)
. Using the command,
latch split
0-3
, the first four latches are moved to the
A
part le
av
ing the latches of
F
as
(v11,v12)
. When we compute the product of
F S
, in order to solve for
X
, the state space variables of the product are
(v11,v12,v7,v8,v9,v10,
v11,v12)
, i.e.,
.s
F
;s
S
/
. Although
X
is obtained from this by complementation,
its states can be labeled with
. In general, values in the first two slots,
(v11,v12)
, need not agree with those in the last two slots, because
v11
and
.s
F
;s
S
/
3
To save space, we do not include here the description of
planet.blif
, which can be found
in the standard MCNC/ISCAS benchmarks for FSMs [87], and also can be retrieved from the
examples provided in the on-line directory of BALM.
Search WWH ::
Custom Search