oscillate.html 3.6 KB

123456789101112131415161718192021222324252627
  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>Алгоритм просчёта значений, который обычно работает тихо, без проблем, станет очень заметным, когда вы создадите схему, которая возбуждается.</p>
  9. <center><img src="../../../img-guide/prop-oscillate-before.png" width="387" height="252"></center>
  10. <p>В данный момент эта схема в стабильном состоянии. Но если вы измените значение на входе на 1, то схема фактически войдёт в бесконечный цикл. Через некоторое время Logisim просто сдастся и покажет сообщение "Обнаружено возбуждение", говорящее вам, что он считает, что схема возбуждается.</p>
  11. <center><img src="../../../img-guide/prop-oscillate-error.png" width="481" height="252"></center>
  12. <p>Он будет показывать значения, которые были, когда он сдался. Эти значения будут выглядеть неправильными - на этом снимке экрана элемент И выдаёт 1, хотя на одном из его входов 0; или может быть, что у элемента НЕ на входе и на выходе 1.</p>
  13. <p>Logisim услужливо обводит красным каждое место, которое похоже участвует в возбуждении. Если участвующая точка лежит внутри подсхемы, то Logisim отрисует контур подсхемы красным.</p>
  14. <p>Когда Logisim обнаруживает возбуждение, он останавливает дальнейшее моделирование. Вы можете снова включить моделирование, используя пункт Моделирование включено из меню Моделировать.</p>
  15. <p>Logisim обнаруживает возбуждение с помощью довольно простого метода: если похоже, что при моделировании схемы слишком много итераций, то он просто сдаётся и сообщает о возбуждении. (Точки, которые он определяет как участвовавшие - это те, которые были затронуты как минимум в 25% итераций.) Таким образом, он мог бы ошибочно сообщить о возбуждении, например, если вы работаете с исключительно большой схемой; но она должна быть больше, чем любая построенная мной в Logisim. В любом случае, если вы уверены, что сообщение - ошибка, то вы можете настроить количество итераций, завершённых до появления возбуждения через <a href="../opts/simulate.html">вкладку Моделирование</a> окна <a href="../opts/index.html">Параметры проекта</a>.</p>
  16. <p><strong>Далее:</strong> <a href="shortcome.html">Недостатки</a>.</p>
  17. </body>
  18. </html>