For state encoding, MINIMALIST uses CHASM (Coding for Hazard-free Asynchronous State Machines), the first exact method for input encoding of multiple-input change asynchronous machines. CHASM has many operating modes. One highlight is that its ``exact mode'' can be used to produce exactly optimum two-level output logic, over all critical race-free encodings, thus optimizing the key performance parameter for asynchronous networks (output latency). Its approximate mode also gives significant reductions in overall implementation cost.
CHASM, as reported in [8], loosely follows the
flow of the KISS [#KISS#
For MINIMALIST, CHASM has been extended in several new ways.
First, CHASM is now being applied to implementations with fed-back
outputs. Specifically, we have proven that CHASM requires no modification
to properly encode implementations with fed-back outputs. A modified functional
specification is provided as input, which simply identifies the primary outputs
as fed-back inputs. The symbolic two-level logic minimizer then forms a symbolic
cover on this new function.
Second, CHASM can now target three logic implementation styles:
(i) multi-output (where outputs and next-state may share products), (ii) output-disjoint
(where products are shared among outputs, but not between outputs and next-state),
and (iii) single-output (where no product terms are shared between
any output functions). The motivation is that the ``single-output style''
is most suitable for performance-optimal designs: each output is individually
optimized. Note that, in asynchronous machines (unlike synchronous), output
latency is often the key parameter to overall system performance in a network
of interacting machines. The ``multi-output style'' is most suitable for area-optimal
designs, since it uses maximal sharing of logic. Finally, the ``output-disjoint
style'' is a balanced compromise.
For modes (ii) and (iii), a novel feature of CHASM is that it produces
exactly optimum two-level output logic, over all critical race-free encodings.
This result holds, because the optimal output-only state encoding problem is
a true ``input encoding problem'', unlike the general optimal state encoding
problem (which is an approximation).
Finally, CHASM targets two distinct cost functions: (i) product
cardinality, and (ii) literal count, at the symbolic level. It does
the latter by performing weighted unate covering during symbolic logic minimization.
This technique is only a heuristic, however, because the literal count of the
final binary cover can only be estimated. In practice, the heuristic nonetheless
yields significant reduction in literal count.
Next: HFMIN
Up: MINIMALIST Tools
Previous: State Minimization
Steven Nowick
1999-07-28