Delta Delay:An example w/o Delta Delay-- Notes Page -- |
Let's assume that the above circuit does not specify any delays, and
that there is no delta delay mechanism in the simulator
behavior. In such a case, the order of execution of concurrent events
will be arbitrary. In such a case, if the input to the inverter has a
1 to 0 transition, and the other input to the NAND gate is a constant
1, what is the output of C?
The final answer is, of course, the same. C eventually goes to 0.
However, the transient behavior of the circuit depends on the order in
which the gates are evaluated. If the NAND gate is evaluated first,
no glitch is seen on the output of the AND gate. When A goes to 1, the
output of the NAND gate, being evaluated first, goes to 0. When the
AND gate is then evaluated, its output will also evaluate to 0, which
is its final value.
However, if the AND gate is evaluated first, a glitch is generated
because the NAND gate has not yet been updated to its new value.
Therefore, C initially goes to 1 and will only go to 0 after the NAND
gate drives its output to 0.
Therefore, if the order of execution is arbitrary, the behavior of the
system may be unpredictable. This is generally not an acceptable
situation for modeling.
[Perry94], pp. 22-24.