As you start into sequential circuits, you can no longer assume that circuits work instantaneously. LogicWorks simulates this hazard condition and can even produce a metastable state. One way of running into this problem is to loop an output back to an input (even through additional combinational circuitry). The following example illustrates this.
When the switch is set to
1 the output of the gate is going to be a
1 so there is no hazard condition from the second signal. However, when both inputs are a
1 (which occurs briefly when the switch changes to a
1) then the output is a zero. But if either input to a
NAND gate is a
0 then the gate outputs a
NAND gate causes the other one to change states. This hazard condition lasts forever in LogicWorks and can settle or continue to oscillate depending on the logic family of chips that you are using.
The following is the waveform output of the circuit above
Barry E. Mapen