delays.html 3.9 KB

1234567891011121314151617181920212223242526272829
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <title>Задержки логических элементов</title>
  5. </head>
  6. <body bgcolor="FFFFFF">
  7. <h1>Задержки логических элементов</h1>
  8. <p>В качестве примера уровня проработанности алгоритма Logisim рассмотрим следующую схему.</p>
  9. <center><img src="../../../../en/img-guide/prop-const0.png" width="171" height="55"></center>
  10. <p>Она "очевидно" всегда даёт 0 на выходе. Но элементы НЕ не реагируют мгновенно на сигналы на входах в реальности, и в Logisim - тоже. В результате, когда значение на входе этой цепи изменяется с 0 на 1, элемент И будет короткое время видеть 1 на обоих входах, и выдаст на выходе 1 на короткое время. Вы не увидите этого на экране. Но этот эффект можно наблюдать, если мы подадим выход элемента И на тактовый вход D триггера.</p>
  11. <center><img src="../../../../en/img-guide/prop-using-const0.png" width="231" height="68"></center>
  12. <p>Если вы нажмёте на вход чтобы изменить значение с 0 на 1, то на D триггер мгновенно придёт 1, и его значение будет переключаться каждый раз, когда значение на входе схемы меняется с 0 на 1.</p>
  13. <p>Каждый компонент имеет задержку, связанную с ним. Более сложные компоненты, встроенные в Logisim, как правило имеют большие задержки, но эти задержки несколько произвольны и могут не отражать реальность.</p>
  14. <p>С технической точки зрения относительно легко обойтись таким уровнем проработанности в одной схеме. Удачное манипулирование с задержками элементов в подсхемах, однако, является немного более сложным; Logisim пытается справиться с этим, располагая просчитываемые для примитивных компонентов значения в одну очередь, независимо от подсхемы, в которой находится компонент.</p>
  15. <p>(Через <a href="../opts/simulate.html">вкладку Моделирование</a> окна <a href="../opts/index.html">Параметры проекта</a> вы можете настроить Logisim на добавление случайной задержки к просчёту компонента. Это сделано для того, чтобы имитировать неравномерность реальных схем. Например, R-S триггер, построенный с использованием двух элементов ИЛИ-НЕ, будет возбуждаться без этой случайности, так как оба элемента будут обрабатывать свои входы "нога в ногу". Эта случайность отключена по умолчанию.)</p>
  16. <p>Не могу позволить себе сказать, что Logisim всегда правильно обращается с задержками элементов. Но он по крайней мере пытается.</p>
  17. <p><strong>Далее:</strong> <a href="oscillate.html">Ошибки при возбуждении</a>.</p>
  18. </body>
  19. </html>