Анализ рисков сбоя в конечном автомате и способы их устранения

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:04, 14 мая 2016.

Введение

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

Для оценки рисков сбоя широкое распространение получили следующие методы:

  • использование временных диаграмм, в том числе асинхронное моделирование на их основе;
  • графический метод Хаффмана;
  • использование многозначной логики, для которой, как и для булевой алгебры, справедливы принципы ассоциативности и коммутативности;
  • использование двоичной алгебры;
  • получают развитие методы, основанные на аппарате дифференциальных булевых уравнений.

В данной статье рассмотрены методы многозначной логики, которые основаны на использовании кроме значений 0 и 1 булевой алгебры различных представлений событийных сигналов: трехзначная и восьмизначная модели. Согласно условию, необходимо промоделировать заданные схемы, убедиться в присутствии рисков сбоя и устранить их методом тактирования и методом стробирования.

Вариант 1

Дана схема из логических элементов:

Рис. 1. Исходная схема

Функция, которую она реализует:

Проанализировав заданную схему методом восьмизначного моделирования[1], получили следующие наборы, на которых возникают риски сбоя:

Таблица 1. Анализ рисков сбоя
Наборы Вход Импликанты Выход
X6 X5 X4 X3 X2 X1 Y1 Y2 Y3 Y4 Y Статический риск сбоя
0 0 0 0 0 0 1 0 0 0 1
0\10 0 0 + 0 + 0 1 + +
10 0 0 1 0 1 0 1 1 1 0 1
X6 X5 X4 X3 X2 X1 Y1 Y2 Y3 Y4 Y Динамический риск сбоя
58 1 1 1 0 1 0 1 1 1 0 1
58\2 - - - 0 1 0 -
2 0 0 0 0 1 0 1 0 0 1 0

Для анализа рисков сбоя построим схему в Multisim 12.0:

Рис. 2. Схема в Multisim 12.0

При исследовании схемы используется Word Generator в качестве устройства, подающего необходимые чередующиеся наборы для выявления рисков сбоя.

Результаты моделирования для набора 0-10:

Рис. 3. Временные диаграммы 0-10

Для набора 58-2:

Рис. 4. Временные диаграммы 58-2

Как видно по выходу Y, наблюдаются статический и динамический риски сбоя.

На временной диаграмме динамического риска сбоя по спаду в промежутке между переходами 58-2 и 2-58 добавлен нулевой сигнал для наглядного отображения того факта, что риск сбоя присутствует (без подачи 0 сигнала его просто не будет видно).

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

Рис. 5. Элементы, создающие задержку

Восьмизначная логика

Как было выявлено в результате теоретического анализа, статический риск сбоя возникает при переходе из состояния 0 в состояние 10, динамический риск сбоя возникает при переходе с набора 58-2.

Устранение

Метод тактирования. Для устранения рисков сбоя методом тактирования добавим в цепь задержку в 130 нс. Задержку используем с момента переключения сигналов на входах схемы. Выходной сигнал запоминается в D-триггер по сигналу тактирования после завершения всех переходных процессов в схеме.

Рис. 6. Схема с задержкой

По результатам моделирования риски сбоя были успешно устранены, в чем можно убедиться, посмотрев на временную диаграмму логического анализатора:

Рис. 7. Временная диаграмма с устраненным статическим риском сбоя
Рис. 8. Временная диаграмма с устраненным динамическим риском сбоя

На временной диаграмме видно, что сигнал сдвинут по времени – особенность метода тактирования. В добавок к этому, на временной диаграмме динамического риска на тактируемом сигнале Y_takt отображается 0-импульс, добавленный для наглядного отображения динамического риска.

Метод стробирования. В методе стробирования cтробирующий импульс подается после окончания переходного процесса в комбинационной схеме (т.е. когда на выходе комбинационной схемы уже установилось необходимое значение выходного сигнала), что исключает влияние возможных сбоев на вырабатываемый схемой сигнал. Для этого добавим элемент «Логическое И» и необходимую задержку в 130 нс:

Рис. 10. Схема с задержкой и логическим "И"

В результате моделирования риски сбоя устранены успешно методом стробирования. Убедимся в этом согласно показаниям логического анализатора:

Рис. 11. Временная диаграмма с устраненным статическим риском сбоя
Рис. 12. Временная диаграмма с устраненным динамическим риском сбоя

По временным диаграммам видно, что сигнал сдвинут по времени – особенность метода стробирования. На временной диаграмме динамического риска сбоя видно также, что 0-импульс, который подавался с Word Generator, внес свой вклад в формирование сигнала.

Главным отличием метода тактирования от метода стробирования является тот факт, что сигнал, «очищенный» тактовым импульсом, лишь запоминается в регистр, а не «очищается» совсем (как в методе стробирования). В целом два метода похожи между собой, но предпочтительнее устранять риски сбоя методом стробирования в силу «чистоты» сигнала и меньших затрат на реализацию метода.

Вариант 2

Исходная схема в Electronic Workbench:

Рис. 13. Исходная схема

Проанализировав заданную схему методами трехзначного и восьмизначного моделирования, получили следующие наборы, на которых возникают риски сбоя:

Таблица 2. Анализ рисков сбоя
Наборы Вход Импликанты Выход
X4 X3 X2 X1 Y1 Y2 Y Динамический риск сбоя
15 1 1 1 1 0 1 0
15\0 1/2 1/2 1/2 1/2 1/2 1/2 1/2
0 0 0 0 0 1 1 1
X4 X3 X2 X1 Y1 Y2 Y Статический риск сбоя
9 1 0 0 1 1 0 0
9\1 1/2 0 0 1 1/2 1/2 1/2
1 0 0 0 1 0 1 0
X4 X3 X2 X1 Y1 Y2 Y Статический риск сбоя
1 0 1 1 1 1 0 0
1\0 0 - - 1 - + S0
0 0 0 0 1 0 1 0
X4 X3 X2 X1 Y1 Y2 Y Динамический риск сбоя
0 0 0 0 0 1 1 1
0\10 + 0 + 0 S1 - D-
10 1 0 1 0 1 0 0

Трехзначная логика. Статический риск сбоя

Промоделируем схему в Electronic Workbench:

Рис. 14. Временные диаграммы

Как видно по временным диаграммам работы схемы, при переключении из состояния 1001 в 0001 возникает сбой S.

Устранение

Метод стробирования. Добавим на выходе элемент "логическое И".

Рис. 15. Метод стробировавния

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 1001 в 0001 устранен (без устранения – выход Y0, с уcтранением, выход Y).

Рис. 16. Метод стробировавния. Временные диаграммы

Метод тактирования. Добавим на выход схемы запоминающее устройство – D-триггер.

Рис. 17. Метод тактирования

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 1001 в 0001 устранен (без устранения – выход Y0, с уcтранением, выход Y).

Рис. 18. Метод тактирования. Временные диаграммы

Динамический риск сбоя

Заменим элемент ИЛИ-НЕ на следующую подсхему, где каждый из элементов имеет собственное время задержки:

Рис. 19. ИЛИ-НЕ

Тогда схемы будет выглядеть следующим образом:

Рис. 20. Схема

Получаем следующие временные диаграммы:

Рис. 21. Временные диаграммы

Устранение

Метод стробирования. Добавим на выходе логический элемент "И".

Рис. 22. Добавление элемента И

Получаем следующие временные диаграммы:

Рис. 23. Временные диаграммы

Как видно из диаграмм, динамический риск сбоя при переходе из состояния 1111 в состояние 0000.

Метод тактирования. Добавим на выходе D-триггер.

Рис. 24. Схема

Получаем следующие временные диаграммы:

Рис. 25. Временные диаграммы

Как видно из диаграмм, динамический риск сбоя при переходе из состояния 1111 в 0000 был удален.

Восьмизначная логика. Динамический риск сбоя

Заменим элемент ИЛИ-НЕ на следующую подсхему:

Рис. 26. Схема. Добавление элемента ИЛИ-НЕ

где каждый из элементов имеет собственное время задержки. Тогда схемы будет выглядеть следующим образом:

Рис. 27. Схема.

Получаем следующие временные диаграммы:

Рис. 28. Временные диаграммы.

Метод стробирования. Добавим на выходе элемент И.

Рис. 29. Схема.

Получаем следующие временные диаграммы:

Рис. 30. Временные диаграммы.

Как видно из временных диаграмм риск сбоя D- при переходе из состояния 0000 в 1010 устранен.

Метод тактирования. Добавим на выходе D-триггер.

Рис. 31. Схема.

Получаем следующие временные диаграммы:

Рис. 32. Временные диаграммы.

Как видно из диаграмм, динамический риск сбоя D- при переходе из состояния 0000 в состояние 1010 был удален.

Статический риск сбоя S

Рис. 33. Схема.

Построим временные диаграммы.

Рис. 34. Временные диаграммы.

Как видно из временных диаграмм, получаем статический риск сбоя S0 при переходе из состояния 0111 в состояние 0001.

Устранение

Метод стробирования. Добавим на выходе элемент И.

Рис. 35. Схема.

Построим временные диаграммы.

Рис. 36. Временные диаграммы.

Как видно из диаграмм, статический риск сбоя S0 при переходе из состояния 0111 в состояние 0001 был устранен.

Вариант 3

Исходные схемы:

Рис. 37. Исходная схема для 3-значной логики
Рис. 38. Исходная схема для 8-значной логики

Итоговые функции:

Проанализируем схему на наличие рисков сбоя.

Таблица 3. Анализ рисков сбоя
Наборы Вход Импликанты Выход
X4 X3 X2 X1 D1 D2 Y Динамический риск сбоя
2 0 0 1 0 0 0 0
2\13 1/2 1/2 1/2 1/2 1/2 1/2 1/2
13 1 1 0 1 0 0 1
X4 X3 X2 X1 D1 D2 Y Статический риск сбоя
3 0 0 1 1 0 1 1
3\13 1/2 1/2 1/2 1 1/2 1/2 1/2
13 1 1 0 1 0 0 1
X4 X3 X2 X1 Y1 Y2 Y Статический риск сбоя
14 1 1 1 0 1 1 1
14\8 1 - - 0 - S1 S1
0 0 0 0 1 0 1 1
X4 X3 X2 X1 Y1 Y2 Y Динамический риск сбоя
14 1 1 1 0 1 0 0
14\8 1 - - 0 - S0 D+
8 1 0 0 0 0 0 1

Трехзначная логика. Динамический риск сбоя

Рис. 39. Временные диаграммы

Как видно по временным диаграммам работы схемы, при переключении из cостояния 0010 в 1101 возникает сбой D.

Устранение

Метод стробирования. Добавим на выходе элемент "логическое И".

Рис. 40. Метод стробирования

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 0010 в 1101 устранен.

Рис. 41. Метод стробирования. Временные диаграммы

Метод тактирования. Добавим на выход схемы запоминающее устройство – D-триггер.

Рис. 42. Метод тактирования

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 0010 в 1101 устранен.

Рис. 43. Метод тактирования. Временные диаграммы

Трехзначная логика. Статический риск сбоя

Рис. 44. Временные диаграммы

Как видно по временным диаграммам работы схемы, при переключении из cостояния 0011 в 1101 возникает сбой S.

Устранение

Метод стробирования. Добавим на выходе элемент "логическое И".

Рис. 45. Метод стробировавния

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 0011 в 1101 устранен.

Рис. 46. Метод стробирования. Временные диаграммы

Метод тактирования. Добавим на выход схемы запоминающее устройство – D-триггер.

Рис. 47. Метод тактирования

Рассмотрим временные диаграммы. Как видно из временных диаграмм риск сбоя при переходе из состояния 0011 в 1101 устранен.

Рис. 48. Метод тактирования. Временные диаграммы

Восьмизначная логика. Динамический риск сбоя

Рис. 49. Временные диаграммы.

Метод стробирования. Добавим на выходе элемент И.

Рис. 50. Метод стробирования.

Получаем следующие временные диаграммы:

Рис. 51. Временные диаграммы.

Как видно из временных диаграмм риск сбоя D+ при переходе из состояния 1100 в 1011 устранен.

Метод тактирования. Добавим на выходе D-триггер.

Рис. 52. Метод тактирования.

Получаем следующие временные диаграммы:

Рис. 53. Временные диаграммы.

Как видно из диаграмм, динамический риск сбоя D+ при переходе из состояния 1100 в 1011 был удален.

Статический риск сбоя S

Рис. 54. Временные диаграммы.

Как видно из временных диаграмм, получаем статический риск сбоя S1 при переходе из состояния 1110 в состояние 1000.

Устранение

Метод стробирования. Добавим на выходе элемент И.

Рис. 55. Метод стробирования.

Построим временные диаграммы.

Рис. 56. Временные диаграммы.

Как видно из диаграмм, статический риск сбоя S1 при переходе из состояния 1110 в состояние 1000 был устранен.

Метод тактирования. Добавим на выходе D-триггер.

Рис. 57. Метод тактирования.

Получаем следующие временные диаграммы:

Рис. 58. Временные диаграммы.

Как видно из диаграмм, статический риск сбоя S1 при переходе из состояния 1110 в состояние 1000 был устранен.

Примечания