delays.html 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <html>
  2. <head>
  3. <title>Gate delays</title>
  4. </head>
  5. <body bgcolor="FFFFFF">
  6. <h1>Gate delays</h1>
  7. <p>As an example of the level of sophistication of Logisim's algorithm,
  8. consider the following circuit.</p>
  9. <center><img src="../../../../en/img-guide/prop-const0.png" width="171" height="55"></center>
  10. <p>This "obviously" always outputs 0. But NOT gates don't react
  11. instantaneously to their inputs in reality, and neither do they in
  12. Logisim. As a result, when this circuit's input changes from 0 to 1, the
  13. AND gate will briefly see two 1 inputs, and it will emit a 1 briefly.
  14. You won't see it on the screen. But the effect is observable when we
  15. use the AND gate's output as an input into the clock of a D flip-flop.</p>
  16. <center><img src="../../../../en/img-guide/prop-using-const0.png" width="231" height="68"></center>
  17. <p>Poking the 0 input to become 1 leads to an instantaneous 1 going
  18. into the D flip-flop, and thus the flip-flop's value will toggle
  19. every time the circuit input goes from 0 to 1.</p>
  20. <p>Every component has a delay associated with it. More sophisticated
  21. components built into Logisim tend to have larger delays, but
  22. these delays are somewhat arbitrary and may not reflect reality.</p>
  23. <p>From a technical point of view, it is relatively easy to deal with
  24. this level of sophistication in a single circuit. Dealing with gate
  25. delays well across subcircuits, though, is a bit more complex;
  26. Logisim does attempt to address this correctly by placing all primitive
  27. component's propagation values into a single schedule regardless of the
  28. subcircuit in which the component lies.</p>
  29. <p>(Via the <a href="../opts/index.html">Project Options</a> window's
  30. <a href="../opts/simulate.html">Simulation tab</a>, you can configure Logisim
  31. to add a random, occasional delay to a component's propagation. This is intended
  32. to simulate the unevenness of real circuits. In particular, an R-S latch built
  33. using two NOR gates will oscillate without this randomness, as both gates will
  34. process their inputs in lockstep. This randomness is disabled by default.)</p>
  35. <p>Note that I'm stopping short of saying that Logisim
  36. always addresses gate delays well. But at least it tries.</p>
  37. <p><strong>Next:</strong> <a href="oscillate.html">Oscillation errors</a>.</p>
  38. </body>
  39. </html>