Hardware Reference
In-Depth Information
8.2.2
The AUT Format
The
AUT
format was designed to describe finite automata in a simple two-level form.
It is essentially a restricted subset of
BLIF-MV
. The adopted restrictions allowed for
a simplified version of the
BLIF-MV
parser; the restrictions are not an inherent part
of any theory, and could be relaxed if future applications dictate. The unrestricted
BLIF-MV
is also used in BALM to represent the FSMs in the form of multi-valued
multi-level nondeterministic networks, as described in the previous section.
The restrictions of
AUT
are described below. The example that follows illustrates
many of the points:
1. Only non-hierarchical
BLIF-MV
specifications are allowed.
2. An
AUT
file must have exactly one latch and exactly two combinational
tables, one describing the next-state relation and one describing a single output
named “
Acc
”. Multi-level netlist descriptions of the next-state relation are not
supported.
3. The latch's output variable is named “
CS
” and its input variable is named “
NS
”.
They have the same domain whose size must be equal to the number of states of
the automaton. The reset value of the latch is the initial state of the automaton.
Currently, only automata with one initial state can be used. This data is specified
using the
.mv
directive.
4. The next-state table (output is
NS
) must have the automaton inputs listed on the
“
.table
” line, followed by
CS
. The last variable on the line must be
NS
,the
output of the table.
5. In each line of the next-state table (which specifies a multi-valued cube),
variables
CS
and
NS
can have only one specific state value; for example, “s33”or
“stateABC”. Multi-valued state literals of the type “(s33, s35, s37)” are not
allowed in the next-state table. The don't-care literal “-” cannot be used for the
CS
and
NS
variables. All the values of
CS
must be used in the table at least
once, including the “
.default
” line. There are no such restrictions on how
the multi-valued inputs of the automaton are specified in the table. Any literals
of these variables, including the don't-care literal, can be used in the next-state
table.
6. The
BLIF-MV
specification must have exactly one binary primary output. Its
name is must to be “
Acc
” and is defined using the other combinational table of
the
AUT
file. It has only one input,
CS
. The purpose of this node is to specify
which of the automaton states are accepting. Thus
Acc
= 1 exactly when
CS
has
a value equal to one of the accepting states.
7. The default line of the
Acc
table can be in one of the following forms:
Case 1
:
all states are accepting
.table -> Acc
1
This specifies that Acc is the constant 1.
Search WWH ::
Custom Search