Page 441 - Engineering Digital Design
P. 441

9.3 DETECTION AND ELIMINATION HAZARDS                               411























                                                                              K Output
                  FIGURE 9.18
                 BDD for function K in Eq. (9.21) that can be used to show enabling paths of input A to output K as
                 in Figs. 9.16band9.16c.



                  A, respectively. Notice that the dynamic hazards continue to occur even after input X is
                 changed from logic 1 to logic 0. This is predictable from Fig. 9.16c, since the enabling paths
                 for input A, BXYZ and BXYZ, are satisfied in both cases. Input conditions other than these
                 enabling paths for A would not allow production of the dynamic hazards. As indicated by
                 the K* waveform in Fig. 9.17, static hazard cover cannot be used to eliminate a dynamic
                 hazard.
                    The enabling paths for input A, shown in Figs. 9.16b and 9.16c, can also be deduced
                 from the BDD in Fig. 9.18 for function K in Eq. (9.21). However, somewhat greater effort
                 is needed to obtain this information from the BDD owing to its nature. For example, the
                 enabling paths of A required to produce the dynamic hazards are seen to be ABXYZ and
                 ABXYZ, yielding K = 0 and K = 1, respectively, with active X. Similarly, for X the enabling
                 paths of A are observed to be ABXYZ and ABXYZ for K = 1 and K = 0, respectively. The
                 static 1 and static 0 hazards due to coupled variable A are deduced from the BDD in a
                 similar manner.
                    A few points need to be remembered when using LPDD and/or BDD graphical means
                 to obtain the enabling paths of coupled variables.

                    • The LPDD should be used to identify the coupled variable and any asymmetry
                     that may exist in the alternative paths.
                    • The LPDD or a BDD can be used to deduce the enabling paths for that coupled
                     variable.
                    • A BDD must be constructed for each coupled variable, whereas a single LPDD
                     can be used for all coupled variables.
                    • Both logic values of the coupled variable must be considered when using either
                     the LPDD or BDD, but only for the LPDD must account be taken of blocked
                     paths.
   436   437   438   439   440   441   442   443   444   445   446