Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОТД №3 - Метод ЭНФ (2015) (1)

.pdf
Скачиваний:
4
Добавлен:
17.07.2022
Размер:
679.53 Кб
Скачать

Федеральное агентство железнодорожного транспорта Федеральное государственное бюджетное

образовательное учреждение высшего профессионального образования «ПЕТЕРБУРГСКИЙ

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА I»

_____________________________________________________________

Кафедра «Автоматика и телемеханика на железных дорогах»

ПОСТРОЕНИЕ ТЕСТОВ ДЛЯ КОМБИНАЦИОННЫХ СХЕМ НА ЛОГИЧЕСКИХ ЭЛЕМЕНТАХ

МЕТОДОМ ЭКВИВАЛЕНТНОЙ НОРМАЛЬНОЙ ФОРМЫ

Методические указания к практическому занятию №3

по дисциплине «Основы технической диагностики»

САНКТ-ПЕТЕРБУРГ ПГУПС

2015

Цель практического занятия – изучение метода эквивалентной нормальной формы для построения тестов комбинационных логических схем.

1 Неисправности в комбинационных схемах

В логических устройствах автоматики и вычислительной техники возникают неисправности – физические дефекты внутри аппаратуры [1]. Примерами неисправностей являются обрывы и короткие замыкания проводников тока.

На рис. 1 изображена структура логического элемента НЕ, а также указаны пути протекания токов при подаче на вход элемента логического сигнала x=1. Если напряжение на входе элемента Uвх=0, то транзистор закрыт (находится в режиме отсечки) и напряжение на выходе UвыхEк (логическое состояние «1»). При некотором отрицательном напряжении на входе открывается переход эмиттер – база, протекают базовый iб и коллекторный iк токи и транзистор переходит в режим насыщения (рис. 1, а). Потенциал на выходе при этом будет близок к потенциалу земли (Uвых≈0 – состояние «0»). Если в схеме логического элемента присутствует физический дефект, например, обрыв в цепи базы транзистора (рис. 1, б), то на выходе логического элемента устанавливается постоянное значение напряжения UвыхEк. При подаче на вход элемента значения x=1 изменения значения на выходе y не произойдет.

а)

 

 

 

 

б)

 

 

–Ек

 

 

 

 

–Ек

Rк

 

 

iк

 

обрыв

Rк

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=0

 

 

 

 

y=1

 

 

 

 

 

 

 

 

iб

VT

Uвых выход

 

VT

выход

x=1

 

x=1

 

 

 

 

 

 

R

 

 

вход

R

 

вход Uвх

 

 

 

 

 

 

Rсм

 

 

Rсм

 

см

см

Рис. 1. Работа логического элемента НЕ: а) без дефектов; б) при наличии дефекта

Рассмотренный выше пример показывает влияние неисправностей на работу элементов автоматики – обрыв в цепи базы транзистора приводит к установлению константы 1 на выходе элемента. Данная неисправность будет обнаружена только при подаче на вход значения сигнала x=1, так как при этом на выходе не произойдет изменения значения сигнала.

Далее рассматривается модель константных неисправностей. Константная неисправность фиксирует на выходе логического элемента постоянное зна-

1

чение 0 или 1, независимо от значений сигналов, подаваемых на его входы. Модель константных неисправностей по статистике покрывает 80–95% физических дефектов (в зависимости от технологии изготовления) [1].

В данной практической работе рассматривается метод построения тестов для константных неисправностей, возникающих в комбинационных схемах, построенных на логических элементах, основанный на понятии эквивалентной нормальной формы (ЭНФ) – математической модели комбинационных схем.

2 Метод эквивалентной нормальной формы

Шаг. 1. Получение эквивалентной нормальной формы для заданной схе-

мы.

Рассмотрим следующий способ получения ЭНФ для заданной схемы [1 – 3]. В схеме выделяются уровни элементов, каждый элемент нумеруется, а также вводятся обозначения функций на каждом логическом элементе (рис. 2). Например, в рассматриваемом примере 6 логических элементов (они обозначены как Gi, i – номер элемента), разделенных на 4 уровня. Функции на выходах логических элементов обозначены как q, t, m, n, k.

 

4 уровень

 

G5

 

a

1

q

 

 

 

b

 

 

 

G6

 

c

&

t

 

 

 

d

 

 

3 уровень

2 уровень

1 уровень

G3

 

 

 

&

m

 

G1

 

 

 

 

1

 

 

 

 

 

 

f

G4

 

G2

 

1

n

1

k

 

 

Рис. 2. Комбинационная схема, с указанием уровней элементов

Для получения ЭНФ необходимо провести ее описание, начиная с элемента 1 уровня и заканчивая элементом последнего уровня. При этом на каждом уровне выход каждого логического элемента определяется через входы с указанием номера логического элемента.

Для рассматриваемой схемы последовательность шагов для получения ЭНФ следующая. На первом уровне определяется значение функции через вхо-

ды логического элемента G1:

 

f k m 1.

(1)

Здесь скобки с указанием индекса «1» соответствуют функции, реализуемой на выходе элемента G1.

2

f a b 5 cd 6 4 2 a b 5 cd 6 3 1.
f q t 4 2 qt 3 1.

На втором уровне определяется выражение для функции на линии k через

функцию на линии n и функцию логического элемента G2:

 

f n 2 m 1.

(2)

На третьем уровне определяются выражения для функций на линиях n и m, через функции линий q и t:

(3)

Заключительным этапом является определение функций q и t через входные переменные:

(4)

Для получения ЭНФ заданной логической схемы в конечном выражении необходимо выполнить преобразования с использованием формул де Моргана, а также удалить лишние скобки и индексы у скобок, приписав буквам индексы тех скобок, внутри которых они находятся.

Преобразования по формулам де Моргана для выражения (4) дают следующий результат:

f a b 5 cd 6

a b 5 cd 6 3 a b cd

ab 5 c d 6

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 2

 

 

 

 

1

 

 

 

 

 

 

 

5

6 4 2

1

(5)

 

 

 

 

a b 5 cd 6 4 2

 

 

 

5

 

 

 

 

 

 

6 3 1.

 

 

 

 

 

 

ab

c

d

 

 

Припишем индексы скобок в выражении (5) к соответствующим буквам и

получим запись формулы в дизъюнктивной нормальной форме:

 

 

 

 

 

 

f a b 5 cd 6 4 2

 

 

 

 

5

 

 

 

 

 

 

6 3 1

 

 

 

 

 

 

ab

c

d

 

 

 

 

a5,4,2,1 b5,4,2,1 c6,4,2,1d6,4,2,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6)

 

 

a5,3,1

b5,3,1

c6,3,1

d6,3,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a5,4,2,1c6,4,2,1d6,4,2,1

b5,4,2,1c6,4,2,1d6,4,2,1 a5,3,1 b5,3,1 c6,3,1

a5,3,1 b5,3,1 d6,3,1.

 

 

Выражение (6) и есть ЭНФ для заданной схемы.

Для каждой буквы ЭНФ в виде индексов приписан набор цифр, соответствующих номерам логических элементов, через которые проходит сигнал от какого-либо входа заданной схемы к ее выходу (см. рис. 2). Другими словами, у каждой буквы xi указан путь прохождения сигнала от входа xi к выходу схемы.

Для упрощения записи введем обозначения путей на схеме:

1 – 5,3,1;

2 – 5,4,2,1;

3 – 6,3,1;

4 – 6,4,2,1.

С учетом введенных обозначений ЭНФ принимает вид:

 

 

 

 

 

 

f a5,4,2,1c6,4,2,1d6,4,2,1 b5,4,2,1c6,4,2,1d6,4,2,1 a5,3,1b5,3,1 c6,3,1 a5,3,1b5,3,1 d6,3,1

 

(7)

a2c4d4 b2c4d4 a1b1 c3 a1b1 d3.

Если в ЭНФ исключить все индексы, то мы получим логическое выражение, реализуемое заданной схемой:

 

 

 

 

 

 

f acd bcd abc abd.

(8)

3

Шаг. 2. Формирование контрольного множества неисправностей для заданной логической схемы.

Под контрольным множеством неисправностей понимается множество неисправностей, проверка которых позволяет обеспечить проверку всех неисправностей из заданного класса. В данной работе рассматривается модель константной неисправности логического элемента. На первом этапе получения контрольного множества неисправностей на заданной логической схеме указываются константные неисправности входов и выходов всех внутренних логических элементов (рис. 3). Если выход логического элемента напрямую (без точек ветвления) связан с входом другого логического элемента, то следует указать только константные неисправности выхода первого элемента. Например, на рис. 3 так сделано для элементов G3 и G1, G2 и G1, G4 и G1. Неисправности выходов логических элементов G3 и G2 одновременно являются и неисправностями входов логического элемента G1, неисправности выходов логического элемента G4 являются неисправностями входов логического элемента G2. Если в схеме присутствуют точки ветвления, то на схеме следует указывать как неисправности выходов, так и входов логических элементов, имеющих соединения входов и выходов. Например, в заданной схеме из-за наличия точек ветвления элементы G5 и G6 имеют неисправности выходов, отличные от неисправностей входов элементов G3 и G4.

 

G5

a

1

 

b

 

 

G6

c

&

 

d

 

G3

 

&

G1

 

 

1

 

f

G4

G2

1

1

Рис. 3. Заданная комбинационная схема с нанесенными неисправностями

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

Эквивалентными являются такие неисправности, обнаружение которых происходит на одинаковых тестовых наборах. На рис. 4, а) приведены наиболее часто используемые на практике логические элементы с отмеченными неисправностями на их входах и выходах. Рассмотрим логический элемент «И». Если на каком-либо из его входов зафиксировать логический сигнал 0, то этот же сигнал будет установлен и на выходе. Определение неисправности происходит

4

при подаче на входы тестовой комбинации <11>. При этом по выходу невозможно определить, где возникла неисправность – на каком входе или выходе? Такие неисправности удобно объединять с помощью ребер графа неисправностей. При построении проверяющего теста для всех эквивалентных неисправностей достаточно найти тестовые комбинации для проверки только одной из неисправностей.

Другим видом отношений между неисправностями являются импликантные неисправности. Неисправность Ni находится в отношении импликации к неисправности Nj (отношении «включения»), если все тестовые наборы для неисправности Ni также являются и тестовыми наборами для неисправности Nj, однако, при этом неисправность Nj может быть обнаружена и хотя бы на одном другом наборе. На рис. 4, б) в виде ориентированных ребер (дуг) показаны импликантные неисправности для наиболее часто используемых логических элементов. Например, неисправности типа «константа 1» входов логического элемента обнаруживаются при подаче на входы тестовых наборов <01> и <10>. В этом случае при исправности самого логического элемента на его выходе возникнет искажение 0 в 1. Оба этих набора также являются тестовыми для неисправности выхода. В контрольное множество неисправностей включаются только те импликантные неисправности, на графе неисправностей из вершин которых исходит дуга (от которых направлена стрелка).

 

 

a)

 

 

1

&

1

&

1

 

 

б)

 

 

 

&

1

&

1

Рис. 4. Отношения неисправностей на входах и выходах логических элементов: а) эквивалентные неисправности; б) импликантные неисправности

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

Алгоритм 1. Сокращение контрольного множества неисправностей.

1.Вершинам графов соответствуют неисправности в схеме, а ребра и дуги обозначают отношения между неисправностями.

2.Ребрами соединяются эквивалентные неисправности, а дугами – импликантные неисправности.

3.Нумеруют все изолированные вершины (в такие вершины не входит и не выходит ни одного ребра или дуги). Неисправности, соответствующие изолированным вершинам, не имеют отношений между другими

5

неисправностями, поэтому должны быть включены в контрольное множество.

4.Нумеруют все неисправности, из вершин которых выходят дуги (от которых направлена стрелка на графе). В рассматриваемом примере это неисправности №1, 2, 4, 5, 7, 8, 10, 11 и 12 (см. рис. 5).

5.Среди эквивалентных неисправностей нумеруют только одну. Для заданной схемы это неисправности №3, 6, 9, 12.

6.Если хотя бы к одной эквивалентной неисправности направлена дуга, то ни одну из эквивалентных неисправностей не нумеруют. Для при-

мера, это неисправность типа «константа 1» на выходе элемента G3 заданной схемы.

7.Все неисправности, к которым направлены дуги не нумеруются. Процесс сокращения контрольного множества неисправностей представ-

лен на рис. 5. Для заданной схемы вместо 28 неисправностей следует рассматривать только 12 неисправностей, указанных на рис. 5, а).

Шаг. 3. Построение таблицы путей и проекций.

Таблица путей строится для контрольного множества неисправностей, полученного на предыдущем шаге, с использованием ЭНФ (формула 7).

По строкам таблицы путей и проекций записываются буквы ЭНФ, а по столбцам – номера и виды неисправностей, входящих в контрольное множество.

Алгоритм 2. Заполнение таблицы путей и проекций.

1.На пересечении i-го столбца и j-ой строки в клетке таблицы проставляется 0 или 1, если неисправность, соответствующая i-му столбцу, лежит на пути, соответствующем j-ой строке.

2.В клетке таблицы записывается фиксация неисправности в проекции

еена ЭНФ:

если вид неисправности – константа 0, – то в клетке таблицы ставится 0, в том случае, если на данном пути после неисправности имеется четное число инверсий, и 1 – если на данном пути после неисправности имеется нечетное число инверсий;

если вид неисправности – константа 1, – то в клетке таблицы ставится 1, в том случае, если на данном пути после неисправности имеется четное число инверсий, и 0 – если на данном пути

после неисправности имеется нечетное число инверсий.

Табл. 1 представляет собой таблицу путей и проекций для заданной схемы. Рассмотрим процесс заполнения табл. 1 на примере неисправности №2. Неисправность №2 имеет вид – константа 0. Данная неисправность лежит на путях 1 – 5,3,1 и 2 – 5,4,2,1 и относится к входу логического элемента G5, куда подается значение входной переменной b. Таким образом, 0 или 1 необходимо поставить в клетки таблицы, находящиеся на пересечении строк b1 b5,3,1 и

b2 b5,4,2,1 . После неисправности по пути 1 – 5,3,1 имеется одна инверсия (число

6

нечетное), значит, в клетку таблицы необходимо проставить значение проекции неисправности – 1. После неисправности по пути 2 – 5,4,2,1 имеется две инверсии (число четное), значит, в клетку таблицы необходимо проставить значение проекции неисправности 0.

 

 

G5

 

 

 

a

 

1

 

7

G3

 

 

 

 

1

 

 

 

 

 

 

&

b

 

 

3

 

 

 

8

 

2

 

 

 

 

 

 

 

 

 

 

 

 

9

G4

 

 

 

 

 

 

4

G6

 

 

1

c

 

 

10

 

&

6

 

 

 

 

 

 

5

 

 

11

 

d

 

 

 

 

a)

G1

1

f

G2

1

12

 

 

б)

1

 

7

 

 

 

3

8

2

 

 

 

 

 

9

4

 

10

 

6

 

12

5

 

 

11

 

 

 

 

в)

 

 

7

 

3

8

 

 

1

 

 

2

 

10

11

4

9

5

6

12

Рис. 5. Определение контрольного множества неисправностей: а) сокращение множества неисправностей путем построения графа;

б) графы неисправностей; в) выделение графов неисправностей

7

Таблица 1

Таблица путей и проекций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер и вид неисправности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буквы ЭНФ

1

2

3

4

5

6

7

8

9

10

11

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

const 0

const 0

const 0

const 1

const 1

const 1

const 1

const 1

const 0

const 0

const 0

const 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2 a5,4,2,1

0

 

1

 

 

 

 

 

 

1

 

0

 

c4 c6,4,2,1

 

 

 

1

 

0

 

 

 

 

1

0

 

d4 d6,4,2,1

 

 

 

 

1

0

 

 

 

 

1

0

b2 b5,4,2,1

 

0

1

 

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1 a5,3,1

1

 

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b1 b5,3,1

 

1

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c3 c6,3,1

 

 

 

0

 

1

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d3 d6,3,1

 

 

 

 

0

1

 

1

0

 

 

 

Шаг. 4. Получение функций неисправностей.

С использованием таблицы путей и проекций для каждой неисправности из контрольного множества получают функции неисправностей. Для этого необходимо в ЭНФ заданной схемы внести проекции неисправностей из таблицы путей и проекций – вместо буквы в ЭНФ записывается значение проекции. К примеру, для неисправности №2 необходимо в ЭНФ вместо букв b1 и b2 запи-

сать b1 1 и b2 0 . После подстановки значений проекций неисправностей из

ЭНФ удаляются индексы, и производится упрощение записи. Функции неис-

правностей для рассматриваемой схемы имеют вид:

f1 a2 0 c4d4

 

 

 

 

 

 

 

 

 

 

 

1 b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b2c4d4

a1

c3

a1b1 d3

bcd bc abd;

 

b2

0 c4d4

 

 

 

 

 

 

 

 

 

1 c3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f2 a2c4d4

a1

b1

a1b1 d3

 

acd ac abd;

f3 a2 1 c4d4 b2 1 c4d4

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0 c3

 

 

 

 

0

 

 

 

0 d3

cd ;

a1

b1

a1

b1

f4 a2 c4 1 d4

b2 c4 1 d4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

b1

c3

a1

b1

d3

ad bd abd;

f5 a2c4 d4 1 b2c4 d4

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

b1

c3

a1

b1

d3

 

ac bc abc;

f6 a2 c4 0 d4 0 b2 c4

 

 

0 d4 0

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

a1

b1

c3

a1

b1

d3

ab;

 

a2c4d4

b2c4d4

 

 

 

1

 

1 c3

 

 

 

 

 

 

 

1

 

1 d3

acd bcd

 

 

 

;

f7

a1

b1

a1

 

b1

c

d

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1 acd bcd

 

 

 

f8

a2c4d4

b2c4d4

a1b1

c3

a1

b1

d3

ab;

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

0 acd bcd ;

f9

a2c4d4

b2c4d4

a1b1

c3

a1

b1

d3

 

f10 a2 1 c4d4 b2 1 c4d4 a1b1 c3 a1b1 d3 cd abc abd;

f11 a2 c4 1 d4 1 b2 c4 1 d4 1 a1b1 c3 a1b1 d3 a b abc abd;

f12 a2 0 c4 0 d4 0 b2 0 c4 0 d4 0 a1b1 c3 a1b1 d3 abc abd.

8

Шаг. 5. Построение таблицы функций неисправностей.

Таблица функций неисправностей необходима для получения проверяющих функций φi для каждой неисправности. Проверяющая функция φi равна единице тогда и только тогда, когда на данном входном наборе <abcd> i-ая неисправность проявляется на выходе (значение функции с неисправностью не совпадает со значением функции без неисправности). Другими словами, если на наборе <abcd> функция φi=1, то данный набор является тестовым для данной неисправности.

Для вычисления проверяющей функции используется операция «сложения по модулю два» (функция «исключающее ИЛИ», XOR) [4]:

i f fi .

(9)

Правила работы с функцией «сложение по модулю два» заданы таблицей истинности (табл. 2).

Таблица 2

Таблица истинности функции «сложение по модулю два»

f

fi

φi

 

 

 

0

0

0

 

 

 

0

1

1

1

0

1

 

 

 

1

1

0

 

 

 

Таблица функций неисправностей (табл. 3) имеет 16 строк, соответствующих входным наборам <abcd>. На каждом входном наборе рассчитаны значения функции, реализуемой схемой без ошибки, и все функции, реализуемые схемой с неисправностями из контрольного множества.

9