home *** CD-ROM | disk | FTP | other *** search
- PROTECTING HAZARD TERMS IN AN EQUATION
-
- Hazard terms must sometimes be specifically included in the reduced logic.
- Most logic reduction methods remove hazard terms, assuring the greatest
- level of logic reduction, but the circuit may no longer behave correctly.
- The REDUCTION keyword is a good way to ensure that hazard terms are not
- reduced out of equations. The reference guide shows equations that use
- hazard terms. The reduction method chosen will determine if the hazard
- terms are protected in an equation.
-
- |EP600 io:(COUNT[3..0], CLK, DOWN, UP, L, D, Q)
-
- This portion of the design is a four-bit up/down counter. The REDUCTION
- keyword is used to force McBoole reduction; if Algebraic Reduction were
- used, too many product terms would be needed for the final equations.
-
- | Reduction 2: COUNT[3..0]
- |
- | Registers: CLK // COUNT[3..0]
- |
- | Map: COUNT[3..0] -> COUNT[3..0]
- | { n -> n+1, UP & DOWN' |Count up
- | n -> n-1, DOWN & UP' |Count down
- | n -> n, DOWN & UP |Hold
- | n -> 0, DOWN'& UP' } |Reset
-
- This portion of the design is a transparent latch (see the reference
- guide). It requires that hazard terms be left intact, so McBoole
- reduction cannot be used. "REDUCTION 1" is used to force Algebraic
- Reduction and leave the hazard terms intact.
-
- | Reduction 1: Q
- |
- | Q = (L&D) # (Q & (L&D')')
-
- If a Reduction method is not specified for a signal in the text of the PLD
- description, then the default reduction method from the configuration
- table, the environment, or the command line will be used.
-
-