Page 630 - Engineering Digital Design
P. 630

600                              CHAPTER 12/MODULE AND BIT-SLICE DEVICES



                    Eq. (12.10),

                                      D A = (ABC) 0 C 0 D = D @ (AB + C),

                    in literal form, which can be proved by applying the laws of XOR algebra in Section 3.11.
                      A cursory inspection of Eq. (12.12) and Table 12.1 indicates that the maximum number
                    of XOR operations is three, independent of ALFSR counter size, but only after simplifying
                    by application of Eqs. (3.25) and (3.13). Fortunately, three XOR operations can be handled
                    very easily by a standard four-input, even-parity generator module such as that in Fig. 6.32c.
                    The problem is, of course, in dealing with the large number of ANDed complements present
                    in the correction functions. If CMOS logic is permitted, the multiple input NOR gate in
                    Figure 8.46 can be used to great advantage. It has no fan-in limitations.
                      Table 12.1 and Eq. (12.12) apply to right-shifted ALFSR counters that sequence through
                    all 2" pseudo-random states and that are initialized into the all-zero state. Table 12.1 and
                    Eq. (12.12) can also be applied to left-shifted ALFSR counters if the Qj outputs are in-
                    terpreted in "reverse" fashion such that <2o is the MSB and Q n-\ the LSB. The corrected
                                                            Q n-2 • Qn-\) © f(Q') by omitting <2o,
                    feedback function now becomes (Q\ • Q 2
                    where /(Q') is the feedback function in Table 12.1 interpreted in reverse order. For example,
                    <2o © Qi ® Qi © Q4 = A 0 C © D 0 E for n = 8 .


                    12.5 ASYNCHRONOUS (RIPPLE) COUNTERS

                    All counters discussed in Sections 12.3 and 12.4 are classified as synchronous counters
                    because the flip-flops, of which the counters are constructed, are all triggered simultaneously
                    or very nearly so. Counters composed of T flip-flops that are triggered in series are called
                    ripple counters. Each T flip-flop is triggered off of the output from the next LSB flip-flop.
                    For this reason, they are classified as asynchronous counters even though the LSB flip-flop
                    is triggered by the external CK signal.
                      Shown in Fig. 12.38a is a general divide-by-2" ripple counter composed of toggle modules
                    of the type shown in Fig. 12.12c, a toggle module being nothing more than a divide-by-2
                    counter. Notice that the Q(H) output of each toggle module is the input to the FET clock
                    of the next MSB stage. In Fig. 12.38b is the timing diagram for the three LSB stages of
                    this ripple counter. The count, taken from outputs Q n-\ • • • QiQ\ <2o is shown to be in
                    ascending binary, an up-count, and that frequency is divided beginning with f CK + 2 for
                    <2o and ending with /CK -+- 2" for Q n-\. A sanity input permits the counter to be initialized
                    into the 0 • • • 000 state.
                      The direction of the count (Dn = 1 for down count and Dn = 0 for up count) of any
                    ripple counter can be altered by making any odd number of changes in the expression
                                            Dn = RET © Q CK 0 QOUT-                   (12.13)


                    In this equation, RET = 1 for RET flip-flops or RET = 0 for FET flip-flops, Q CK = 1 if
                    triggering is from Q(H) of the next LSB stage or Q CK — 0 if triggering is from Q(L), and
                    QOUT = 1 if the count is read from Q(H) or QOUT = 0 if read from Q(L). Thus, any odd
                    number of changes (parameters or operators) in Eq. (12.13) changes the count direction.
                    For example, if RET toggle modules are used in Fig. 12.38a, a down-count occurs. Thus,
   625   626   627   628   629   630   631   632   633   634   635