Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Конкурентный и дифференциальный метод моделирования неисправностей
13.1 Конкуррентный метод моделирования неисправностей
Этот метод является наиболее общим методом моделирования цифровых схем с неисправностями [13.1]. Он, как и предыдущий, является одношаговым, то есть для данного входного набора выявляются сразу все проверяемые неисправности. Он позволяет обрабатывать различные типы моделей схем, неисправностей, задержек и сигналов. Метод основан на том, что в процессе моделирования значения сигналов на большинстве линий неисправных схем совпадают со значениями исправной схемы. Конкурентный метод явно моделирует исправную схему (все ее логические элементы) и для каждой неисправности обрабатывает только те элементы, значения сигналов на которых отличаются от соответствующих значений в исправной схеме. Такие расхождения для каждого элемента собираются в специальный список. В отличие от дедуктивного метода список неисправностей здесь ассоциируется не с линией схемы, а с логическим элементом. При этом список включает не только те неисправности, которые вызывают неправильное значение сигнала на выходе элемента, но и такие, при которых значения сигналов отличны от исправного устройства и на входах элемента. Такой список называют суперсписком неисправностей, так как он обычно существенно шире соответствующего списка дедуктивного метода моделирования.
В конкурентном методе все неисправности обрабатываются наравне с исправными устройствами, то есть для неисправности включенной в суперсписок, выполняется моделирование данного элемента явно. Каждый элемент суперсписка включает в себя номер неисправности и значения сигналов на входах и выходах этого элемента при данной неисправности.
Например, на рис. 13.1 представлен в графическом виде суперсписок неисправностей для вентиля [13.2]. Здесь вверху представлен логический элемент со значениями сигналов в исправной схеме. Во втором сверху элементе показано, что при неисправности номер 3 имеют место значения сигналов . Соответственно третий элемент списка показывает, что для неисправности номер 5 . Заметим, что одинаковые значения сигналов при неисправностях номер 3 и 5 допускаются. Аналогично для последнего элемента списка имеем . Отметим, что только последняя неисправность номер 111 попала бы в список дедуктивного моделирования, связанного с линией c. Как видно из примера, элементы в суперсписке сортируются по номерам неисправностей для более эффективной обработки и хранения в связанных списках либо в последовательных массивах.
Так как суперсписок шире списка, используемого в дедуктивном методе, то затраты памяти в этом методе выше при конкурентном методе. В дедуктивном методе явно (непосредственно) моделируются только те элементы, которые исправны. В конкурентном методе явно моделируются те элементы, значения входов или выходов которых отличны от значений исправных схем. В параллельном методе элементы в исправных и неисправных схемах моделируются явно даже в тех случаях, если значения сигналов у них совпадают.
В качестве примера рассмотрим моделирование фрагмента схемы, представленного на рис. 13.2. На нем представлены в графическом виде суперсписки вентилей схемы для входного набора . Здесь с вентилем ассоциируется список с константными неисправностями , , и , при которых значения на входах или выходе элемента отличны от исправной схемы. Заметим, что только при неисправности значение выхода элемента отлично от исправного. Поэтому эта неисправность распространяется далее по схеме (она включается в суперсписки вентилей и ).
Далее рассмотрим изменение суперсписков, которое происходит вследствие изменения входного набора . В результате имеем следующие суперсписки, показанные на рис. 13.3.
Видно, что в исправной схеме значение выхода вентиля не изменяется. При неисправности вентиль моделируется явно и его выход изменяется с 1 на 0. Заметим, что это событие распространяется далее и попадает в суперсписок, связанный с вентилем . Очевидно, что неисправность надо добавить в суперсписок (поскольку при ней значения сигналов отличаются от значений исправной схемы). При неисправности значение сигналов на всех линиях вентиля совпадает с исправным устройством. Поэтому исключается из суперсписка . Аналогично обрабатываются суперсписки для вентилей и .
Из этого примера видно, что основными процедурами в конкурентном методе является внесение влияний неисправностей, сужение и расширение суперсписков, обработка последователей элемента [13.3]. Перед началом моделирования проводится инициализация, в процессе которой все неисправности схемы вносятся в соответствующие суперсписки. Это делается локально - для каждого элемента в его суперсписок включаются неисправности, при которых входы и выходы элемента имеют значения сигналов, отличные от значений исправной схемы. Далее в процессе моделирования влияние этих неисправностей распространяется по схеме. Как мы видели на примере, элемент в суперсписке может стать идентичным элементу в исправном устройстве, когда значения их сигналов на всех входах и выходах совпадают. Тогда этот элемент должен быть исключен из суперсписка, который при этом сужается. При этом совпадение сигналов у исправных и неисправных элементов может произойти по двум причинам:
- изменение сигналов неисправного элемента;
- изменение сигналов исправного элемента.
В первом случае для всех неисправных элементов, которые были промоделированы, должно быть выполнено сравнение с исправными элементами и в случае совпадения соответствующий элемент исключается из списка. Эта ситуация представлена на рис. 13.4 а).
Во втором случае для всех элементов суперсписка неисправностей должно быть выполнено сравнение с неисправным элементом. Эта ситуация представлена на рис. 13.4 б). Очевидно, рассматриваемые процедуры требуют затрат на поиск элементов и просмотр списка, включение и исключение элементов из него. Аналогично, при какой-либо неисправности в процессе моделирования значения сигналов элемента могут стать отличными от значений сигналов исправного устройства. Тогда в суперсписок должен быть включен соответствующий элемент, что ведет к расширению списка. Неисправности, при которых значения выходов отличаются от выходов исправных элементов, включаются в суперсписки элементов-последователей. Если изменились значения элемента в исправной схеме, то кандидатами на включение в список являются неисправности этого элемента. Эта ситуация представлена на рис. 13.5.
Так как в конкурентном методе моделирование элемента при каждой неисправности выполняется явно и независимо от других неисправностей, то в нем можно использовать самые эффективные модели элементов, такие как табличные и функциональные.
Далее сравним параллельный, дедуктивный и конкурентный методы моделирования по следующим критериям:
- быстродействие;
- затраты памяти;
- возможность использования многозначных алфавитов;
- возможность использования функциональных моделей;
- способность использования различных моделей задержек.
Параллельный и дедуктивный методы моделирования достаточно эффективны в двоичном алфавите. Обобщение параллельного метода на троичный алфавит выполняется достаточно просто - при этом как мы видели быстродействие уменьшается, а затраты памяти увеличиваются в два раза. Обобщение дедуктивного метода на троичный алфавит выполняется уже сложнее и требует значительного увеличения ресурсов. Обобщение параллельного и дедуктивного метода на многозначные алфавиты также возможно, но требует значительного увеличения вычислительных ресурсов. Структура данных и реализация алгоритмов в параллельном и дедуктивном методах существенно зависит от значности используемого алфавита моделирования.
Оба метода частично допускают использование функциональных моделей логических элементов. Это возможно только в том случае, когда функционирование элементов может быть описано с помощью булевых функций.
Напротив конкурентный метод моделирования относительно легко допускает использование многозначных алфавитов и переход на функциональный уровень: структура данных и реализация алгоритма слабо зависят от значности алфавита. Более того, этот метод допускает использование различных, в том числе более адекватных, моделей задержек, поскольку в нем каждый неисправный элемент обрабатывается индивидуально.
Мы уже отмечали, что дедуктивный метод эффективнее параллельного для больших схем. Экспериментальные исследования показали, что конкурентный метод по быстродействию превосходит дедуктивный. Это обуславливается следующими факторами. В конкурентном методе реализуется событийность не только по значениям сигналов и спискам, но и по неисправностям. В конкурентном методе активными являются только отдельные неисправные элементы, а в дедуктивном часто заново вычисляются списки неисправностей.
Недостатками конкурентного метода являются большие затраты памяти и сложность реализации алгоритма, поскольку он использует обработку больших динамичных списков.
Известны работы, в которых предпринималась попытка объединить преимущества всех трех методов.