Page 202 - Engineering Digital Design
P. 202

4.8 MINIMIZATION ALGORITHMS AND APPLICATION,                        173


                  4.8.2 Cube Representation and Function Reduction

                  The cube notation is commonly used in CAD programs and, in fact, is the notation that is
                  used in the computer implementation of the Q-M algorithm described in Subsection 4.8.1.
                  In this notation an n-dimensional cube has 2" vertices formed by the intersection of n
                  dimensional lines. Most commonly one thinks of a cube as three-dimensional (a 3-cube)
                         3
                  having 2  = 8 vertices. But the concept is much more general, extending to n dimensions
                  that generally cannot be easily visualized by a geometrical figure.
                    Cube representation is usually based on minterm code. Thus, the minterms of a switching
                  function can be mapped onto the 2" vertices of an n-dimensional cube such that each pair
                  of adjacent vertices differ by exactly one bit position. As an example, consider implicants
                  (2, 3) and (6, 7) listed in the Q-M example of Fig. 4.44. In minterm code cube notation, these
                  implicants would be represented as (0010, 001 1) and (01 10, 01 1 1), respectively. Reduction
                  of these implicants to PI (r-cube) form occurs between adjacencies (adjacent vertices) as
                  follows:

                         0010 + 0011 =001- = WXY and 0110 + 0111 = Oil- = WXY

                  or, finally,

                                                   -) = 0- l- = WY,

                  where 0 represents the complemented variable, 1 is the uncomplemented variable, and the
                  "— " symbol represents an irrelevant input variable (representing both 1 and 0). Thus, in gen-
                                                                         r
                 eral, an r-cube of an n-variable function is produced by combining 2  adjacent minterms,
                 thereby eliminating r variables in a function reduction process.


                 4.8.3 Qualitative Description of the Espresso Algorithm
                 The two-level minimization algorithm called Espresso belongs to a class of minimization
                 algorithms that use heuristic logic methods as opposed to the linear exhaustive PI search
                 of the Q-M method. In effect, all heuristic methods group, expand and regroup adjacent
                 minterms over a number of iterations until an optimal or near-optimal grouping, called the
                 irredundant set, is found. The exact strategies used and the order in which they are used
                 depends on the particular algorithm.
                    Though a detailed description of the Espresso algorithm is beyond the scope of this text,
                 the principal steps involved can be qualitatively understood by the K-maps in Fig. 4.46. Here,
                 the four basic steps of the Espresso algorithm are represented by four fourth-order K-maps
                 labeled ORIGINAL, REDUCE, EXPAND and IRREDUNDANT. The ORIGINAL function,
                 plotted in Figure 4.46a, is the graphical equivalent to the PI table of the Q-M method since
                 it represents the largest number of prime implicants, that is, six Pis. The original function
                 is then regrouped to form a smaller (REDUCED) number of prime implicants (four Pis)
                 in Fig. 4.46b and then EXPANDED (RESHAPED) to form four Pis by eliminating two
                 Pis. Notice that the cardinality is preserved in the REDUCE-to-EXPAND step. Finally, an
                 IRREDUNDANT set is found by regrouping and eliminating yet another PI, resulting in only
                 three EPIs. This irredundant set is said to have minimum cardinality, that is, minimum cover.
                    The Espresso algorithm just described qualitatively is usually called Espresso-II. Since its
                 inception, various improvements have been made, adding to the speed and multiple-output
   197   198   199   200   201   202   203   204   205   206   207