Опубликован: 06.09.2012 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный университет путей сообщения
Лекция 11:

Последовательное и параллельное моделирование неисправностей

< Лекция 10 || Лекция 11: 123 || Лекция 12 >
Аннотация: Определяются основные задачи моделирования неисправных логических схем. Рассматривается последовательное логическое моделирование неисправностей. Приведен метод параллельного по неисправностям логического моделирования в двоичном и многозначном алфавите. Рассмотрен метод параллельного по входным наборам моделирования неисправностям.

11.1 Задачи моделирования с неисправностями

Моделирование ЦУ с неисправностями является одним из важнейших разделов логического моделирования и используется в системах автоматизированного проектирования и диагностики ДУ при решении следующих задач:

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

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

  • описание логической схемы;
  • описание тестовой входной последовательности;
  • модели и список обрабатываемых неисправностей.

Из рассмотренных в предыдущем разделе моделей неисправностей здесь чаще всего используются одиночные константные неисправности. Процесс моделирования неисправных цифровых схем представлен на рис. 11.1.

Моделирование неисправностей

Рис. 11.1. Моделирование неисправностей

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

По сравнению с моделированием исправных ДУ при моделировании неисправностей нужно дополнительно выполнить следующие действия:

  1. Определение множества моделируемых неисправностей;
  2. Внесение влияния неисправностей;
  3. Распространение влияния неисправностей;
  4. Определение проверяемости неисправностей.

Различают условно проверяемые неисправности и проверяемые неисправности. Неисправность считается условно проверяемой, если в результате моделирования на внешнем выходе в неисправной схеме устанавливается неопределенное значение u, а в исправной - определенное значение 0 или 1. Неисправность считается проверяемой, если в результате моделирования хотя бы на одном внешнем выходе исправной и неисправной схем устанавливаются различные определенные значения. Методы моделирования ДУ с неисправностями, в основном, отличаются различной техникой распространения влияния неисправностей.

11.2 Последовательное моделирование

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

Для исправного устройства моделирование на одном наборе выполняется один раз. В случае неисправного ДУ при наличии N_f неисправностей в наихудшем случае схема моделируется N_f раз, так как необходимо промоделировать N неисправных и одно исправное ДУ. Соответственно, время моделирования может возрасти в N_f+1 раз. Это является основным недостатком данного простого метода. К преимуществам метода можно отнести то, что здесь легко моделировать не только константные неисправности, но и неисправности любого другого типа, которые были рассмотрены в предыдущем разделе. При этом проще учесть такие эффекты присутствия неисправности как состязания, осцилляции и т.п., что вызывает определенные проблемы в других методах. Кроме этого, при таком подходе можно локально моделировать неисправности и на электрическом (аналоговом) уровне. Очевидно, что затраты оперативной памяти при этом методе практически не превышают затрат моделирования исправной схемы. Отметим, что для повышения скорости моделирования при этом методе можно (и удобно) использовать аппаратные ускорители и многопроцессорные системы. В последнее время этот метод все чаще применяется на функциональном уровне, например, для моделирования устройств, описанных на VHDL. Это обуславливается тем, что разработка программ моделирования неисправностей на этом уровне является слишком сложной и чаще проще использовать готовые средства и выполнить моделирование для каждой функциональной неисправности отдельно. Отметим, что некоторые программные средства имеют встроенные средства для внесения функциональных неисправностей.

Однако для повышения эффективности моделирования неисправных схем разработаны специальные методы, которые мы рассмотрим в последующих разделах.

11.3 Параллельное по неисправностям моделирование в двоичном алфавите

В параллельном методе моделирования [11.1,11.4] влияние неисправностей распространяется параллельно для группы схем. При этом в группу входят одна исправная и множество неисправных схем. Метод основан на использовании параллелизма при выполнении поразрядных логических операций в процессе моделировании логических элементов. Если компьютер имеет P-разрядное машинное слово, то обычно одновременно моделируется поведение P схем (одна исправная и P-1 неисправных). Поэтому все неисправности ДУ разбиваются на группы, содержащие по P-1 неисправностей и моделирование схемы выполняется  ]N/P-1[ раз, где N - количество всех неисправностей. Если схема имеет M внешних выходов, то число проходов моделирования ограничено снизу следующим выражением ]N/(P-1)M[. Здесь ] [ означает наименьшее сверху целое число.

Параллельное моделирование.

Рис. 11.2. Параллельное моделирование.

Рассмотрим сначала случай моделирования в двоичном алфавите. При этом каждой линии схемы соответствует одно машинное слово. Внесение влияния неисправностей обычно осуществляется с помощью специальных масок неисправностей. Так, например, неисправность константа 1 вносится путем выполнения операции ИЛИ с маской неисправности, содержащей 1 в разряде, соответствующем этой неисправности. Аналогично неисправность константа 0 вносится с помощью операции И с маской, содержащей 0 в разряде, соответствующем данной неисправности. Рассмотрим 2-входовой вентиль И с константными неисправностями, представленный на рис. 11.2. Допустим, что он является фрагментом некоторой логической схемы. Пусть А, B и C - 4-разрядные (для простоты)машинные слова, хранящие значения сигналов для входов и выхода этого вентиля. Пусть левый разряд представляет исправную схему, остальные биты соответствуют неисправным схемам: второй - неисправности f_{1}, третий - f_{2}, четвертый - f_{3}, как это показано на рис. 11.2. Тогда внесение неисправности на входах выполняется следующим образом:

A=A \& m_0^2= 1111\&1011=1011 и

B=B\vee m_1^3=0000\vee 0010=0010.

Далее выполняется собственно логическая операция вентиля C=A\&B=1011\&0010=0010, и затем вносится влияние неисправности на выходе C=C\vee m_1^4=0010\vee 0001=0011.

Далее приведем пример параллельного моделирования в двоичном алфавите неисправностей для схемы, представленной на рис. 11.3. При этом будем использовать 16-разрядные машинные слова, соответствующие каждой линии схемы для хранения значений сигналов. Рассматриваются только одиночные константные неисправности (число неисправностей может быть сокращено с помощью методов, рассмотренных в предыдущем разделе, но здесь это не важно).

Таблица 11.1.
Испр. a\equiv 0 b\equiv 1 c\equiv 1 d\equiv 0 e\equiv 1 f\equiv 0 f\equiv 1 g\equiv 0 g\equiv 1 h\equiv 0 h\equiv 1 i\equiv 0 i\equiv 1 j\equiv 0 j\equiv 1
a=1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
b=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
c=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
d=1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
f=a\&b 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
g=f\vee c 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0
h=c\&d 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
i=e\vee h 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0
j=g\vee i 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1
+ + + + + + + +
Параллельное моделирование схемы

Рис. 11.3. Параллельное моделирование схемы
< Лекция 10 || Лекция 11: 123 || Лекция 12 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках

Андрей Баранов
Андрей Баранов
Донецк, Донецкий национальный технический университет, 2019
Андрей Чернов
Андрей Чернов
Россия, Ростов-на-Дону, Ростовский институт инженеров железнодорожного транспорта, 1993