stringtranslate.com

Опасность (логика)

В цифровой логике опасность представляет собой нежелательный эффект , вызванный либо дефектом системы, либо внешними воздействиями как в синхронных , так и в асинхронных схемах . [1] : 43  Логические опасности — это проявления проблемы, при которой изменения входных переменных не приводят к правильному изменению выходных данных из-за той или иной формы задержки, вызванной логическими элементами (элементы НЕ , И , ИЛИ и т. д.). Это приводит к логика не выполняет свою функцию должным образом. Три различных наиболее распространенных вида опасностей обычно называют статическими, динамическими и функциональными опасностями.

Опасности — это временная проблема, поскольку логическая схема со временем перейдет к желаемой функции. Поэтому в синхронных проектах стандартной практикой является регистрация выходного сигнала схемы до того, как он будет использоваться в другом тактовом домене или выведен из системы, чтобы опасности не вызывали никаких проблем. Однако если это не так, крайне важно устранить опасности, поскольку они могут оказать влияние на другие подключенные системы.

Статические опасности

Статическая опасность – это изменение состояния сигнала дважды подряд, когда ожидается, что сигнал останется постоянным. [1] : 48  При изменении одного входного сигнала выходной сигнал мгновенно изменяется, прежде чем стабилизироваться до правильного значения. Существует два типа статических опасностей:

В правильно сформированной двухуровневой логике И-ИЛИ, основанной на выражении суммы произведений, не будет никаких опасностей статического 0 (но все же могут быть опасности статической 1). И наоборот, в реализации выражения «Произведение сумм» по схеме «ИЛИ-И» не будет опасностей статического 1 (но все равно могут присутствовать опасности статического 0).

Наиболее часто используемый метод устранения статических опасностей — добавление избыточной логики (согласованных условий в логическом выражении).

Пример статической опасности

Рассмотрим несовершенную схему, которая страдает от задержки в физических логических элементах, то есть логических элементах И и т. д.

Простая схема выполняет функцию, отмечая:

Из взгляда на пусковую схему видно, что если бы не было задержек, то схема функционировала бы нормально. Однако не бывает двух одинаковых ворот. Из-за этого несовершенства задержка для первого вентиля И будет немного отличаться от его аналога. Таким образом, при изменении входных данных e возникает ошибка, и решение этой проблемы мы будем искать в карте Карно . Двое ворот показаны сплошными кольцами, а опасность можно увидеть под пунктирным кольцом. Теорема, доказанная Хаффманом [2], говорит нам, что добавление избыточного цикла «BC» устранит опасность.

Итак, наша первоначальная функция теперь такая:

Теперь мы видим, что даже с несовершенными логическими элементами наш пример не будет проявлять признаков опасности, когда A меняет состояние. Эту теорию можно применить к любой логической системе. Сейчас большую часть этой работы выполняют компьютерные программы, но для простых примеров быстрее выполнить отладку вручную. Когда входных переменных много (скажем, 6 или более), становится довольно сложно «увидеть» ошибки на карте Карно.

Динамические опасности

Динамическая опасность — это серия изменений состояния сигнала, которые происходят несколько раз подряд, тогда как ожидается, что сигнал изменит состояние только один раз. [1] : 48  Динамическая опасность – это возможность изменения выходных данных более одного раза в результате одного изменения входных данных.

Динамические опасности часто возникают в более крупных логических схемах, где к выходу (от входа) идут разные маршруты. Если каждый маршрут имеет разную задержку, то быстро становится ясно, что существует вероятность изменения выходных значений, которые отличаются от требуемых/ожидаемых выходных данных.

Например, логическая схема предназначена для изменения состояния выхода с 1 на 0 , но вместо этого меняется с 1 на 0 , затем на 1 и, наконец, останавливается на правильном значении 0 . Это динамическая опасность.

Как правило, динамические опасности устранить сложнее, но учтите, что если все статические опасности устранены из цепи, динамические опасности возникнуть не могут.

Функциональные опасности

В отличие от статических и динамических опасностей, функциональные опасности вызваны изменением более чем одного входа. Конкретного логического решения по их устранению не существует. Один действительно надежный метод — предотвратить одновременное изменение входных данных, что в некоторых случаях неприменимо. Таким образом, схемы должны быть тщательно спроектированы, чтобы иметь равные задержки на каждом пути. [3]

Другие

Комбинационные логические опасности
В комбинационной логике есть опасности, которые зависят от распределения задержек распространения сигналов в логических схемах и общей конструкции реализуемой логической схемы функции . [1] : 43 
Комбинированные функциональные опасности
В комбинационной логике есть опасности, которые можно обнаружить и подавить на более высоком уровне программирования путем изучения и изменения функции выходной логики. [1] : 43 
Последовательные опасности
Это своего рода нежелательные изменения сигнала, встречающиеся в закольцованных системах. [1] : 43 

Смотрите также

Рекомендации

  1. ^ abcdef Лопес, Джереми (26 ноября 2018 г.) [2017]. «Разработка инновационной энергонезависимой интегральной схемы GALS (глобально асинхронной локально синхронной) для космических приложений» (PDF) . Университет Монпелье.
  2. ^ Хаффман, Д.А. (1957), «Проектирование и использование безопасных коммутационных сетей», Журнал ACM , J. ACM 4, 47, 4 : 47–62, doi : 10.1145/320856.320866 , S2CID  1765037
  3. ^ «Опасности». www.ee.surrey.ac.uk . Проверено 17 марта 2018 г.