ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.05.2024
Просмотров: 176
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1
12
32
42
52
6
1
1
6
2
1
6
3
1
6
4
1
6
5
1
12 12 12 12 12 12 12 12 32 32 32 12 12 12 32 12 12 32 12 32 42 12 12 32 12 12 12 32 32 12 52 12 12 32 32 12 32 12 12 32 62 12 32 12 12 12 32 12 32 12 72 12 32 12 32 12 32 32 12 12 82 12 32 32 12 32 12 12 12 32 92 12 32 32 32 32 12 12 32 12 2
32 12 12 12 32 12 32 12 12 2
32 12 12 32 32 32 12 12 12 Рис. 223
17. КОМБИНАЦИОННЫЕ СХЕМЫ
319
Упражнения
1. Какое двоичное число подано на вход схемы (рис. 223), если выходное число в десятичном представлении равно) (Б) 10? 2) (ТЫХ) 12? 3) (457) 17? 4) (868) 24?
2. На рис. 223 дан преобразователь двоичного числа в код «2 из 5», работающий в соответствии с табл. 26. Постройте обратный преобразователь. На его входы подаются двоичные коды типа «2 из 5», те. числа (в десятичном представлении 3, 5, 6, 9, 10, 12, 17, 18, 20, 24. На выходе получаются двоичные числа, соответственно 0000, 0001, 0010, …, 1001. Числа, не относящиеся к кодам «2 из 5», на вход преобразователя подаваться не будут, т. е.
их можно рассматривать как неопределенные состояния. Запоминающие элементы для хранения кодов «2 из 5» обозначьте буквами A, B, C, D, выходы схемы —f
1
, f
2
, f
3
, f
4
, где f
1
— выход, соответствующий старшему разряду выходного числа) (АНЕ)! Сколько двоичных разрядов имеет входное число и сколько выходное) (НИХ. Сколько существует состояний, на которых функции, описывающие схему преобразователя, не определены?
17.11.
ПОЛНЫЙ ДЕШИФРАТОР
На практике широко применяется комбинационная схема, получившая название дешифратор (избирательная схема [6]). Дешифратор — это комбинационный преобразователь двоичного разрядного кода в двоичное число, содержащее не более одной единицы. При этом входное разрядное двоичное число обычно совпадает с номером выхода, на котором поддерживается высокий уровень.
Полный дешифратор содержит 2
n
выходов. Каждому выходу соответствует булева функция в виде минтерма n переменных. Например, если n = то схему полного дешифратора образуют следующие восемь минтермов:
0 1
2 3
4 5
6 А В С
f
А ВС
f
АВС
f
АВС
f
АВ С
f
АВС
f
АВС
f
ABC
1 1
1 1
1 1
1 Логическая схема его приведена на рис. 224, из которой видно, что она состоит из восьми логических схем И потри входа каждая.
Условное изображение полного трехвходового дешифратора приведено на рис. 225. Слева на этом рисунке указаны числа 1, 2, 4, обозначающие веса входного трехзначного двоичного кода. На вход 1 необходимо подавать младший разряд входного кода, на вход 4 — старший разряд.
Справа указаны номера выходов. Если входной код равен, то f
0
= 1, а все остальные функции равны нулю. Если на вход подать 001, то f
1
= 1, а все остальные функции равны нулю. Если на вход подать код 010, то f
2
= 1 и т. д.
Рис. 224
17. КОМБИНАЦИОННЫЕ СХЕМЫ
321
Синтез неполного дешифратора проиллюстрируем на примере кода «2 из представленного в табл. 26. Будем считать, что эти коды подаются на входы дешифратора и что нерабочие коды на входы дешифратора подаваться небу дут. Следовательно, их можно рассматривать как неопределенные состояния и использовать при минимизации соответствующих булевых функций.
Так как всего существует 10 входных кодов типа «2 из 5», то и дешифратор должен иметь лишь 10 выходов. Обозначим их f
0
, f
1
, f
2
, …, Логика работы дешифратора представлена в табл. 27. Заполнена она следующим образом. Если на вход дешифратора подать код 00011 (первая строка табл. 27), то, согласно табл. 26, высокий уровень должен быть только на выходе f
0
. В связи с этим в колонке f
0
строки 00011 ставим единицу, а во всех остальных колонках этой же строки записываем нули. Если на вход дешифратора подать код 00101, тов колонке f
1
строки 00101 ставим единицу, а во всех остальных колонках записываем нули. Точно также заполняем все остальные строки таблицы.
Так как входные коды являются пятизначными, то для минимизации необходима карта Вейча пяти переменных. На карте для функции f
0
(рис. 226) крестиками указаны неопределенные состояния (22 числа. Если на наборах 7, 11, 15, 19, 23, 27, 31 функцию доопределить единицами, а на всех остальных нерабочих наборах — нулями, то получим минимальную форму Точно таким же образом находим минимальные формы остальных функций. Полный их список имеет вид DE; f
2
= CD; f
4
= BD; f
6
= AE; f
8
= AC;
f
1
= CE; f
3
= BE; f
5
= BC; f
7
= AD; f
9
= Таким образом, получилась схема, состоящая из десяти двухвходовых логических элементов И.
Упражнения
1. На входы дешифратора подаются четырехразрядные двоичные числа,
являющиеся двоичными эквивалентами десятичных цифр. Постройте схему неполного дешифратора) (330). Укажите нерабочие коды (в виде десятичных чисел в порядке их возрастания) (489). Сколько в схеме дешифратора двухвходовых, трехвходовых и четырехвходовых элементов И) (5ТМ). Укажите наборы (десятичные, на которых функция f
8
доопре
делена единицами (795). На входы дешифратора (см. предыдущее упражнение) подан нерабочий код 1111. Укажите номера выходов, на которых будут высокие уровни напряжения.
Рис. 226
2. Запишите минимальную ДНФ функции, реализуемой однородной средой при n = 3 (рис. 228), если на входы подано) (ЦВХ). N = 1; А В С Р А Q; В С А В С 0;
2) (ФИЛ. N = 0; А А ВВС С А В С А В С 0;
17. КОМБИНАЦИОННЫЕ СХЕМЫ
327
Эту функцию легко реализовать при помощи однородной среды, приведенной на рис. 228, если использовать 2n ячеек и принять N = На рис. 230 приведена комбинационная схема сравнения двух двоичных чисел. Схема представлена в виде ленточной однородной среды. Схема реализует булеву функцию f
n
, принимающую единичное значение при
а
< b. Однородная среда построена на основе рекуррентного выражения вида 1
,
n
n
n
n n
n n
f
B A
B f
A f
1 1
2 где A
n
и В запоминающие элементы, в которых хранятся старшие разряды сравниваемых двоичных чисел.
На вход f
0
первой ячейки необходимо подать низкий уровень, тогда функция f
1
примет вид А В
1
Выход второй ячейки представлен функцией 2
2 1
2 А В А B
1 реализующей сравнение двухразрядных двоичных чисел (совместно спер вой ячейкой).
Для третьей ячейки получаем функцию 3
3 2
3 А В А B
1 реализующей сравнение двух трехразрядных двоичных чисел (совместно с первыми двумя ячейками) и т. д.
17.16.
СХЕМА ЧЕТ НЕЧЕТ»
В подразделе 16.8 приведена схема чет, обеспечивающая проводимость в том случае, когда в единичном состоянии находится четное число контактных элементов. На рис. 172 и 173 раздела Контактные структуры эта схема представлена в виде однородной ленточной среды. Аналогичным образом может быть реализована и логическая схема «четнечет» на бесконтактных элементах И, ИЛИ, НЕ.
Рис. 231
Рис. Рис. 236
17. КОМБИНАЦИОННЫЕ СХЕМЫ
335
По рис. 235 и 236 видно, что схема, формирующая дополнительную цифру (контрольный разряд, отличается от схемы, распознающей одиночные ошибки в принятом коде, лишь числом входов вторая схема содержит на один вход больше, чем первая. Следовательно, если во второй схеме на один из входов подать нулевой уровень напряжения, то она превратится впер вую схему.
Схемы, изображенные на рис. 235 и 236, являются комбинационными,
следовательно, их входы должны быть подключены к выходам триггерных регистров. В первом случае необходим разрядный регистр, во втором —
(n + 1)разрядный.
Упражнения
1. (Б. Укажите номера кодов (n = 8), для которых добавочной (девятой) должна быть цифра 1 (проверка на четность) 00001000;
4) 00000011;
7) 11001101;
2) 01111000;
5) 00000111;
8) 11111111;
3) 11111110;
6) 00000000;
9) 01010101.
2. (Б. Какие из следующих (n + разрядных кодов содержат одиночную ошибку, если n = 6:
1) 0110011;
4) 1110111;
7) 1000000;
2) 0100110;
5) 1001001;
8) 1111111;
3) 0011011;
6) 1110100;
9) 1001111?
3. Представьте выражение (13) в минимальной ДНФ и для n = 8 определите) (Г) число простых импликант;
2) (МБ3) число вхождений аргументов (Г. Сколько существует двоичных 8значных наборов значений аргументов А, А, …, А, на которых функция (13) равна нулю (ШУ. На какие вопросы Вы ответите да) возможны ли случаи, когда код e
1
e
2
e
3
…
e
n
совпадает с кодом А А
2
А
3
… А (риса значение контрольного разряда равно единице, те. говорит о наличии ошибки) верно ли, что функция (14) является симметрической функцией) верно ли, что выражение (13) справедливо только при n четном) верно ли, что выражение (13) справедливо только при n нечетном) верно ли, что выражение (13) справедливо при любом n четном и нечетном) верно ли, что контрольный разряд можно расположить в любом месте кода Передается код 001101100, где слева расположен контрольный разряд. После того как код приняли, оказалось, что e
9
= 1 (рис. 236).
1) (ЮТ. Сколько существует 9значных кодов, для которых e
9
= 1, если считать, что возможны только одиночные ошибки) (ТИН). Сколько существует 9значных кодов, для которых e
9
= 1, если считать, что искажения возможны в любом числе разрядов
17. КОМБИНАЦИОННЫЕ СХЕМЫ
337
Значения e
i
(i = 1, 2, 3, 4) образуют двоичное четырехразрядное число вида e
4
e
3
e
2
e
1
, где e
4
— старший разряд, e
1
— младший. Число e — это и есть искомый номер разряда, в котором произошел сбой. Следовательно, чтобы исправить ошибку, цифру в разряде с номером e необходимо проинвертиро
вать. Если e = 0, то это значит, что ошибки в принятом коде нет (напомним,
что это справедливо только для одиночных сбоев).
Рассмотрим пример.
Пусть требуется передать по каналу связи двоичный код Согласно записи кода x
2
= x
3
= x
5
= x
6
= x
7
= x
8
= x
11
= 1;
x
4
= x
9
= x
10
= Подставив эти значения в выражение (17), найдем контрольные цифры 1
Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = 1;
y
2
= 1
Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = 1;
y
3
= 1
Å 1 Å 0 Å 1 Å 0 Å 0 Å 1 = 0;
y
4
= 1
Å 1 Å 1 Å 1 Å 0 Å 0 Å 1 = Согласно (16) получаем передаваемый код 14 13 12 11 10 9 8 7 6 5 4 3 2 1,
0 1 1 0
1 1 1
0 1 1 1 0 1 1 где числа 1, 2, 3, …, 15 — номера разрядов разрядного кода, подаваемого на вход канала связи.
Допустим, что при передаче этого кода в пятом разряде произошел сбой:
вместо единицы оказался нуль и на приемное устройство поступил код:
100111110100111.
Пронумеруем разряды принятого кода и укажем значения букв x
i
и согласно выражению (16):
11 10 9
8 7
6 5
4 4
3 2
3 1
2 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1
0 0 1 1 1 1 1 0 1 0 0 1 1 1 ,
x
x
x x x x x y x x x y x y Поиск ошибки на приемной стороне осуществляется при помощи выражений (18). Сначала проверим, не находится ли ошибка в левой части принятого кода, те. в разрядах с номерами 8, 9, …, 15. Согласно записи (19):
y
4
= x
5
= x
6
= x
7
= x
8
= x
11
= 1;
x
9
= x
10
= следовательно e
4
= 1
Å 1 Å 1 Å 1 Å 1 Å 0 Å 0 Å 1 = Проверка на четность левой части кода показала, что в соответствующих разрядах ошибки нет
1212
1
1112
112
1 2
1
1211
1
1112
112
1
121212 1232121212 1232121212 121242 1222121242 1222121242 124212 1222421212 4222121212 124242 1232421242 4232121242 421212 4222121212 1222421212 421242 4232121242 12324212242 424212 4232421212 42324212212 424242 4222421242 4222421242 Рис. 240
17. КОМБИНАЦИОННЫЕ СХЕМЫ
343
ячейки между собой, один информационный выходи один соединительный выход, совпадающий с информационным (i = 1, 2, 3, 4, На соединительный вход ячейки старшего разряда необходимо подать низкий (нулевой) уровень напряжения. Если же подать высокий (единичный)
уровень, то каждая цифра выходного кода проинвертируется и на выход преобразователя поступит обратный (проинвертированный, инверсный) код.
Упражнения
1. На вход преобразователя (рис. 240) поступило пятизначное число b в коде Грея. Найдите выходное число в весовой двоичной системе, если) (ЗРЗ) b = 00111;
3) (БК5) b = 01101;
5) (ЕВХ) b = 10001;
2) (291) b = 11011;
4) (294) b = 10111;
6) (ШИК) b = 11100.
2. На соединительный вход левой ячейки (рис. 240) подан единичный уровень напряжения. Найдите выходной код, если входное число b равно) (МЕЛ) b = 10000;
3) (ОЗФ) b = 01010;
5) (459) b = 00000;
2) (ИРН) b = 11111;
4) (БТХ) b = 01110;
6) (128) b = 00010.
17.24.
ПРЕОБРАЗОВАНИЕ
ПРОИЗВОЛЬНОГО РЕФЛЕКСНОГО КОДА
В ДВОИЧНЫЙ ВЕСОВОЙ КОД
Кроме кодов Грея, существует большое число других рефлексных кодов.
Все их можно получить при помощи карты Вейча n переменных, если учесть,
что двоичные номера минтермов, расположенных в соседних клетках карты, отличаются друг от друга только водном разряде (напомним клетки на карте являются соседними, если соответствующие им минтермы склеиваются. Выберем какуюлибо клетку на карте и запишем ее номер. Перейдем в соседнюю клетку и новый номер запишем справа от прежнего и т. д. На рис. 241 показан вариант обхода карты. Если начать с нулевого номера, то получим рефлексный код, представленный в табл. Слева в этой таблице указаны обычные двоичные
(весовые) числа, а справа — соответствующие им невесовые числа рефлексного двоичного кода.
Обычно в таблицах соответствия в левой части записывают входные коды преобразователя, а в правой указывают, во что должны быть преобразованы подаваемые на вход коды. Это значит, что по табл. 30 можно построить преобразователь весовых двоичных кодов в рефлексные. Нов данном случае нас интересует обратная задача — преобразование рефлексного кода в весовой двоичный. Чтобы построить преобразователь рефлексного кода в двоичный весовой, левую и правую части табл. 30 необходимо поменять местами. Получим табл. 31. Буквами A, B, C, D в ней обозначены двоичные разряды входных чисел преобразователя, символами f
1
, f
2
, f
3
, f
4
— его выходы.
Рис. 241
17. КОМБИНАЦИОННЫЕ СХЕМЫ
345
том этого список минимальных ДНФ булевых функций, описывающих комбинационную схему преобразователя, имеет вид 2
3 4
;
;
;
1 1
1 2
1 2
2 2
2
f
AB
f
AB
f
AD
AB
f
CD
BD
A B Замкнутая последовательность чисел рефлексного кода, когда первое и последнее числа отличаются друг от друга также лишь водном разряде, всегда содержит четное количество чисел. Если число кодов в последовательности нечетно, то эта последовательность всегда разомкнута.
Упражнения
1. Постройте комбинационную схему, преобразующую рефлексные коды, 0010, 1010, 1011, 1001, 1101, 1111, 0111, 0101, 0001 в двоичные весовые коды десятичных цифр. Отсутствующие в рефлексном коде двоичные комбинации считать неопределенными состояниями. Входному коду соответствует выходной код 0000. Сколько вхождений неинверсных и сколько инверсных аргументов имеет минимальная ДНФ функции) (ЯРФ) f
1
, 2) (922) f
2
, 3) (АРЗ) f
3
, 4) (734) Здесь функция f
1
соответствует старшему разряду выходного кода Пусть комбинационный преобразователь (см. предыдущее упражнение) построен на основе минимальных ДНФ булевых функций) (ПОЧ Сколько в схеме трехвходовых элементов И Сколько трехвхо
довых элементов ИЛИ) (МОК Сколько в схеме четырехвходовых элементов И Сколько че
тырехвходовых элементов ИЛИ (СИЛ. Укажите номера последовательностей, которые представляют собой разомкнутый рефлексный код) 0001, 0101, 0111, 1111, 1101;
2) 0010, 0011, 0111, 0110, 1110, 1111, 1011, 1010;
3) 0111, 0101, 0001, 0000, 0010, 1010, 1000, 1001;
4) 0000, 0100, 0110, 1110, 0111, 0010, 0011;
5) 1001, 1100, 1010, 1011, 1001;
6) 1100, 1101;
7) 1110, 0110, 0111, 1111;
8) 1110, 1100, 1000, 0000, 0001, 0011, 0111;
9) 1001, 1101, 1011, 110.
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
347
няющих единицу. Затем сформулируем теорему о функциональной полноте и рассмотрим все функции двух переменных. Завершим раздел обзором базовых систем элементарных булевых функций, где каждая система обладает функциональной полнотой.
18.2.
САМОДВОЙСТВЕННЫЕ ФУНКЦИИ
Функция называется самодвойственной, если имеет место равенство 2
1 2
(
,
,...,
)
(
,
,...,
).
n
n
f A
A
A
f A А
А
1
(22)
Согласно определению самодвойственная функция на противоположных наборах значений аргументов принимает противоположные значения. Два набора называются противоположными (взаимно инверсными, если их арифметическая сумма в десятичном представлении есть число 2
n
– 1, где n число разрядов в каждом наборе. По заданному набору найти ему противоположный очень легко достаточно в заданной двоичной последовательности нули заменить единицами, а единицы — нулями. Например, если 01100 заданный набор, то противоположный ему — В левой части табл. 32 перечислены все четырехзначные наборы значений аргументов A, B, C, D, расположенные в возрастающей последовательности, если наборы рассматривать как натуральные числа, представленные в двоичной системе. В таблице наблюдается своеобразная симметрия наборы, расположенные на одинаковых расстояниях от начала и конца таблицы,
являются противоположными. Это значит, что в диапазоне наборов 0000–0111 включительно в колонке, где записываются значения функции, единицы и нули можно располагать произвольно. При этом всякий раз будет получаться самодвойственная функция, если на противоположных наборах всюду записывать противоположные значения функции. В табл. 32 приведены три примера самодвойственных функций B C
ABC
ABC
A C D
ABCD
1 2
2 2
2 2
;
f
A C
A D
A B
B C D
1 2
2 2
(23)
3
f
BC D
BCD
ACD
ACD
1 2
2 Сколько существует самодвойственных функций?
При n = 4 значения функции произвольно выбираются только на восьми наборах, следовательно, всего существует 256 самодвойственных функций четырех аргументов. При n аргументах значения функции произвольно выбираются на половине всех возможных наборов, следовательно, число N самодвойственных функций равно 2 2
n
–1
12345627897
1
11213141 5
1
15
2
15
3
1
12 12121212 323212 32 12121232 323212 42 12123212 123212 52 12123232 123212 62 12321212 323232 72 12321232 123212 82 12323212 323212 92 12323232 321232 2
32121212 123212 2
32121232 121232 312 32123212 321232 332 32123232 121212 342 32321212 321232 352 32321232 321232 362 32323212 121232 372 32323232 121232 1
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
349
18.3.
ЛИНЕЙНЫЕ ФУНКЦИИ
Функция называется линейной, если в алгебре Жегалкина она может быть представлена в виде полинома первой степени (те. без конъюнкций).
Например, функции A
Å B, f
2
= A
Å B Å C Å 1, f
3
= B
Å являются линейными. Функция f = С B содержит конъюнкцию, поэтому не относится к классу линейных.
Если n — число аргументов, то все линейные функции можно получить из выражения а а
1
А
1
Å а
2
А
2
Å…Å а
n
А
n
,
(25)
где А, А, …, Алогические переменные а, а, …, а коэффициенты,
равные нулю либо единице.
Каждому набору коэффициентов соответствует некоторая линейная функция. Так как всего имеется n + 1 коэффициентов, то число M линейных функций равно Например, если n = 0 (логические аргументы отсутствуют, то M = 2. Это значит, что функции константа нуль и константа единица являются линей
ными.
Пусть задана булева функция, выраженная через операции И, ИЛИ, НЕ.
Для того чтобы установить, является ли она линейной, ее необходимо перевести в алгебру Жегалкина. Если после упрощения в полиноме Жегалкина не останется конъюнкций, то, как было сказано выше, заданная функция является линейной. Например B
1 Переведем эту функцию в алгебру Жегалкина:
(1
)(1
)
1 1.
f
AB
A B
AB
A
B
AB
A
B
AB
A
B
1 2
1 3 3 3
1 3 3 3 3 1 3 Таким образом, функция f
AB
A B
1 2
относится к классу линейных.
Класс линейных функций является функционально замкнутым, те. в результате суперпозиции линейных функций будут получаться только линейные функции. Чтобы убедиться в справедливости этого утверждения,
подставим вместо какоголибо аргумента, например А, выражения (25) линейную функцию вида b
0
Å b
1
B
1
Å b
2
B
2
Å…Å Тогда получим = a
0
Å a
1
(b
0
Å b
1
B
1
Å … Å b
k
B
k
)
Å a
2
A
2
Å … Å Очевидно, что при а 0 имеем f
¢ = f, где f — это выражение (25), представляющее собой линейную функцию. Если же а 1, то функция f
¢, если в ней раскрыть скобки, будет содержать конъюнкции только констант, следовательно, ив этом случае функция f
¢ окажется линейной
18.4.
МОНОТОННЫЕ ФУНКЦИИ
Булева функция n аргументов называется монотонной, если при любом возрастании наборов значений аргументов значения функции не убывают Появилось новое понятие — возрастающие наборы. Пусть даны два набора a
1
a
2
… a
n
–1
a
n
; b = b
1
b
2
… b
n
–1
b
n
,
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
351
где a
i
и b
i
(i = 1, 2, 3, …, n) — двоичные значения отдельных разрядов наборов и b. Если одновременно выполняются условия a
1
, b
2
a
2
, …, b
n
–1
a
n
–1
, b
n
то b
a. Говорят, что набор b не меньше набора Наборы, на которых выполняются условия (26), называются сравнимыми. Все остальные наборы называются несравнимыми. Например, относительно наборов
а
= 010010 и b = нельзя сказать, что b
a или a b, так как для первых разрядов b
1
> a
1
, а для вторых a
2
> В вышеприведенном определении монотонной функции говорится только о сравнимых наборах. В связи с этим необходимо отметить, что на несравнимых наборах значения монотонной функции могут и убывать, те. переходить с единичного значения на нулевое. Например, в табл. 33 показано, что при переходе с набора 010 на сравнимый с ним набор 011 функция возрастает, а при переходе с набора на несравнимый с ним набор 100 — убывает.
На несравнимых наборах функция может не только убывать, но и оставаться неизменной.
Всякая монотонная функция имеет единственную минимальную ДНФ,
которая совпадает с сокращенной ДНФ, и единственную минимальную КНФ,
совпадающую с сокращенной КНФ, причем обе формы не содержат инверсных аргументов. Например, в результате минимизации функции (3, 5, 7, 10, 11, 12, 13, 14, получаем минимальные ДНФ и КНФ, в которые все переменные входят без знаков отрицания AB + AC + BD + CD; f = (A + D)(B + Верно и обратное утверждение если в аналитической записи функции отсутствуют инверсные аргументы, то функция является монотонной. Это утверждение можно использовать в качестве критерия для распознавания монотонных функций. Если же распознавание осуществляется при помощи таблицы соответствия, тов общем случае следует проверить все пары наборов, число N которых равно 1
2 1
1 2
2 2
1 2
2
(
)
,
n
n
n
n
n
N
C
1 1
1 2
2 1 2 где n — число двоичных знаков в наборе. Например, в случае трехразрядных наборов необходимо проверить 28 пар, в случае четырехразрядных — и т. д. Очевидно, что метод перебора всех пар наборов достаточно эффективен лишь при использовании компьютера.
Монотонные функции образуют функционально замкнутый класс. Это значит, что никакая система монотонных функций не обладает функциональной полнотой. Доказательство этого утверждения можно найти в [32].
12345627887
1
112131
45
12 121212 12 32 121232 12 42 123212 12 52 123232 32 62 321212 12 72 321232 32 82 323212 32 92 323232 32 1
12
32
42
52
6
1
1
6
2
1
6
3
1
6
4
1
6
5
1
12 12 12 12 12 12 12 12 32 32 32 12 12 12 32 12 12 32 12 32 42 12 12 32 12 12 12 32 32 12 52 12 12 32 32 12 32 12 12 32 62 12 32 12 12 12 32 12 32 12 72 12 32 12 32 12 32 32 12 12 82 12 32 32 12 32 12 12 12 32 92 12 32 32 32 32 12 12 32 12 2
32 12 12 12 32 12 32 12 12 2
32 12 12 32 32 32 12 12 12 Рис. 223
17. КОМБИНАЦИОННЫЕ СХЕМЫ
319
Упражнения
1. Какое двоичное число подано на вход схемы (рис. 223), если выходное число в десятичном представлении равно) (Б) 10? 2) (ТЫХ) 12? 3) (457) 17? 4) (868) 24?
2. На рис. 223 дан преобразователь двоичного числа в код «2 из 5», работающий в соответствии с табл. 26. Постройте обратный преобразователь. На его входы подаются двоичные коды типа «2 из 5», те. числа (в десятичном представлении 3, 5, 6, 9, 10, 12, 17, 18, 20, 24. На выходе получаются двоичные числа, соответственно 0000, 0001, 0010, …, 1001. Числа, не относящиеся к кодам «2 из 5», на вход преобразователя подаваться не будут, т. е.
их можно рассматривать как неопределенные состояния. Запоминающие элементы для хранения кодов «2 из 5» обозначьте буквами A, B, C, D, выходы схемы —f
1
, f
2
, f
3
, f
4
, где f
1
— выход, соответствующий старшему разряду выходного числа) (АНЕ)! Сколько двоичных разрядов имеет входное число и сколько выходное) (НИХ. Сколько существует состояний, на которых функции, описывающие схему преобразователя, не определены?
17.11.
ПОЛНЫЙ ДЕШИФРАТОР
На практике широко применяется комбинационная схема, получившая название дешифратор (избирательная схема [6]). Дешифратор — это комбинационный преобразователь двоичного разрядного кода в двоичное число, содержащее не более одной единицы. При этом входное разрядное двоичное число обычно совпадает с номером выхода, на котором поддерживается высокий уровень.
Полный дешифратор содержит 2
n
выходов. Каждому выходу соответствует булева функция в виде минтерма n переменных. Например, если n = то схему полного дешифратора образуют следующие восемь минтермов:
0 1
2 3
4 5
6 А В С
f
А ВС
f
АВС
f
АВС
f
АВ С
f
АВС
f
АВС
f
ABC
1 1
1 1
1 1
1 Логическая схема его приведена на рис. 224, из которой видно, что она состоит из восьми логических схем И потри входа каждая.
Условное изображение полного трехвходового дешифратора приведено на рис. 225. Слева на этом рисунке указаны числа 1, 2, 4, обозначающие веса входного трехзначного двоичного кода. На вход 1 необходимо подавать младший разряд входного кода, на вход 4 — старший разряд.
Справа указаны номера выходов. Если входной код равен, то f
0
= 1, а все остальные функции равны нулю. Если на вход подать 001, то f
1
= 1, а все остальные функции равны нулю. Если на вход подать код 010, то f
2
= 1 и т. д.
Рис. 224
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Полный дешифратор с четырьмя входами содержит выходов и состоит из 16 схем И, где каждая схема И реализует определенный минтерм четырех аргументов. Полный дешифратор с пятью входами состоит из 32 пятивхо
довых элементов И, с шестью входами — из 64 шестивхо
довых схем И и т. д.
Упражнения
1. (Т. Сколько выходов имеет полный дешифратор,
если число его входов равно 8?
2. (ИР9). Дешифратор имеет пять входов. Какой код подан на вход дешифратора, если на десятом выходе имеется единица, а на всех остальных выходах — нули (САФ). Сколько вхождений аргументов имеет система булевых функций, описывающая работу полного пятивходового дешифратора?
17.12.
СИНТЕЗ НЕПОЛНОГО ДЕШИФРАТОРА
Дешифратор называется неполным, если число его выходов меньше чем, где n — число двоичных разрядов входного кода. Все nзначные коды в этом случае распадаются на два множества. Первое множество образуют рабочие коды. Каждому из них соответствует определенный выход в схеме дешифратора. Второе множество состоит из нерабочих кодов. Для них выходы в схеме дешифратора не предусмотрены. При подаче на входы любого из нерабочих кодов на всех выходах дешифратора устанавливается нулевой уровень напряжения.
Если же условия работы дешифратора таковы, что нерабочие коды на его входы подаваться не будут, то при нахождении минимальных форм булевых функций, описывающих схему дешифратора, нерабочие коды можно использовать как неопределенные состояния.
Рис. 225
12345627897
12
32
42
52
62
7
1
1
7
2
1
7
3
1
7
4
1
7
5
1
7
6
1
7
7
1
7
8
1
7
9
1
7
1
12 12 12 32 32 32 12 12 12 12 12 12 12 12 12 12 12 32 12 32 12 32 12 12 12 12 12 12 12 12 12 12 32 32 12 12 12 32 12 12 12 12 12 12 12 12 32 12 12 32 12 12 12 32 12 12 12 12 12 12 12 32 12 32 12 12 12 12 12 32 12 12 12 12 12 12 32 32 12 12 12 12 12 12 12 32 12 12 12 12 32 12 12 12 32 12 12 12 12 12 12 32 12 12 12 32 12 12 32 12 12 12 12 12 12 12 12 32 12 12 32 12 32 12 12 12 12 12 12 12 12 12 12 32 12 32 32 12 12 12 12 12 12 12 12 12 12 12 12 32 1
Полный дешифратор с четырьмя входами содержит выходов и состоит из 16 схем И, где каждая схема И реализует определенный минтерм четырех аргументов. Полный дешифратор с пятью входами состоит из 32 пятивхо
довых элементов И, с шестью входами — из 64 шестивхо
довых схем И и т. д.
Упражнения
1. (Т. Сколько выходов имеет полный дешифратор,
если число его входов равно 8?
2. (ИР9). Дешифратор имеет пять входов. Какой код подан на вход дешифратора, если на десятом выходе имеется единица, а на всех остальных выходах — нули (САФ). Сколько вхождений аргументов имеет система булевых функций, описывающая работу полного пятивходового дешифратора?
17.12.
СИНТЕЗ НЕПОЛНОГО ДЕШИФРАТОРА
Дешифратор называется неполным, если число его выходов меньше чем, где n — число двоичных разрядов входного кода. Все nзначные коды в этом случае распадаются на два множества. Первое множество образуют рабочие коды. Каждому из них соответствует определенный выход в схеме дешифратора. Второе множество состоит из нерабочих кодов. Для них выходы в схеме дешифратора не предусмотрены. При подаче на входы любого из нерабочих кодов на всех выходах дешифратора устанавливается нулевой уровень напряжения.
Если же условия работы дешифратора таковы, что нерабочие коды на его входы подаваться не будут, то при нахождении минимальных форм булевых функций, описывающих схему дешифратора, нерабочие коды можно использовать как неопределенные состояния.
Рис. 225
12345627897
12
32
42
52
62
7
1
1
7
2
1
7
3
1
7
4
1
7
5
1
7
6
1
7
7
1
7
8
1
7
9
1
7
1
12 12 12 32 32 32 12 12 12 12 12 12 12 12 12 12 12 32 12 32 12 32 12 12 12 12 12 12 12 12 12 12 32 32 12 12 12 32 12 12 12 12 12 12 12 12 32 12 12 32 12 12 12 32 12 12 12 12 12 12 12 32 12 32 12 12 12 12 12 32 12 12 12 12 12 12 32 32 12 12 12 12 12 12 12 32 12 12 12 12 32 12 12 12 32 12 12 12 12 12 12 32 12 12 12 32 12 12 32 12 12 12 12 12 12 12 12 32 12 12 32 12 32 12 12 12 12 12 12 12 12 12 12 32 12 32 32 12 12 12 12 12 12 12 12 12 12 12 12 32 1
17. КОМБИНАЦИОННЫЕ СХЕМЫ
321
Синтез неполного дешифратора проиллюстрируем на примере кода «2 из представленного в табл. 26. Будем считать, что эти коды подаются на входы дешифратора и что нерабочие коды на входы дешифратора подаваться небу дут. Следовательно, их можно рассматривать как неопределенные состояния и использовать при минимизации соответствующих булевых функций.
Так как всего существует 10 входных кодов типа «2 из 5», то и дешифратор должен иметь лишь 10 выходов. Обозначим их f
0
, f
1
, f
2
, …, Логика работы дешифратора представлена в табл. 27. Заполнена она следующим образом. Если на вход дешифратора подать код 00011 (первая строка табл. 27), то, согласно табл. 26, высокий уровень должен быть только на выходе f
0
. В связи с этим в колонке f
0
строки 00011 ставим единицу, а во всех остальных колонках этой же строки записываем нули. Если на вход дешифратора подать код 00101, тов колонке f
1
строки 00101 ставим единицу, а во всех остальных колонках записываем нули. Точно также заполняем все остальные строки таблицы.
Так как входные коды являются пятизначными, то для минимизации необходима карта Вейча пяти переменных. На карте для функции f
0
(рис. 226) крестиками указаны неопределенные состояния (22 числа. Если на наборах 7, 11, 15, 19, 23, 27, 31 функцию доопределить единицами, а на всех остальных нерабочих наборах — нулями, то получим минимальную форму Точно таким же образом находим минимальные формы остальных функций. Полный их список имеет вид DE; f
2
= CD; f
4
= BD; f
6
= AE; f
8
= AC;
f
1
= CE; f
3
= BE; f
5
= BC; f
7
= AD; f
9
= Таким образом, получилась схема, состоящая из десяти двухвходовых логических элементов И.
Упражнения
1. На входы дешифратора подаются четырехразрядные двоичные числа,
являющиеся двоичными эквивалентами десятичных цифр. Постройте схему неполного дешифратора) (330). Укажите нерабочие коды (в виде десятичных чисел в порядке их возрастания) (489). Сколько в схеме дешифратора двухвходовых, трехвходовых и четырехвходовых элементов И) (5ТМ). Укажите наборы (десятичные, на которых функция f
8
доопре
делена единицами (795). На входы дешифратора (см. предыдущее упражнение) подан нерабочий код 1111. Укажите номера выходов, на которых будут высокие уровни напряжения.
Рис. 226
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.13.
МУЛЬТИПЛЕКСОР
Мультиплексор (селектор, согласно [44, с. 145]) — это комбинационная схема, имеющая n адресных входов, информационных входов 0, 1, 2, …,
2
n
– 1 (в случае полного мультиплексора) и один выход f
n
, где индекс n обозначает, что мультиплексор имеет n адресных входов. Если на адресные входы подать nзначное двоичное число i, то выход f
n
подключится к iму информационному входу, те. информация, поступающая на й вход, будет проходить на выход независимо оттого, какие сигналы поступают на остальные информационные входы (i = 0, 1, 2, …, 2
n
– 1). Булева функция, описывающая полный мультиплексор для n = 3, имеет вид 0
1 2
3 4
5 6
7
,
f
Q A B C
Q A BC
Q ABC
Q ABC
Q ABC
Q ABC
Q ABC
Q ABC
1 2
2 2
2 2
2 где Q
0
, Q
1
, Q
2
, …, Q
7
— информационные входы А, В, С — адресные входы,
при этом букве А соответствует старший разряд кода адреса.
Если n = 4, то получим схему полного мультиплексора на 16 информационных входов. Булева функция, описывающая эту схему, имеет вид 0
1 2
15
f
Q A B C D
Q A B CD
Q A BCD
Q ABCD
1 2
2 2 По этим двум функциям видно, что основу мультиплексора составляет дешифратор. Пусть j
0
, j
1
, j
2
, …,
j
7
— выходы полного трехвходового дешифратора. Если к его выходам подключить логическую схему, описываемую булевой функцией вида Q
0
j
0
+ Q
1
j
1
+ Q
2
j
2
+ … + то получим полный мультиплексор на 8 информационных входов.
В общем случае на базе nвходового дешифратора можно построить мультиплексор в соответствии с булевой функцией вида Q
0
j
0
+ Q
1
j
1
+ Q
2
j
2
+ … + где r = 2
n
– Полный мультиплексор кроме своего прямого назначения может быть использован в качестве схемы, реализующей произвольную булеву функцию до n аргументов, что следует из выражения f
n
. Пусть булева функция имеет вид Представим ее в СДНФ:
f
= (1, 3, 9, 11, 12, Для реализации этой функции при помощи мультиплексора достаточно установить на его входах с номерами 1, 3, 9, 11, 12, 13 высокие уровни напряжения, а на всех остальных — низкие. Если теперь на адресные входы подать какойлибо набор значений аргументов, тона выходе получим уровень напряжения в точном соответствии с заданной функцией.
С математической точки зрения, мультиплексор реализует операцию нахождения производной от булевой функции, описывающей структуру этого
17. КОМБИНАЦИОННЫЕ СХЕМЫ
323
мультиплексора, если дифференцирование осуществляется попеременным, обозначающим информационные входы. Например, для функции 0
1 2
3
,
f
Q A B Q A B
Q AB
Q AB
1 2
2 зависящей от шести аргументов A, B, Q
0
, Q
1
, Q
2
, Q
3
, найдем производную попеременной. Остаточные функции имеют вид 0
2 3
0 2
3 2
0 2
3 0
2 3
( , ,
, 0,
,
)
;
( , ,
,1,
,
)
f A B Q
Q Q
Q A B Q AB
Q AB
f A B Q
Q Q
Q A B A B
Q AB
Q AB
1 2
2 1
2 Сумма по модулю два остаточных функций есть искомая производная 1
f
AB
Q
1 2 Из этой записи следует, что если
1,
АВ
1
тот. е. функция f
2
меняет свое состояние одновременно с изменением значения аргумента Следует отметить, что с технической точки зрения реализация булевых функций при помощи мультиплексора является неэффективной даже в том случае, если реализуемая функция имеет наиболее сложную минимальную ДНФ. Примером может служить функция нечет. Эта функция содержит 2
n
–1
минтермов, каждый из которых является простой импликантой
(см. подраздел 16.8). При n = 4 для ее реализации в классе ДНФ требуется 8 че
тырехвходовых элементов И и одна восьмивходовая схема ИЛИ, в то время как соответствующий мультиплексор, описываемый функцией f
4
, состоит из 16 пя
тивходовых элементов И и одной 16входовой схемы ИЛИ. Но если в соответствии с логикой работы некоторого цифрового устройства требуется быстро менять булеву функцию, то применение мультиплексора вполне оправданно.
Мультиплексор называется неполным, если число его информационных входов меньше 2
n
. Как ив случае неполного дешифратора, неиспользуемые адресные коды можно рассматривать как неопределенные состояния и учитывать их при минимизации булевой функции, описывающей схему неполного мультиплексора. В качестве примера рассмотрим мультиплексор с 10 информационными входами 1, 2, 3, 4, 5, 6, 8, 9, 10, 12. Если считать, что остальные шесть кодов (при n = 4) на адресные входы подаваться не будут, то мультиплексор представится минимальной булевой функцией видав классе ДНФ)
4 1
2 3
4 5
6 8
9 10 12
f
Q A B C
Q A B D
Q CD
Q A C D
Q BD
Q BC
Q B C D
Q AD
Q AC
Q AB
1 2
2 2
2 2
2 2
2 Упражнения (ЛВЕ). Сколько вхождений аргументов имеет булева функция f
6
, описывающая схему мультиплексора с 64 информационными входами (ХБФ). Известно, что f
3
= 0, если на адресные входы подавать коды, 011, 100, 110, 111, и f
3
= 1 на всех остальных кодах. Найдите номера информационных входов, на которые поданы высокие уровни (КТ1). Неполный мультиплексор имеет 11 информационных входов, 1, 2, 4, 8, 9, 10, 11, 12, 13, 14. Сколько вхождений аргументов имеет минимальная ДНФ функции, описывающей схему этого мультиплексора
17. КОМБИНАЦИОННЫЕ СХЕМЫ
325
дают функцию
f
AB
ВС
1 Если N = 1, то независимо от состояния всех остальных входов функция примет единичное значение.
Заменим элементы ИЛИ (рис. 228) двухвходовыми элементами И, а элементы И заменим трехвходовыми элементами ИЛИ. Тогда получим однородную среду, реализующую КНФ функции, в которой каждая дизъюнкция содержит до трех переменных N(A
1
+ B
1
+ C
1
)(A
2
+ B
2
+ C
2
) … (A
n
+ B
n
+ где N — вход, предназначенный, как ив случае формулы (5), для подключения предыдущих ячеек, но при их отсутствии может быть самостоятельным входом. При помощи этого входа реализуется функция f = 0 путем подачи на вход N однородной среды низкого уровня напряжения.
Необходимо отметить, что строить однородную среду отдельно для КНФ
нет необходимости, если запоминающие элементы имеют парафазные выходы. Пусть дана функция, представленная в КНФ. Проинвертируем ее по теореме де Моргана. Получим ДНФ инверсии заданной функции, которую можно реализовать при помощи однородной среды (рис. 228). Если выходной сигнал проинвертировать, воспользовавшись элементом НЕ, то получим заданную функцию.
Аналогичным образом может быть реализована ДНФ при помощи однородной среды, построенной на основе функции (В следующих подразделах (17.15–17.18) приведены примеры относительно несложных ленточных однородных сред комбинационного типа, построенных путем тождественных преобразований булевых функций, и представления их в виде рекуррентных соотношений. Вообще же надо отметить, что синтез ячеек для однородных сред относится к тем задачам, для решения которых от разработчика требуется не только знание булевой алгебры, но и определенная изобретательность.
Упражнения
1. (ШВ3). Укажите номера функций, которые могут быть реализованы при помощи однородной среды, приведенной на рис. 228, если n = 4:
1) f = A;
5) f = A + B + C + D + E + F;
2) f = ABC + BCDE + F + K;
6) f = В + E + F + K;
3) f = A + B;
7) f = AB + Е + EFKL + PQ;
4) f = 1;
8) f = A + B + C + D + EFKL.
17.13.
МУЛЬТИПЛЕКСОР
Мультиплексор (селектор, согласно [44, с. 145]) — это комбинационная схема, имеющая n адресных входов, информационных входов 0, 1, 2, …,
2
n
– 1 (в случае полного мультиплексора) и один выход f
n
, где индекс n обозначает, что мультиплексор имеет n адресных входов. Если на адресные входы подать nзначное двоичное число i, то выход f
n
подключится к iму информационному входу, те. информация, поступающая на й вход, будет проходить на выход независимо оттого, какие сигналы поступают на остальные информационные входы (i = 0, 1, 2, …, 2
n
– 1). Булева функция, описывающая полный мультиплексор для n = 3, имеет вид 0
1 2
3 4
5 6
7
,
f
Q A B C
Q A BC
Q ABC
Q ABC
Q ABC
Q ABC
Q ABC
Q ABC
1 2
2 2
2 2
2 где Q
0
, Q
1
, Q
2
, …, Q
7
— информационные входы А, В, С — адресные входы,
при этом букве А соответствует старший разряд кода адреса.
Если n = 4, то получим схему полного мультиплексора на 16 информационных входов. Булева функция, описывающая эту схему, имеет вид 0
1 2
15
f
Q A B C D
Q A B CD
Q A BCD
Q ABCD
1 2
2 2 По этим двум функциям видно, что основу мультиплексора составляет дешифратор. Пусть j
0
, j
1
, j
2
, …,
j
7
— выходы полного трехвходового дешифратора. Если к его выходам подключить логическую схему, описываемую булевой функцией вида Q
0
j
0
+ Q
1
j
1
+ Q
2
j
2
+ … + то получим полный мультиплексор на 8 информационных входов.
В общем случае на базе nвходового дешифратора можно построить мультиплексор в соответствии с булевой функцией вида Q
0
j
0
+ Q
1
j
1
+ Q
2
j
2
+ … + где r = 2
n
– Полный мультиплексор кроме своего прямого назначения может быть использован в качестве схемы, реализующей произвольную булеву функцию до n аргументов, что следует из выражения f
n
. Пусть булева функция имеет вид Представим ее в СДНФ:
f
= (1, 3, 9, 11, 12, Для реализации этой функции при помощи мультиплексора достаточно установить на его входах с номерами 1, 3, 9, 11, 12, 13 высокие уровни напряжения, а на всех остальных — низкие. Если теперь на адресные входы подать какойлибо набор значений аргументов, тона выходе получим уровень напряжения в точном соответствии с заданной функцией.
С математической точки зрения, мультиплексор реализует операцию нахождения производной от булевой функции, описывающей структуру этого
17. КОМБИНАЦИОННЫЕ СХЕМЫ
323
мультиплексора, если дифференцирование осуществляется попеременным, обозначающим информационные входы. Например, для функции 0
1 2
3
,
f
Q A B Q A B
Q AB
Q AB
1 2
2 зависящей от шести аргументов A, B, Q
0
, Q
1
, Q
2
, Q
3
, найдем производную попеременной. Остаточные функции имеют вид 0
2 3
0 2
3 2
0 2
3 0
2 3
( , ,
, 0,
,
)
;
( , ,
,1,
,
)
f A B Q
Q Q
Q A B Q AB
Q AB
f A B Q
Q Q
Q A B A B
Q AB
Q AB
1 2
2 1
2 Сумма по модулю два остаточных функций есть искомая производная 1
f
AB
Q
1 2 Из этой записи следует, что если
1,
АВ
1
тот. е. функция f
2
меняет свое состояние одновременно с изменением значения аргумента Следует отметить, что с технической точки зрения реализация булевых функций при помощи мультиплексора является неэффективной даже в том случае, если реализуемая функция имеет наиболее сложную минимальную ДНФ. Примером может служить функция нечет. Эта функция содержит 2
n
–1
минтермов, каждый из которых является простой импликантой
(см. подраздел 16.8). При n = 4 для ее реализации в классе ДНФ требуется 8 че
тырехвходовых элементов И и одна восьмивходовая схема ИЛИ, в то время как соответствующий мультиплексор, описываемый функцией f
4
, состоит из 16 пя
тивходовых элементов И и одной 16входовой схемы ИЛИ. Но если в соответствии с логикой работы некоторого цифрового устройства требуется быстро менять булеву функцию, то применение мультиплексора вполне оправданно.
Мультиплексор называется неполным, если число его информационных входов меньше 2
n
. Как ив случае неполного дешифратора, неиспользуемые адресные коды можно рассматривать как неопределенные состояния и учитывать их при минимизации булевой функции, описывающей схему неполного мультиплексора. В качестве примера рассмотрим мультиплексор с 10 информационными входами 1, 2, 3, 4, 5, 6, 8, 9, 10, 12. Если считать, что остальные шесть кодов (при n = 4) на адресные входы подаваться не будут, то мультиплексор представится минимальной булевой функцией видав классе ДНФ)
4 1
2 3
4 5
6 8
9 10 12
f
Q A B C
Q A B D
Q CD
Q A C D
Q BD
Q BC
Q B C D
Q AD
Q AC
Q AB
1 2
2 2
2 2
2 2
2 Упражнения (ЛВЕ). Сколько вхождений аргументов имеет булева функция f
6
, описывающая схему мультиплексора с 64 информационными входами (ХБФ). Известно, что f
3
= 0, если на адресные входы подавать коды, 011, 100, 110, 111, и f
3
= 1 на всех остальных кодах. Найдите номера информационных входов, на которые поданы высокие уровни (КТ1). Неполный мультиплексор имеет 11 информационных входов, 1, 2, 4, 8, 9, 10, 11, 12, 13, 14. Сколько вхождений аргументов имеет минимальная ДНФ функции, описывающей схему этого мультиплексора
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.14.
ОДНОРОДНЫЕ СРЕДЫ
Схема называется однородной, если она состоит из одинаковых ячеек,
определенным образом соединенных между собой. Простейшим примером может служить многовходовая схема Ирис. На рис. 227 каждая ячейка содержит один двухвходовый элемент И, все ячейки одинаковы и соединяются между собой, образуя ленточную однородную среду. Если на рис. 227 элементы И заменить элементами ИЛИ, то получится многовходовая схема ИЛИ.
На рис. 228 приведена однородная среда с более сложными ячейками.
В общем виде эта структура обеспечивает реализацию ДНФ булевых функций, в которых число аргументов каждой конъюнкции не превышает 3. Самая сложная из этих функций имеет вид N + A
1
B
1
C
1
+ A
2
B
2
C
2
+ A
3
B
3
C
3
+ … + где N — вход, предназначенный для подключения предыдущих ячеек, но может рассматриваться и как самостоятельный вход.
Функция (5) зависит от 3n + 1 аргументов. При n = 4 получим однородную среду, обеспечивающую реализацию некоторого множества булевых функций до 13 вхождений аргументов. Например, введем подстановки A; А ВАС А D; А Е;
В
1
= СВ СВ СВ С тогда булева функция, реализуемая однородной средой, примет вид A + B + C + D + Подстановки 1
1 2
2 3
3 4
0;
;
;
1;
;
;
1;
0
N
A
A B
B В B
C C
A
A
1 1
1 1
1 1
1 Рис. Рис. 228
17.14.
ОДНОРОДНЫЕ СРЕДЫ
Схема называется однородной, если она состоит из одинаковых ячеек,
определенным образом соединенных между собой. Простейшим примером может служить многовходовая схема Ирис. На рис. 227 каждая ячейка содержит один двухвходовый элемент И, все ячейки одинаковы и соединяются между собой, образуя ленточную однородную среду. Если на рис. 227 элементы И заменить элементами ИЛИ, то получится многовходовая схема ИЛИ.
На рис. 228 приведена однородная среда с более сложными ячейками.
В общем виде эта структура обеспечивает реализацию ДНФ булевых функций, в которых число аргументов каждой конъюнкции не превышает 3. Самая сложная из этих функций имеет вид N + A
1
B
1
C
1
+ A
2
B
2
C
2
+ A
3
B
3
C
3
+ … + где N — вход, предназначенный для подключения предыдущих ячеек, но может рассматриваться и как самостоятельный вход.
Функция (5) зависит от 3n + 1 аргументов. При n = 4 получим однородную среду, обеспечивающую реализацию некоторого множества булевых функций до 13 вхождений аргументов. Например, введем подстановки A; А ВАС А D; А Е;
В
1
= СВ СВ СВ С тогда булева функция, реализуемая однородной средой, примет вид A + B + C + D + Подстановки 1
1 2
2 3
3 4
0;
;
;
1;
;
;
1;
0
N
A
A B
B В B
C C
A
A
1 1
1 1
1 1
1 Рис. Рис. 228
17. КОМБИНАЦИОННЫЕ СХЕМЫ
325
дают функцию
f
AB
ВС
1 Если N = 1, то независимо от состояния всех остальных входов функция примет единичное значение.
Заменим элементы ИЛИ (рис. 228) двухвходовыми элементами И, а элементы И заменим трехвходовыми элементами ИЛИ. Тогда получим однородную среду, реализующую КНФ функции, в которой каждая дизъюнкция содержит до трех переменных N(A
1
+ B
1
+ C
1
)(A
2
+ B
2
+ C
2
) … (A
n
+ B
n
+ где N — вход, предназначенный, как ив случае формулы (5), для подключения предыдущих ячеек, но при их отсутствии может быть самостоятельным входом. При помощи этого входа реализуется функция f = 0 путем подачи на вход N однородной среды низкого уровня напряжения.
Необходимо отметить, что строить однородную среду отдельно для КНФ
нет необходимости, если запоминающие элементы имеют парафазные выходы. Пусть дана функция, представленная в КНФ. Проинвертируем ее по теореме де Моргана. Получим ДНФ инверсии заданной функции, которую можно реализовать при помощи однородной среды (рис. 228). Если выходной сигнал проинвертировать, воспользовавшись элементом НЕ, то получим заданную функцию.
Аналогичным образом может быть реализована ДНФ при помощи однородной среды, построенной на основе функции (В следующих подразделах (17.15–17.18) приведены примеры относительно несложных ленточных однородных сред комбинационного типа, построенных путем тождественных преобразований булевых функций, и представления их в виде рекуррентных соотношений. Вообще же надо отметить, что синтез ячеек для однородных сред относится к тем задачам, для решения которых от разработчика требуется не только знание булевой алгебры, но и определенная изобретательность.
Упражнения
1. (ШВ3). Укажите номера функций, которые могут быть реализованы при помощи однородной среды, приведенной на рис. 228, если n = 4:
1) f = A;
5) f = A + B + C + D + E + F;
2) f = ABC + BCDE + F + K;
6) f = В + E + F + K;
3) f = A + B;
7) f = AB + Е + EFKL + PQ;
4) f = 1;
8) f = A + B + C + D + EFKL.
1 ... 37 38 39 40 41 42 43 44 ... 77
2. Запишите минимальную ДНФ функции, реализуемой однородной средой при n = 3 (рис. 228), если на входы подано) (ЦВХ). N = 1; А В С Р А Q; В С А В С 0;
2) (ФИЛ. N = 0; А А ВВС С А В С А В С 0;
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.15.
СХЕМЫ СРАВНЕНИЯ
ДВУХ ДВОИЧНЫХ ЧИСЕЛ
Примером однородной среды является схема равенства двух двоичных чисел. Пусть А, А, …, Аи В, В, …, B
n
— запоминающие элементы регистров Аи В, в которых хранятся разрядные двоичные числа аи. Числа равны, если цифры в каждой паре разрядов с одинаковыми весами совпадают. Булева функция, описывающая схему равенства, имеет вид 1
1 1
2 2
2 2
(
)(
)...(
).
n
n
n
n
f
A B
A B
A А В А B
1 2
2 Первое скобочное выражение соответствует младшему разряду сравниваемых чисел. Очевидно, что оно примет единичное значение только в том случае, если
А
1
= В 0 либо А В Точно также интерпретируются все остальные скобочные выражения,
каждое из которых относится к определенному разряду чисел аи Однородная среда, соответствующая выражению (7), приведена на рис. Согласно этому выражению для реализации схемы равенства необходимо двухвходовых элементов И, n двухвходовых элементов ИЛИ и одна nвхо
довая схема И. Эта nвходовая схема И рассредоточена на рис. 229 по ячейкам так, как показано на рис. 227. Вход j предназначен для подключения предыдущих ячеек. Если это первая ячейка, то необходимо принять j = Если проинвертировать выражение (7), то получим булеву функцию, описывающую структуру схемы неравенства (
j = 1 при а ¹ b):
1 1
1 1
2 2
2 А В
А В
А В
А В
А В
А B
1 2 3
3 3
3 3 Рис. Рис. 230
17.15.
СХЕМЫ СРАВНЕНИЯ
ДВУХ ДВОИЧНЫХ ЧИСЕЛ
Примером однородной среды является схема равенства двух двоичных чисел. Пусть А, А, …, Аи В, В, …, B
n
— запоминающие элементы регистров Аи В, в которых хранятся разрядные двоичные числа аи. Числа равны, если цифры в каждой паре разрядов с одинаковыми весами совпадают. Булева функция, описывающая схему равенства, имеет вид 1
1 1
2 2
2 2
(
)(
)...(
).
n
n
n
n
f
A B
A B
A А В А B
1 2
2 Первое скобочное выражение соответствует младшему разряду сравниваемых чисел. Очевидно, что оно примет единичное значение только в том случае, если
А
1
= В 0 либо А В Точно также интерпретируются все остальные скобочные выражения,
каждое из которых относится к определенному разряду чисел аи Однородная среда, соответствующая выражению (7), приведена на рис. Согласно этому выражению для реализации схемы равенства необходимо двухвходовых элементов И, n двухвходовых элементов ИЛИ и одна nвхо
довая схема И. Эта nвходовая схема И рассредоточена на рис. 229 по ячейкам так, как показано на рис. 227. Вход j предназначен для подключения предыдущих ячеек. Если это первая ячейка, то необходимо принять j = Если проинвертировать выражение (7), то получим булеву функцию, описывающую структуру схемы неравенства (
j = 1 при а ¹ b):
1 1
1 1
2 2
2 А В
А В
А В
А В
А В
А B
1 2 3
3 3
3 3 Рис. Рис. 230
17. КОМБИНАЦИОННЫЕ СХЕМЫ
327
Эту функцию легко реализовать при помощи однородной среды, приведенной на рис. 228, если использовать 2n ячеек и принять N = На рис. 230 приведена комбинационная схема сравнения двух двоичных чисел. Схема представлена в виде ленточной однородной среды. Схема реализует булеву функцию f
n
, принимающую единичное значение при
а
< b. Однородная среда построена на основе рекуррентного выражения вида 1
,
n
n
n
n n
n n
f
B A
B f
A f
1 1
2 где A
n
и В запоминающие элементы, в которых хранятся старшие разряды сравниваемых двоичных чисел.
На вход f
0
первой ячейки необходимо подать низкий уровень, тогда функция f
1
примет вид А В
1
Выход второй ячейки представлен функцией 2
2 1
2 А В А B
1 реализующей сравнение двухразрядных двоичных чисел (совместно спер вой ячейкой).
Для третьей ячейки получаем функцию 3
3 2
3 А В А B
1 реализующей сравнение двух трехразрядных двоичных чисел (совместно с первыми двумя ячейками) и т. д.
17.16.
СХЕМА ЧЕТ НЕЧЕТ»
В подразделе 16.8 приведена схема чет, обеспечивающая проводимость в том случае, когда в единичном состоянии находится четное число контактных элементов. На рис. 172 и 173 раздела Контактные структуры эта схема представлена в виде однородной ленточной среды. Аналогичным образом может быть реализована и логическая схема «четнечет» на бесконтактных элементах И, ИЛИ, НЕ.
Рис. 231
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Пусть А, А, …, А двоичные запоминающие элементы, образующие регистр для хранения разрядных двоичных чисел. Для одной ячейки, когда n = 1, имеем Атак как индекс одноразрядного двоичного числа является четным только в том случае, когда число равно нулю.
Удлиним схему, добавив второй разряд 1
2 1
2 1
2 А А
А А
А
А
1 2 3
2 1 3 Для разрядного числа имеем 1
n
n
n
n
n
A
A
1 1
2 3 2 4 Таким образом, получили рекуррентное соотношение, в соответствии с которым нетрудно построить однородную среду, если каждой из функций j
1
,
j
2
, j
3
, …,
j
n
поставить в соответствие отдельную ячейку (см. рис. 231). Вход j
0
является управляющим. Если j
0
= 1, то однородная среда реализует схему
«чет». Если же j
0
= 0, то однородная среда реализует схему «нечет».
Упражнения
1. Определите индексы следующих двоичных чисел) (ЦНП) 001100;
2) (Т) 111110;
3) (К) 00000.
2. Укажите номера чисел счетными индексами. (СПИ. (ОНК)
III. (ХА) 0011001;
1) 1000001;
1) 000111;
2) 111011;
2) 0111110;
2) 1100;
3) 11110;
3) 11;
3) 111001;
4) 00000;
4) 1111;
4) 0000;
5) 111111;
5) 0;
5) 1111;
6) 011001;
6) 00011;
6) 111110011.
3. (ШВЗ). Укажите номера правильных утверждений) если структуру чет укоротить на одну ячейку, то она попрежнему будет выполнять функцию чет) если в структуре чет поменять местами входы A
i
и А (i = 1, 2, …, то получим туже структуру) если из структуры чет удалить первую ячейку, а на вход j
1
подать низкий уровень, то получим структуру нечет) если структуру чет удлинить на одну ячейку, и на вход этой ячейки подать высокий уровень, то получим структуру нечет) если на входы структуры чет подать двоичное число счетным индексом, тона ее выходе получим высокий уровень напряжения) пусть на рис. 231 старшему разряду числа соответствует вход А. Если входу А поставить в соответствие младший разряда входу А старший,
то схема попрежнему будет выполнять функцию нечет при j
0
= 0;
7) если при четном n структуру нечет разделить на две равные части, то каждая половинная структура будет выполнять функцию чет
17. КОМБИНАЦИОННЫЕ СХЕМЫ
329
17.17.
СИНТЕЗ ДВОИЧНОГО СУММАТОРА
На рис. 232 приведена однородная среда, состоящая из пяти одинаковых ячеек — трехвходовых одноразрядных сумматоров, обозначенных символом SM, где каждой ячейке соответствует определенный разряд двоичного числа. Очевидно, что число ячеек может быть увеличено до любого числа без ограничений. Младшему разряду суммы соответствует выход, старшему —
S
6
. Выход
S
6
— это одновременно перенос P
5
из пятого разряда в шестой. Так как шестой ячейки нетто выход P
5
используется в качестве старшего разряда суммы. Ячейка младшего разряда имеет вход P
0
. Поэтому входу подается сигнал от предыдущей ячейки. Но предыдущей ячейки нет.
Следовательно, необходимо принять P
0
= Выберем какуюлибо ячейку с номером i (первая ячейка является особой,
поэтому ее не учитываем, тогда i = 2, 3, 4, 5). Ячейка имеет три входа А
i
,
В
i
, P
i
–1
и два выхода
S
i
и P
i
. В табл. 28 перечислены всевозможные состояния входов и выходов й ячейки. Например, в строке 000 показано в м разряде обоих чисел находятся нули и отсутствует перенос от предыдущего разряда. Поэтому в колонках
S
i
и P
i
записаны нули. В следующей строке отмечен случай, когда в м разряде обоих чисел находятся нули, но от предыдущего разряда поступила единица переноса и т. д.
По табл. 28 после минимизации получаем 1
1 1
;
i
i
i
i
i
i
i
i
i
i
i
i
i
A B P
A B P
A B P
A B P
1 1
1 1
2 3 4
4 4
(8)
P
i
= A
i
B
i
+ A
i
P
i
–1
+ Логическую схему ячейки можно построить непосредственно по этим выражениям. Потребуется четыре трехвходовых элемента И, три двухвхо
довых элемента И, один четырехвходовый элемент ИЛИ, один трехвходо
вый элемент ИЛИ и один инвертор, реализующий выражение для следующего разряда, — всего 10 элементов.
Рис. 232
12345627897
1
1
1
2
1
1
3
112
1
1 1
1
3
1
1
12 12 12 12 12 12 12 32 32 12 12 32 12 32 12 12 32 32 12 32 32 12 12 32 12 32 12 32 12 32 32 32 12 12 32 32 32 32 32 32
17. КОМБИНАЦИОННЫЕ СХЕМЫ
331
док. Если суммируются, например, разрядные двоичные числа, то при сложении двоичного числа, состоящего из 40 единиц, с числом 000 … 01 (39 нулей) получится разрядное число, в старшем разряде которого — единица, а во всех остальных 40 разрядах — нули. С момента подачи на входы сумматора этих чисел сигнал переноса должен пройти почти 240 элементов. Если каждый элемент задержит сигнал, например, на 1 нс (сто сумматор сможет выполнять не более 4 миллионов операций сложения в одну секунду.
Рассмотренную схему по принципу действия называют параллельным сумматором.
17.18.
ВЫЧИСЛЕНИЕ БЕСПОВТОРНЫХ
БУЛЕВЫХ ФУНКЦИЙ
В данном подразделе рассмотрим однородную среду, предназначенную для вычисления значений монотонных бесповторных упорядоченных булевых функций, заданных в ДНФ. Функция называется бесповторной упорядоченной, если в ее записи все аргументы встречается по одному разу и идут в алфавитном порядке. Например, функция АВ + С + Е
является бесповторной, но функцию, представленную в виде AB + CD + E + E,
бесповторной назвать нельзя, так как в ее записи буква Е встречается два раза.
Если бесповторная булева функция представлена в ДНФ, то ей можно поставить в соответствие двоичный код длины n, где n — число вхождений аргументов или число самих аргументов, что для бесповторной функции одно и тоже. Пусть первая конъюнкция функции содержит аргументов. Поставим ей в соответствие код, состоящий из n
1
– 1 нулей и одной единицы, записываемой справа от n
1
– 1 нулей. Если вторая конъюнкция содержит n
2
аргументов,
то ей поставим в соответствие разрядный код, где n
2
– 1 первых мест занимают нули, а на последнем месте стоит единица и т. д. Приставив один к другому эти частные коды в порядке записи соответствующих конъюнкций (т. е.
применим к ним операцию конкатенации, получим искомый код всей функции, который условимся называть кодом. Например, если 2
3 4
5 6
7 8
,
0 0 1
1 0 0 0 1
f
A A A
A
A A A A
1 то код имеет вид Очевидно, что по коду функция восстанавливается однозначно. На
пример:
aкод: 010001101; функция f = A
1
A
2
+ A
3
A
4
A
5
A
6
+ А+ код 11100111; функция f = А+ А+ А+ А
4
А
5
А
6
+ А+ А
8
;
aкод: 000001; функция f = А А А А А
А
6
;
aкод: 11111; функция f = A
1
+ A
2
+ A
3
+ A
4
+ A
5
17. КОМБИНАЦИОННЫЕ СХЕМЫ
333
Для четвертой поскольку Т 0, то e
4
= Аи А
1
А
2
+ А
3
Для всех остальных ячеек f
4
= … = f
n
= А
1
А
2
+ А
3
,
что совпадает с заданной функцией. Выход последней ячейки e
n
не является информационным.
Мы рассмотрели наиболее простые однородные комбинационные структуры — ленточные. Существуют и более сложные структуры, например, матричные (примером может служить комбинационная схема умножения двоичных чисел, однако их изучение выходит за рамки данного пособия.
17.19.
ОБНАРУЖЕНИЕ ОДИНОЧНЫХ ИСКАЖЕНИЙ
В ДВОИЧНЫХ КОДАХ
В процессе передачи и обработки информации, представленной двоичными кодами, возможны искажения отдельных двоичных цифр, вызванные различными случайными помехами. В некоторых случаях эти помехи приводят к безобидным ошибкам без какихлибо последствий. Например, если мы получим слово «энциклопудия», то, возможно, и не заметим, что в нем вместо буквы е оказалась буква у. В других случаях сообщение может оказаться бессмысленным либо (что еще хуже) понятным, нос другим смыслом.
Если сообщения передаются по каналу, помехи в котором неизбежны, то повысить помехоустойчивость передачи информации можно только одним путем — за счет введения кодовой избыточности, когда используется большее число двоичных разрядов, чем это необходимо.
Обычно информацию передают при помощи какоголибо алфавита. Вне го могут входить буквы, цифры и другие знаки (например, математические,
химические, топографические и др. В случае равномерных кодов все символы алфавита нумеруют в определенном порядке и номера представляют в виде двоичных кодов длины где n — число, округляемое в большую сторону N — число символов алфа
вита.
Величина n показывает, сколько двоичных знаков необходимо для кодирования каждого из N символов, те это минимальная длина кода.
Добавим к каждому nзначному коду еще один двоичный знаки передавать информацию будем (n + 1)значными кодами. Какую же цифру использовать в качестве добавочной единицу или нуль Здесь возможны варианты. Для определенности договоримся если в передаваемом nзначном коде содержится нечетное число единиц, то добавим к нему единицу, поставив ее,
например, справа от младшего разряда nзначного кода (в принципе, поставить ее можно куда угодно, лишь бы это было постоянное место для всех
Пусть А, А, …, А двоичные запоминающие элементы, образующие регистр для хранения разрядных двоичных чисел. Для одной ячейки, когда n = 1, имеем Атак как индекс одноразрядного двоичного числа является четным только в том случае, когда число равно нулю.
Удлиним схему, добавив второй разряд 1
2 1
2 1
2 А А
А А
А
А
1 2 3
2 1 3 Для разрядного числа имеем 1
n
n
n
n
n
A
A
1 1
2 3 2 4 Таким образом, получили рекуррентное соотношение, в соответствии с которым нетрудно построить однородную среду, если каждой из функций j
1
,
j
2
, j
3
, …,
j
n
поставить в соответствие отдельную ячейку (см. рис. 231). Вход j
0
является управляющим. Если j
0
= 1, то однородная среда реализует схему
«чет». Если же j
0
= 0, то однородная среда реализует схему «нечет».
Упражнения
1. Определите индексы следующих двоичных чисел) (ЦНП) 001100;
2) (Т) 111110;
3) (К) 00000.
2. Укажите номера чисел счетными индексами. (СПИ. (ОНК)
III. (ХА) 0011001;
1) 1000001;
1) 000111;
2) 111011;
2) 0111110;
2) 1100;
3) 11110;
3) 11;
3) 111001;
4) 00000;
4) 1111;
4) 0000;
5) 111111;
5) 0;
5) 1111;
6) 011001;
6) 00011;
6) 111110011.
3. (ШВЗ). Укажите номера правильных утверждений) если структуру чет укоротить на одну ячейку, то она попрежнему будет выполнять функцию чет) если в структуре чет поменять местами входы A
i
и А (i = 1, 2, …, то получим туже структуру) если из структуры чет удалить первую ячейку, а на вход j
1
подать низкий уровень, то получим структуру нечет) если структуру чет удлинить на одну ячейку, и на вход этой ячейки подать высокий уровень, то получим структуру нечет) если на входы структуры чет подать двоичное число счетным индексом, тона ее выходе получим высокий уровень напряжения) пусть на рис. 231 старшему разряду числа соответствует вход А. Если входу А поставить в соответствие младший разряда входу А старший,
то схема попрежнему будет выполнять функцию нечет при j
0
= 0;
7) если при четном n структуру нечет разделить на две равные части, то каждая половинная структура будет выполнять функцию чет
17. КОМБИНАЦИОННЫЕ СХЕМЫ
329
17.17.
СИНТЕЗ ДВОИЧНОГО СУММАТОРА
На рис. 232 приведена однородная среда, состоящая из пяти одинаковых ячеек — трехвходовых одноразрядных сумматоров, обозначенных символом SM, где каждой ячейке соответствует определенный разряд двоичного числа. Очевидно, что число ячеек может быть увеличено до любого числа без ограничений. Младшему разряду суммы соответствует выход, старшему —
S
6
. Выход
S
6
— это одновременно перенос P
5
из пятого разряда в шестой. Так как шестой ячейки нетто выход P
5
используется в качестве старшего разряда суммы. Ячейка младшего разряда имеет вход P
0
. Поэтому входу подается сигнал от предыдущей ячейки. Но предыдущей ячейки нет.
Следовательно, необходимо принять P
0
= Выберем какуюлибо ячейку с номером i (первая ячейка является особой,
поэтому ее не учитываем, тогда i = 2, 3, 4, 5). Ячейка имеет три входа А
i
,
В
i
, P
i
–1
и два выхода
S
i
и P
i
. В табл. 28 перечислены всевозможные состояния входов и выходов й ячейки. Например, в строке 000 показано в м разряде обоих чисел находятся нули и отсутствует перенос от предыдущего разряда. Поэтому в колонках
S
i
и P
i
записаны нули. В следующей строке отмечен случай, когда в м разряде обоих чисел находятся нули, но от предыдущего разряда поступила единица переноса и т. д.
По табл. 28 после минимизации получаем 1
1 1
;
i
i
i
i
i
i
i
i
i
i
i
i
i
A B P
A B P
A B P
A B P
1 1
1 1
2 3 4
4 4
(8)
P
i
= A
i
B
i
+ A
i
P
i
–1
+ Логическую схему ячейки можно построить непосредственно по этим выражениям. Потребуется четыре трехвходовых элемента И, три двухвхо
довых элемента И, один четырехвходовый элемент ИЛИ, один трехвходо
вый элемент ИЛИ и один инвертор, реализующий выражение для следующего разряда, — всего 10 элементов.
Рис. 232
12345627897
1
1
1
2
1
1
3
112
1
1 1
1
3
1
1
12 12 12 12 12 12 12 32 32 12 12 32 12 32 12 12 32 32 12 32 32 12 12 32 12 32 12 32 12 32 32 32 12 12 32 32 32 32 32 32
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Упростить схему можно путем повышения порядка выражений (8) и (9) и за счет повторного использования отдельных частей схемы. Прежде всего заметим, что функции (8) и (9) являются симметрическими и могут быть представлены в виде S
1
+ S
3
;
(10)
P
i
= S
2
+ где индексы 1, 2, 3 представляют собой ачисла симметрических функций.
Проинвертируем выражение (10):
0 2
i
S
S
1 2 Самой сложной составляющей выражений (11) и (12) является симметрическая функция S
2
:
2 1
1 1
1 1
1
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
S
A B P
A B P
A B P
A B P
B P
A B P
1 1
1 1
1 1
2 3
3 2
3 Введем обозначения
1 1
2 1
;
1 1
2 3 2 3
i
i
i
i
B P
B P
Тогда 1
2 1
1
,
i
i
i
i
S
A
A
A
A
1 2 3 2 3 2 1 4 3 где e = j
1
+
j
2
;
2 2
1 2
2 1
1 2
1 А 2 3 4 2 5 3 4 3 4 2 5 3 5 2
3 4 2 4 3 4 3 4 3 4 2 5 3 4
Обозначим
,
i
А
1 2 тогда получим окончательно 2 3 4 5 2 3 4 На рис. 233 в соответствии с принятыми обозначениями приведена логическая схема й ячейки сумматора. В ней также 10 логических элементов,
как ив схеме, построенной по выражениями. Но все же схема на рис. 233 значительно проще, так как в ней все элементы И и ИЛИ имеют только по два входа, а всего входов у всех элементов — 17, в то время как в схеме до упрощения было 26 входов.
Необходимо иметь ввиду, что повышение порядка функций снижает быстродействие сумматора. Ячейка, изображенная на рис. 233, имеет й поря
Рис. 233
Упростить схему можно путем повышения порядка выражений (8) и (9) и за счет повторного использования отдельных частей схемы. Прежде всего заметим, что функции (8) и (9) являются симметрическими и могут быть представлены в виде S
1
+ S
3
;
(10)
P
i
= S
2
+ где индексы 1, 2, 3 представляют собой ачисла симметрических функций.
Проинвертируем выражение (10):
0 2
i
S
S
1 2 Самой сложной составляющей выражений (11) и (12) является симметрическая функция S
2
:
2 1
1 1
1 1
1
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
S
A B P
A B P
A B P
A B P
B P
A B P
1 1
1 1
1 1
2 3
3 2
3 Введем обозначения
1 1
2 1
;
1 1
2 3 2 3
i
i
i
i
B P
B P
Тогда 1
2 1
1
,
i
i
i
i
S
A
A
A
A
1 2 3 2 3 2 1 4 3 где e = j
1
+
j
2
;
2 2
1 2
2 1
1 2
1 А 2 3 4 2 5 3 4 3 4 2 5 3 5 2
3 4 2 4 3 4 3 4 3 4 2 5 3 4
Обозначим
,
i
А
1 2 тогда получим окончательно 2 3 4 5 2 3 4 На рис. 233 в соответствии с принятыми обозначениями приведена логическая схема й ячейки сумматора. В ней также 10 логических элементов,
как ив схеме, построенной по выражениями. Но все же схема на рис. 233 значительно проще, так как в ней все элементы И и ИЛИ имеют только по два входа, а всего входов у всех элементов — 17, в то время как в схеме до упрощения было 26 входов.
Необходимо иметь ввиду, что повышение порядка функций снижает быстродействие сумматора. Ячейка, изображенная на рис. 233, имеет й поря
Рис. 233
17. КОМБИНАЦИОННЫЕ СХЕМЫ
331
док. Если суммируются, например, разрядные двоичные числа, то при сложении двоичного числа, состоящего из 40 единиц, с числом 000 … 01 (39 нулей) получится разрядное число, в старшем разряде которого — единица, а во всех остальных 40 разрядах — нули. С момента подачи на входы сумматора этих чисел сигнал переноса должен пройти почти 240 элементов. Если каждый элемент задержит сигнал, например, на 1 нс (сто сумматор сможет выполнять не более 4 миллионов операций сложения в одну секунду.
Рассмотренную схему по принципу действия называют параллельным сумматором.
17.18.
ВЫЧИСЛЕНИЕ БЕСПОВТОРНЫХ
БУЛЕВЫХ ФУНКЦИЙ
В данном подразделе рассмотрим однородную среду, предназначенную для вычисления значений монотонных бесповторных упорядоченных булевых функций, заданных в ДНФ. Функция называется бесповторной упорядоченной, если в ее записи все аргументы встречается по одному разу и идут в алфавитном порядке. Например, функция АВ + С + Е
является бесповторной, но функцию, представленную в виде AB + CD + E + E,
бесповторной назвать нельзя, так как в ее записи буква Е встречается два раза.
Если бесповторная булева функция представлена в ДНФ, то ей можно поставить в соответствие двоичный код длины n, где n — число вхождений аргументов или число самих аргументов, что для бесповторной функции одно и тоже. Пусть первая конъюнкция функции содержит аргументов. Поставим ей в соответствие код, состоящий из n
1
– 1 нулей и одной единицы, записываемой справа от n
1
– 1 нулей. Если вторая конъюнкция содержит n
2
аргументов,
то ей поставим в соответствие разрядный код, где n
2
– 1 первых мест занимают нули, а на последнем месте стоит единица и т. д. Приставив один к другому эти частные коды в порядке записи соответствующих конъюнкций (т. е.
применим к ним операцию конкатенации, получим искомый код всей функции, который условимся называть кодом. Например, если 2
3 4
5 6
7 8
,
0 0 1
1 0 0 0 1
f
A A A
A
A A A A
1 то код имеет вид Очевидно, что по коду функция восстанавливается однозначно. На
пример:
aкод: 010001101; функция f = A
1
A
2
+ A
3
A
4
A
5
A
6
+ А+ код 11100111; функция f = А+ А+ А+ А
4
А
5
А
6
+ А+ А
8
;
aкод: 000001; функция f = А А А А А
А
6
;
aкод: 11111; функция f = A
1
+ A
2
+ A
3
+ A
4
+ A
5
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Код функции, полученный по ее аналитическому выражению, представленному в виде бесповторной ДНФ, всегда оканчивается единицей. При необходимости удлинить код (но без изменения функции) справа необходимо приписать соответствующее количество нулей. Первые же n–1 разрядов могут занимать нули и единицы в любых сочетаниях. Следовательно, всего существует 2
n
1
бесповторных упорядоченных булевых функций n аргументов, аналитически заданных в ДНФ и не содержащих инверсий.
На рис. 234 приведена структура в виде однородной среды, состоящей из одинаковых ячеек, соединенных между собой двумя связями. Выходом структуры является вывод f
n
. Буквы Т, Т, Т, …, Т обозначают входы ячеек (условимся называть их Твходами) для подачи кода. На входы А, А, …, А
n
подаются значения аргументов. Если на Твходы подать код, то вся структура превратится в логическую схему, реализующую булеву функцию, соответствующую этому коду, те. код настраивает схему на реализацию той или иной функции. Пусть функция имеет вид A
1
A
2
+ Закодируем ее вышеприведенным способом. Получим код 011. В соответствии с этим кодом на Твходы подаем значения:
Т
1
= 0, Т 1, Т На все остальные Твходы, если n > 3, подаем нули.
Первая ячейка не имеет предыдущей схемы, следовательно, на ее соединительные входы необходимо подать уровни высокий — на вход e
0
, низкий — на вход Работу схемы проиллюстрируем на примере.
Пусть код равен 011, тогда e
1
= Атак как Т Для второй ячейки поскольку
Т
2
= 1, то e
2
= 1 и тогда f
2
= А
1
А
2
Для третьей ячейки так как Т 1, то e
3
= 1 и f
3
= А
1
А
2
+ А
3
Рис. 234
Код функции, полученный по ее аналитическому выражению, представленному в виде бесповторной ДНФ, всегда оканчивается единицей. При необходимости удлинить код (но без изменения функции) справа необходимо приписать соответствующее количество нулей. Первые же n–1 разрядов могут занимать нули и единицы в любых сочетаниях. Следовательно, всего существует 2
n
1
бесповторных упорядоченных булевых функций n аргументов, аналитически заданных в ДНФ и не содержащих инверсий.
На рис. 234 приведена структура в виде однородной среды, состоящей из одинаковых ячеек, соединенных между собой двумя связями. Выходом структуры является вывод f
n
. Буквы Т, Т, Т, …, Т обозначают входы ячеек (условимся называть их Твходами) для подачи кода. На входы А, А, …, А
n
подаются значения аргументов. Если на Твходы подать код, то вся структура превратится в логическую схему, реализующую булеву функцию, соответствующую этому коду, те. код настраивает схему на реализацию той или иной функции. Пусть функция имеет вид A
1
A
2
+ Закодируем ее вышеприведенным способом. Получим код 011. В соответствии с этим кодом на Твходы подаем значения:
Т
1
= 0, Т 1, Т На все остальные Твходы, если n > 3, подаем нули.
Первая ячейка не имеет предыдущей схемы, следовательно, на ее соединительные входы необходимо подать уровни высокий — на вход e
0
, низкий — на вход Работу схемы проиллюстрируем на примере.
Пусть код равен 011, тогда e
1
= Атак как Т Для второй ячейки поскольку
Т
2
= 1, то e
2
= 1 и тогда f
2
= А
1
А
2
Для третьей ячейки так как Т 1, то e
3
= 1 и f
3
= А
1
А
2
+ А
3
Рис. 234
17. КОМБИНАЦИОННЫЕ СХЕМЫ
333
Для четвертой поскольку Т 0, то e
4
= Аи А
1
А
2
+ А
3
Для всех остальных ячеек f
4
= … = f
n
= А
1
А
2
+ А
3
,
что совпадает с заданной функцией. Выход последней ячейки e
n
не является информационным.
Мы рассмотрели наиболее простые однородные комбинационные структуры — ленточные. Существуют и более сложные структуры, например, матричные (примером может служить комбинационная схема умножения двоичных чисел, однако их изучение выходит за рамки данного пособия.
17.19.
ОБНАРУЖЕНИЕ ОДИНОЧНЫХ ИСКАЖЕНИЙ
В ДВОИЧНЫХ КОДАХ
В процессе передачи и обработки информации, представленной двоичными кодами, возможны искажения отдельных двоичных цифр, вызванные различными случайными помехами. В некоторых случаях эти помехи приводят к безобидным ошибкам без какихлибо последствий. Например, если мы получим слово «энциклопудия», то, возможно, и не заметим, что в нем вместо буквы е оказалась буква у. В других случаях сообщение может оказаться бессмысленным либо (что еще хуже) понятным, нос другим смыслом.
Если сообщения передаются по каналу, помехи в котором неизбежны, то повысить помехоустойчивость передачи информации можно только одним путем — за счет введения кодовой избыточности, когда используется большее число двоичных разрядов, чем это необходимо.
Обычно информацию передают при помощи какоголибо алфавита. Вне го могут входить буквы, цифры и другие знаки (например, математические,
химические, топографические и др. В случае равномерных кодов все символы алфавита нумеруют в определенном порядке и номера представляют в виде двоичных кодов длины где n — число, округляемое в большую сторону N — число символов алфа
вита.
Величина n показывает, сколько двоичных знаков необходимо для кодирования каждого из N символов, те это минимальная длина кода.
Добавим к каждому nзначному коду еще один двоичный знаки передавать информацию будем (n + 1)значными кодами. Какую же цифру использовать в качестве добавочной единицу или нуль Здесь возможны варианты. Для определенности договоримся если в передаваемом nзначном коде содержится нечетное число единиц, то добавим к нему единицу, поставив ее,
например, справа от младшего разряда nзначного кода (в принципе, поставить ее можно куда угодно, лишь бы это было постоянное место для всех
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
передаваемых кодов. Если же в nзначном коде имеется четное число единиц, то добавим к нему нуль. В результате каждый передаваемый (n + 1)
значный код всегда будет иметь четный индекс, те. четное число единиц.
Пусть на приемном конце канала передачи информации имеется устройство, которое определяет, четное или нечетное число единиц содержится в принятом (n + 1)значном коде. Если в какомлибо коде окажется нечетное число единиц, то ясно, что водном из n + 1 двоичных разрядов произошла замена единицы на нуль либо нуля на единицу. Возможно, что такая замена произошла в трех разрядах, в пяти, семи и т. д. Если же в принятом (n + разрядном коде окажется четное число единиц, то можно предположить, что ошибок в коде нет либо в коде содержатся две искаженные цифры, либо четыре, шесть и т. д. Практика показывает, что статистически наиболее вероятны одиночные ошибки. Следовательно, если вероятностью двух и более ошибок водном и том же коде пренебречь, то проверкой на четность числа единиц можно обнаружить коды, содержащие одиночные искажения.
На рис. 235 представлена схема, автоматически преобразующая nзнач
ный двоичный код в (n + разрядный, содержащий четное число единиц,
где знаком обозначена схема нечет (см. рис. Входной код представлен буквами А, А, …, А, где А 1, если в м разряде входного кода находится единица, и А 0, если в м разряде находится нуль (i = 1, 2, …, Выходной код представлен символами f
1
, f
2
, …, f
n
, f
n
+1
:
f
i
= A
i
;
f
n
+1
= А А А … Å А
n
,
(13)
где
Å — знак сложения по модулю два.
Выходной код f
1
f
2
… f
n
+1
поступает на вход канала передачи информации.
На рис. 236 приведена схема, обеспечивающая обнаружение кодов, содержащих одиночные ошибки. На вход схемы поступают (n + 1)значные двоичные коды вида f
2
f
3
… f
n
Выходы схемы обозначены символами e
1
, e
2
…,
e
n
. Выходной код является правильным (те. не содержит ошибок, если e
n
+1
= 0, где e
n
+1
= f
1
Å f
2
Å … Å f
n
Å Если же e
n
+1
= 1, то это значит, что в принятом коде содержится ошибка.
передаваемых кодов. Если же в nзначном коде имеется четное число единиц, то добавим к нему нуль. В результате каждый передаваемый (n + 1)
значный код всегда будет иметь четный индекс, те. четное число единиц.
Пусть на приемном конце канала передачи информации имеется устройство, которое определяет, четное или нечетное число единиц содержится в принятом (n + 1)значном коде. Если в какомлибо коде окажется нечетное число единиц, то ясно, что водном из n + 1 двоичных разрядов произошла замена единицы на нуль либо нуля на единицу. Возможно, что такая замена произошла в трех разрядах, в пяти, семи и т. д. Если же в принятом (n + разрядном коде окажется четное число единиц, то можно предположить, что ошибок в коде нет либо в коде содержатся две искаженные цифры, либо четыре, шесть и т. д. Практика показывает, что статистически наиболее вероятны одиночные ошибки. Следовательно, если вероятностью двух и более ошибок водном и том же коде пренебречь, то проверкой на четность числа единиц можно обнаружить коды, содержащие одиночные искажения.
На рис. 235 представлена схема, автоматически преобразующая nзнач
ный двоичный код в (n + разрядный, содержащий четное число единиц,
где знаком обозначена схема нечет (см. рис. Входной код представлен буквами А, А, …, А, где А 1, если в м разряде входного кода находится единица, и А 0, если в м разряде находится нуль (i = 1, 2, …, Выходной код представлен символами f
1
, f
2
, …, f
n
, f
n
+1
:
f
i
= A
i
;
f
n
+1
= А А А … Å А
n
,
(13)
где
Å — знак сложения по модулю два.
Выходной код f
1
f
2
… f
n
+1
поступает на вход канала передачи информации.
На рис. 236 приведена схема, обеспечивающая обнаружение кодов, содержащих одиночные ошибки. На вход схемы поступают (n + 1)значные двоичные коды вида f
2
f
3
… f
n
Выходы схемы обозначены символами e
1
, e
2
…,
e
n
. Выходной код является правильным (те. не содержит ошибок, если e
n
+1
= 0, где e
n
+1
= f
1
Å f
2
Å … Å f
n
Å Если же e
n
+1
= 1, то это значит, что в принятом коде содержится ошибка.
1 ... 38 39 40 41 42 43 44 45 ... 77
Рис. Рис. 236
17. КОМБИНАЦИОННЫЕ СХЕМЫ
335
По рис. 235 и 236 видно, что схема, формирующая дополнительную цифру (контрольный разряд, отличается от схемы, распознающей одиночные ошибки в принятом коде, лишь числом входов вторая схема содержит на один вход больше, чем первая. Следовательно, если во второй схеме на один из входов подать нулевой уровень напряжения, то она превратится впер вую схему.
Схемы, изображенные на рис. 235 и 236, являются комбинационными,
следовательно, их входы должны быть подключены к выходам триггерных регистров. В первом случае необходим разрядный регистр, во втором —
(n + 1)разрядный.
Упражнения
1. (Б. Укажите номера кодов (n = 8), для которых добавочной (девятой) должна быть цифра 1 (проверка на четность) 00001000;
4) 00000011;
7) 11001101;
2) 01111000;
5) 00000111;
8) 11111111;
3) 11111110;
6) 00000000;
9) 01010101.
2. (Б. Какие из следующих (n + разрядных кодов содержат одиночную ошибку, если n = 6:
1) 0110011;
4) 1110111;
7) 1000000;
2) 0100110;
5) 1001001;
8) 1111111;
3) 0011011;
6) 1110100;
9) 1001111?
3. Представьте выражение (13) в минимальной ДНФ и для n = 8 определите) (Г) число простых импликант;
2) (МБ3) число вхождений аргументов (Г. Сколько существует двоичных 8значных наборов значений аргументов А, А, …, А, на которых функция (13) равна нулю (ШУ. На какие вопросы Вы ответите да) возможны ли случаи, когда код e
1
e
2
e
3
…
e
n
совпадает с кодом А А
2
А
3
… А (риса значение контрольного разряда равно единице, те. говорит о наличии ошибки) верно ли, что функция (14) является симметрической функцией) верно ли, что выражение (13) справедливо только при n четном) верно ли, что выражение (13) справедливо только при n нечетном) верно ли, что выражение (13) справедливо при любом n четном и нечетном) верно ли, что контрольный разряд можно расположить в любом месте кода Передается код 001101100, где слева расположен контрольный разряд. После того как код приняли, оказалось, что e
9
= 1 (рис. 236).
1) (ЮТ. Сколько существует 9значных кодов, для которых e
9
= 1, если считать, что возможны только одиночные ошибки) (ТИН). Сколько существует 9значных кодов, для которых e
9
= 1, если считать, что искажения возможны в любом числе разрядов
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.20.
КОДЫ ХЭММИНГА
Один контрольный разряд, добавленный к основному коду, обеспечивает решение простейшей задачи из области помехоустойчивого кодирования обнаружение (n + 1)значных кодов, в которых под действием помех произошло искажение одной из n + 1 двоичных цифр. С практической же точки зрения очень важно знать, в каком разряде произошел сбой, чтобы соответствующий знак заменить на противоположный и тем самым ошибку автоматически исправить (вероятностью двух и более сбоев пренебрегаем).
Для решения этой задачи необходимо увеличить число контрольных разрядов. Пусть n — длина основного кода x
n
x
n
–1
… x
2
x
1
; m — число контрольных разрядов, образующих код y
m
y
m
–1
… y
2
y
1
. Тогда по каналу передачи будут передаваться коды по m + n двоичных знаков каждый. Очевидно, что величина m должна быть достаточной для того, чтобы пронумеровать все+ n знаков в передаваемом (m + разрядном коде, так как сбой может произойти в любом из m + n разрядов. Следовательно, величины m и n должны быть связаны соотношением m + n + где единице соответствует случай, когда принятый код не содержит ошибок
(а в общем случае число ошибок равно 0, 2, 4, 6 и т. д).
Пусть информация передается при помощи 11значных основных двоичных кодов. Тогда согласно формуле (15) число контрольных разрядов равно четырем. Где же расположить эти четыре знака Ответ не является однозначным. Рассмотрим вариант, когда контрольные знаки занимают номера разрядов в передаваемом коде, представляющие собой степени числа 2, те. Для случая n = 11 имеем 8
7 3
2 1
11 9
6 5
4 4
3 2
1 15 14 13 12 11 10 9 8
7 6
5 4
3 2
1 где числа 1, 2, 3, …, 15 представляют собой номера разрядов 15значного кода,
при этом числу 15 соответствует старший разряд двоичного кода. Значения x
i
в этом коде известны, поскольку они представляют собой цифры передаваемого основного кода, а значения y
j
(j = 1, 2, 3, 4) определяются из выражений вида 1
2 4
5 7
9 11 2
1 3
4 6
7 10 11 3
2 3
4 8
9 10 11 4
5 6
7 8
9 10 11
;
;
;
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
1 2
2 2
2 2
2 3
4 1
2 2
2 2
2 2
4 5
1 2
2 2
2 2
2 4
4 1
2 2
2 2
2 Допустим, что переданный код (16) принят. Чтобы узнать, в каком разряде он содержит ошибку, достаточно найти значения следующих выражений 1
1 2
4 5
7 9
11 2
2 1
3 4
6 7
10 11 3
3 2
3 4
8 9
10 11 4
4 5
6 7
8 9
10 11
;
;
;
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
1 2 3
3 3
3 3
3 3
4 5
1 2 3
3 3
3 3
3 3
5 6
1 2 3
3 3
3 3
3 3
5 5
1 2 3
3 3
3 3
3 3
7
(18)
17.20.
КОДЫ ХЭММИНГА
Один контрольный разряд, добавленный к основному коду, обеспечивает решение простейшей задачи из области помехоустойчивого кодирования обнаружение (n + 1)значных кодов, в которых под действием помех произошло искажение одной из n + 1 двоичных цифр. С практической же точки зрения очень важно знать, в каком разряде произошел сбой, чтобы соответствующий знак заменить на противоположный и тем самым ошибку автоматически исправить (вероятностью двух и более сбоев пренебрегаем).
Для решения этой задачи необходимо увеличить число контрольных разрядов. Пусть n — длина основного кода x
n
x
n
–1
… x
2
x
1
; m — число контрольных разрядов, образующих код y
m
y
m
–1
… y
2
y
1
. Тогда по каналу передачи будут передаваться коды по m + n двоичных знаков каждый. Очевидно, что величина m должна быть достаточной для того, чтобы пронумеровать все+ n знаков в передаваемом (m + разрядном коде, так как сбой может произойти в любом из m + n разрядов. Следовательно, величины m и n должны быть связаны соотношением m + n + где единице соответствует случай, когда принятый код не содержит ошибок
(а в общем случае число ошибок равно 0, 2, 4, 6 и т. д).
Пусть информация передается при помощи 11значных основных двоичных кодов. Тогда согласно формуле (15) число контрольных разрядов равно четырем. Где же расположить эти четыре знака Ответ не является однозначным. Рассмотрим вариант, когда контрольные знаки занимают номера разрядов в передаваемом коде, представляющие собой степени числа 2, те. Для случая n = 11 имеем 8
7 3
2 1
11 9
6 5
4 4
3 2
1 15 14 13 12 11 10 9 8
7 6
5 4
3 2
1 где числа 1, 2, 3, …, 15 представляют собой номера разрядов 15значного кода,
при этом числу 15 соответствует старший разряд двоичного кода. Значения x
i
в этом коде известны, поскольку они представляют собой цифры передаваемого основного кода, а значения y
j
(j = 1, 2, 3, 4) определяются из выражений вида 1
2 4
5 7
9 11 2
1 3
4 6
7 10 11 3
2 3
4 8
9 10 11 4
5 6
7 8
9 10 11
;
;
;
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
1 2
2 2
2 2
2 3
4 1
2 2
2 2
2 2
4 5
1 2
2 2
2 2
2 4
4 1
2 2
2 2
2 Допустим, что переданный код (16) принят. Чтобы узнать, в каком разряде он содержит ошибку, достаточно найти значения следующих выражений 1
1 2
4 5
7 9
11 2
2 1
3 4
6 7
10 11 3
3 2
3 4
8 9
10 11 4
4 5
6 7
8 9
10 11
;
;
;
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
y
x
x
x
x
x
x
x
1 2 3
3 3
3 3
3 3
4 5
1 2 3
3 3
3 3
3 3
5 6
1 2 3
3 3
3 3
3 3
5 5
1 2 3
3 3
3 3
3 3
7
(18)
17. КОМБИНАЦИОННЫЕ СХЕМЫ
337
Значения e
i
(i = 1, 2, 3, 4) образуют двоичное четырехразрядное число вида e
4
e
3
e
2
e
1
, где e
4
— старший разряд, e
1
— младший. Число e — это и есть искомый номер разряда, в котором произошел сбой. Следовательно, чтобы исправить ошибку, цифру в разряде с номером e необходимо проинвертиро
вать. Если e = 0, то это значит, что ошибки в принятом коде нет (напомним,
что это справедливо только для одиночных сбоев).
Рассмотрим пример.
Пусть требуется передать по каналу связи двоичный код Согласно записи кода x
2
= x
3
= x
5
= x
6
= x
7
= x
8
= x
11
= 1;
x
4
= x
9
= x
10
= Подставив эти значения в выражение (17), найдем контрольные цифры 1
Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = 1;
y
2
= 1
Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = 1;
y
3
= 1
Å 1 Å 0 Å 1 Å 0 Å 0 Å 1 = 0;
y
4
= 1
Å 1 Å 1 Å 1 Å 0 Å 0 Å 1 = Согласно (16) получаем передаваемый код 14 13 12 11 10 9 8 7 6 5 4 3 2 1,
0 1 1 0
1 1 1
0 1 1 1 0 1 1 где числа 1, 2, 3, …, 15 — номера разрядов разрядного кода, подаваемого на вход канала связи.
Допустим, что при передаче этого кода в пятом разряде произошел сбой:
вместо единицы оказался нуль и на приемное устройство поступил код:
100111110100111.
Пронумеруем разряды принятого кода и укажем значения букв x
i
и согласно выражению (16):
11 10 9
8 7
6 5
4 4
3 2
3 1
2 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1
0 0 1 1 1 1 1 0 1 0 0 1 1 1 ,
x
x
x x x x x y x x x y x y Поиск ошибки на приемной стороне осуществляется при помощи выражений (18). Сначала проверим, не находится ли ошибка в левой части принятого кода, те. в разрядах с номерами 8, 9, …, 15. Согласно записи (19):
y
4
= x
5
= x
6
= x
7
= x
8
= x
11
= 1;
x
9
= x
10
= следовательно e
4
= 1
Å 1 Å 1 Å 1 Å 1 Å 0 Å 0 Å 1 = Проверка на четность левой части кода показала, что в соответствующих разрядах ошибки нет
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Находим следующую цифру числа 0
Å 0 Å 1 Å 0 Å 1 Å 0 Å 0 Å 1 = откуда следует, что ошибка в принятом коде есть, причем она находится водном из разрядов 4, 5, 6, Определяем значение e
2
:
e
2
= 1
Å 1 Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = следовательно, в разрядах с номерами 6 и 7 ошибки нет, она находится либо в разряде 4, либо в разряде Находим значение e
1
:
e
1
= 1
Å 1 Å 0 Å 0 Å 1 Å 1 Å 0 Å 1 = Таким образом, ошибка найдена. Она находится в пятом разряде, так как e
4
= 0, e
3
= 1, e
2
= 0, e
1
= те. число равно 0101. Это адрес ошибки в принятом коде.
Теперь осталось проинвертировать цифру пятого разряда (в данном случае нуль заменить единицей, отбросить контрольные разряды, и мы получим 11значный код, не содержащий одиночной ошибки.
Очевидно, что одиночное искажение может произойти в любом из разрядов,
в том числе ив контрольных. Если сбой произошел водном из контрольных разрядов, то поиск ошибки происходит точно также, стой лишь разницей, что все контрольные знаки можно сразу отбросить, не исправляя в них ошибок.
Рассмотренные коды, обеспечивающие исправление одиночных ошибок,
называют кодами Хэмминга. О кодах Хэмминга и о более сложных случаях помехоустойчивого кодирования, относящихся к вопросам обнаружения и исправления кодов с несколькими ошибками, можно найти любые сведения в специальной литературе, например в [2, 4, 19, 24, КОМБИНАЦИОННЫЙ ФОРМИРОВАТЕЛЬ
КОДОВ ХЭММИНГА
Схема автоматического формирования кодов Хэмминга приведена на рис. 237. Прямоугольником со знаком на ней обозначена схема, реализующая систему четырех функций вида (17) и представляющая собой формирователь контрольных разрядов. Каждая из этих функций может быть реализована при помощи однородной ленточной структуры (рис. 231), если к быстродействию схемы не предъявляется особо высоких требований. Если же быстродействие является определяющим параметром схемы, то строить ее следует на основе ДНФ либо КНФ.
Входы на рис. 237 обозначены символами x
1
, x
2
, …, x
11
, всего 11 входов.
Выходной код содержит на четыре знака больше. Его образуют все знаки входного кода и четыре знака, формируемые преобразователем входных кодов в контрольные коды
17. КОМБИНАЦИОННЫЕ СХЕМЫ
339
15значные коды поступают в передающий канал. Пройдя канал, код поступает на вход схемы, исправляющей одиночные ошибки (рис. 238). Входы на этой схеме обозначены буквами z
1
, z
2
, …, z
15
, выходы — a
1
, a
2
, где 3
3 3
3 2
5 5
5 5
3 6
6 6
6 4
7 7
7 7
5 9
9 9
9 11 15 15 15 15
;
;
;
;
;
z
z
z
z
z
z
z
z
z
z
z
z
1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 На формирователь числа (рис. 238), обозначенный знаком Å, подается весь код Хэмминга, все его 15 разрядов, нона выход через одноразрядные схемы неравенства, отмеченные знаком «
¹», поступают разряды лишь основного кода. Контрольные знаки на выход не проходят. Если число равно, тов коде ошибки нет, и на всех выходах неполного дешифратора поддерживаются низкие уровни, вследствие чего a
1
= z
3
; a
2
= z
5
; a
3
= z
6
; a
4
= z
7
; a
5
= z
9
; … a
11
= те. цифры принятого 15значного кода, входящие в основной код, на выход схемы проходят без изменений.
В случае ошибки, например, в пятом разряде принятого 15значного кода,
eчисло равно 0101, j
5
= 1, вследствие чего
2 5
z
1 2
Это значит, что если в пятом разряде передаваемого кода был нуль, а принятой оказалась единица,
то в результате инвертирования единицы получится снова нуль. Если же передавалась единица, а принятым оказался нуль, то после инвертирования получится единица. Таким образом, в обоих случаях происходит автоматическое исправление ошибки.
Рис. Рис. 238
17. КОМБИНАЦИОННЫЕ СХЕМЫ
341
ло в коде Грея. Тогда правило, по которому можно найти код Грея по заданному двоичному числу а, представится формулой вида a
i
Å где
Å — знак сложения по модулю 2; i — порядковый номер разряда в числе а i = 1, 2, 3, …, n; счет начинается с младшего разряда.
Чтобы поэтому правилу найти код Грея, достаточно поразрядно сложить по модулю два число ас самим собой, но сдвинутым вправо на один разряд с потерей цифры младшего разряда и записью нуля в старшем разряде 2
2 1
1 3
2 1
2 2
1 0
,
n
n
n
n
n
n
n
n
a
a
a
a
a
a
a
a
a
a
b
b
b
b
b
b
1 1
1 1
1 где a
1
Å a
2
;
b
2
= a
2
Å a
3
;
…
b
n
–1
= a
n–
1
Å a
n
;
b
n
= Например, при n = 4 последовательность кодов Грея, полученная на основе правила сложения (20), имеет вид, 0001, 0011, 0010, 0110, 0111, 0101, 0100,
1100, 1101, 1111, 1110, 1010, 1011, 1001, Код Грея является невесовым в отличие от обычной двоичной системы счисления. Это значит, что образующие его двоичные числа надо рассматривать только как упорядоченные наборы нулей и единиц без присвоения им весов. Например, двоичному весовому числу 10011 (в десятичной системе это 19) соответствует код Грея 11010, и если его считать весовым, то получится число 26 (в десятичной системе. В связи с этим каждому невесовому коду обычно присваивается таили иная величина либо с применением правила, как в случае кода Грея, либо при помощи таблицы.
Если на рис. 239 вместо обычной двоичной (весовой) системы использовать код Грея, тона границах секторов всегда будет изменяться цифра только водном какомлибо разряде. Благодаря этому в моменты перехода диска от одного кодак другому помехи появиться не могут.
Упражнения
1. Укажите двоичный код Грея, соответствующий шестизначному весовому числу, представленному в десятичной системе) (ПАФ) 32;
3) (862) 12;
5) (ОВЗ) 19;
2) (СГИ) 24;
4) (035) 36;
6) (ВДК) 40.
2. Назовите десятичные эквиваленты двоичных чисел (в порядке их возрастания, которые в принципе могут быть считаны фотодатчиками с диска на границе секторов с номерами (рис. 239):
1) (ТЭЛ) 5 и 6; 2) (МТМ) 9 и 10; 3) (ИКЭ) 13 и 14.
Находим следующую цифру числа 0
Å 0 Å 1 Å 0 Å 1 Å 0 Å 0 Å 1 = откуда следует, что ошибка в принятом коде есть, причем она находится водном из разрядов 4, 5, 6, Определяем значение e
2
:
e
2
= 1
Å 1 Å 1 Å 0 Å 1 Å 1 Å 0 Å 1 = следовательно, в разрядах с номерами 6 и 7 ошибки нет, она находится либо в разряде 4, либо в разряде Находим значение e
1
:
e
1
= 1
Å 1 Å 0 Å 0 Å 1 Å 1 Å 0 Å 1 = Таким образом, ошибка найдена. Она находится в пятом разряде, так как e
4
= 0, e
3
= 1, e
2
= 0, e
1
= те. число равно 0101. Это адрес ошибки в принятом коде.
Теперь осталось проинвертировать цифру пятого разряда (в данном случае нуль заменить единицей, отбросить контрольные разряды, и мы получим 11значный код, не содержащий одиночной ошибки.
Очевидно, что одиночное искажение может произойти в любом из разрядов,
в том числе ив контрольных. Если сбой произошел водном из контрольных разрядов, то поиск ошибки происходит точно также, стой лишь разницей, что все контрольные знаки можно сразу отбросить, не исправляя в них ошибок.
Рассмотренные коды, обеспечивающие исправление одиночных ошибок,
называют кодами Хэмминга. О кодах Хэмминга и о более сложных случаях помехоустойчивого кодирования, относящихся к вопросам обнаружения и исправления кодов с несколькими ошибками, можно найти любые сведения в специальной литературе, например в [2, 4, 19, 24, КОМБИНАЦИОННЫЙ ФОРМИРОВАТЕЛЬ
КОДОВ ХЭММИНГА
Схема автоматического формирования кодов Хэмминга приведена на рис. 237. Прямоугольником со знаком на ней обозначена схема, реализующая систему четырех функций вида (17) и представляющая собой формирователь контрольных разрядов. Каждая из этих функций может быть реализована при помощи однородной ленточной структуры (рис. 231), если к быстродействию схемы не предъявляется особо высоких требований. Если же быстродействие является определяющим параметром схемы, то строить ее следует на основе ДНФ либо КНФ.
Входы на рис. 237 обозначены символами x
1
, x
2
, …, x
11
, всего 11 входов.
Выходной код содержит на четыре знака больше. Его образуют все знаки входного кода и четыре знака, формируемые преобразователем входных кодов в контрольные коды
17. КОМБИНАЦИОННЫЕ СХЕМЫ
339
15значные коды поступают в передающий канал. Пройдя канал, код поступает на вход схемы, исправляющей одиночные ошибки (рис. 238). Входы на этой схеме обозначены буквами z
1
, z
2
, …, z
15
, выходы — a
1
, a
2
, где 3
3 3
3 2
5 5
5 5
3 6
6 6
6 4
7 7
7 7
5 9
9 9
9 11 15 15 15 15
;
;
;
;
;
z
z
z
z
z
z
z
z
z
z
z
z
1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 3 1 2 3 4 На формирователь числа (рис. 238), обозначенный знаком Å, подается весь код Хэмминга, все его 15 разрядов, нона выход через одноразрядные схемы неравенства, отмеченные знаком «
¹», поступают разряды лишь основного кода. Контрольные знаки на выход не проходят. Если число равно, тов коде ошибки нет, и на всех выходах неполного дешифратора поддерживаются низкие уровни, вследствие чего a
1
= z
3
; a
2
= z
5
; a
3
= z
6
; a
4
= z
7
; a
5
= z
9
; … a
11
= те. цифры принятого 15значного кода, входящие в основной код, на выход схемы проходят без изменений.
В случае ошибки, например, в пятом разряде принятого 15значного кода,
eчисло равно 0101, j
5
= 1, вследствие чего
2 5
z
1 2
Это значит, что если в пятом разряде передаваемого кода был нуль, а принятой оказалась единица,
то в результате инвертирования единицы получится снова нуль. Если же передавалась единица, а принятым оказался нуль, то после инвертирования получится единица. Таким образом, в обоих случаях происходит автоматическое исправление ошибки.
Рис. Рис. 238
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.22.
РЕФЛЕКСНЫЕ КОДЫ. КОДЫ ГРЕЯ
В современной технике широко применяются аналогодискретные преобразователи. Примером могут служить датчики механических перемещений. Один из таких датчиков представляет собой соосно укрепленный навалу прозрачный диск с нанесенной на него кодовой маской. Коды считываются при помощи системы какихлибо фотоэлементов. Главное назначение датчика — определить положение вала, те. угол его поворота по отношению к некоторому исходному состоянию.
Для примера на рис. 239 показан диск, разделенный на 16 равных частей — секторов (на практике их обычно тысячи. Все секторы пронумерованы, и каждый номер представлен в двоичном коде в виде сочетаний темных и светлых участков, расположенных на четырех концентрических кольцах.
Внутреннему кольцу поставлен в соответствие старший разряд номера, внешнему — младший (нов принципе, можно и наоборот. Нуль на диске обозначен светлой частью кольца, единица — зачернением. Считываются числа с диска параллельно, те. все четыре разряда одновременно, при помощи четырех фотоэлементов.
Главное достоинство датчика — его простота. Однако с практической точки зрения он почти непригоден. Дело в том, что параллельные коды хорошо считываются только в пределах каждого отдельного сектора, а при переходе от одного сектора к другому возникают помехи. Пусть число считывается в момент, когда под фотоэлементами проходит й сектора за ним идет сектор с нулевым номером. Какое число получится на границе секторов Это зависит от таких причин, как неточность изготовления маски и блока фотоэлементов, тепловая нестабильность, влияние различных вибраций и др. В общем случае на границе го и нулевого секторов может быть считано любое число от 0 до 15. Помехи имеют место также при переходе от первого сектора ко второму, от третьего к четвертому, от пятого к шестому и др.
Погрешности считывания можно не только уменьшить, но и полностью устранить, если воспользоваться невесовыми кодами, представляющими собой последовательности разрядных двоичных чисел, в которых каждые два соседних числа отличаются одно от другого только водном разряде. У таких кодов несколько названий. В [42] их называют кодами Грея, в [24] — циклическими и прогрессивными, в [5] — рефлексивными, в [40] — рефлексными и отраженными.
В данном пособии используется термин
«рефлексный код и его частный случай, получивший наибольшее распространение, — «код
Грея». С этого частного случая и начнем рассматривать рефлексные коды.
Главная особенность кода Грея, обеспечившая ему широкое практическое применение,
состоит в простоте его построения. Пусть а двоичное разрядное число обычной (весовой)
системы счисления, b — соответствующее чис
Рис. 239
17.22.
РЕФЛЕКСНЫЕ КОДЫ. КОДЫ ГРЕЯ
В современной технике широко применяются аналогодискретные преобразователи. Примером могут служить датчики механических перемещений. Один из таких датчиков представляет собой соосно укрепленный навалу прозрачный диск с нанесенной на него кодовой маской. Коды считываются при помощи системы какихлибо фотоэлементов. Главное назначение датчика — определить положение вала, те. угол его поворота по отношению к некоторому исходному состоянию.
Для примера на рис. 239 показан диск, разделенный на 16 равных частей — секторов (на практике их обычно тысячи. Все секторы пронумерованы, и каждый номер представлен в двоичном коде в виде сочетаний темных и светлых участков, расположенных на четырех концентрических кольцах.
Внутреннему кольцу поставлен в соответствие старший разряд номера, внешнему — младший (нов принципе, можно и наоборот. Нуль на диске обозначен светлой частью кольца, единица — зачернением. Считываются числа с диска параллельно, те. все четыре разряда одновременно, при помощи четырех фотоэлементов.
Главное достоинство датчика — его простота. Однако с практической точки зрения он почти непригоден. Дело в том, что параллельные коды хорошо считываются только в пределах каждого отдельного сектора, а при переходе от одного сектора к другому возникают помехи. Пусть число считывается в момент, когда под фотоэлементами проходит й сектора за ним идет сектор с нулевым номером. Какое число получится на границе секторов Это зависит от таких причин, как неточность изготовления маски и блока фотоэлементов, тепловая нестабильность, влияние различных вибраций и др. В общем случае на границе го и нулевого секторов может быть считано любое число от 0 до 15. Помехи имеют место также при переходе от первого сектора ко второму, от третьего к четвертому, от пятого к шестому и др.
Погрешности считывания можно не только уменьшить, но и полностью устранить, если воспользоваться невесовыми кодами, представляющими собой последовательности разрядных двоичных чисел, в которых каждые два соседних числа отличаются одно от другого только водном разряде. У таких кодов несколько названий. В [42] их называют кодами Грея, в [24] — циклическими и прогрессивными, в [5] — рефлексивными, в [40] — рефлексными и отраженными.
В данном пособии используется термин
«рефлексный код и его частный случай, получивший наибольшее распространение, — «код
Грея». С этого частного случая и начнем рассматривать рефлексные коды.
Главная особенность кода Грея, обеспечившая ему широкое практическое применение,
состоит в простоте его построения. Пусть а двоичное разрядное число обычной (весовой)
системы счисления, b — соответствующее чис
Рис. 239
17. КОМБИНАЦИОННЫЕ СХЕМЫ
341
ло в коде Грея. Тогда правило, по которому можно найти код Грея по заданному двоичному числу а, представится формулой вида a
i
Å где
Å — знак сложения по модулю 2; i — порядковый номер разряда в числе а i = 1, 2, 3, …, n; счет начинается с младшего разряда.
Чтобы поэтому правилу найти код Грея, достаточно поразрядно сложить по модулю два число ас самим собой, но сдвинутым вправо на один разряд с потерей цифры младшего разряда и записью нуля в старшем разряде 2
2 1
1 3
2 1
2 2
1 0
,
n
n
n
n
n
n
n
n
a
a
a
a
a
a
a
a
a
a
b
b
b
b
b
b
1 1
1 1
1 где a
1
Å a
2
;
b
2
= a
2
Å a
3
;
…
b
n
–1
= a
n–
1
Å a
n
;
b
n
= Например, при n = 4 последовательность кодов Грея, полученная на основе правила сложения (20), имеет вид, 0001, 0011, 0010, 0110, 0111, 0101, 0100,
1100, 1101, 1111, 1110, 1010, 1011, 1001, Код Грея является невесовым в отличие от обычной двоичной системы счисления. Это значит, что образующие его двоичные числа надо рассматривать только как упорядоченные наборы нулей и единиц без присвоения им весов. Например, двоичному весовому числу 10011 (в десятичной системе это 19) соответствует код Грея 11010, и если его считать весовым, то получится число 26 (в десятичной системе. В связи с этим каждому невесовому коду обычно присваивается таили иная величина либо с применением правила, как в случае кода Грея, либо при помощи таблицы.
Если на рис. 239 вместо обычной двоичной (весовой) системы использовать код Грея, тона границах секторов всегда будет изменяться цифра только водном какомлибо разряде. Благодаря этому в моменты перехода диска от одного кодак другому помехи появиться не могут.
Упражнения
1. Укажите двоичный код Грея, соответствующий шестизначному весовому числу, представленному в десятичной системе) (ПАФ) 32;
3) (862) 12;
5) (ОВЗ) 19;
2) (СГИ) 24;
4) (035) 36;
6) (ВДК) 40.
2. Назовите десятичные эквиваленты двоичных чисел (в порядке их возрастания, которые в принципе могут быть считаны фотодатчиками с диска на границе секторов с номерами (рис. 239):
1) (ТЭЛ) 5 и 6; 2) (МТМ) 9 и 10; 3) (ИКЭ) 13 и 14.
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
17.23.
ПРЕОБРАЗОВАТЕЛЬ КОДА ГРЕЯ
В ВЕСОВОЙ ДВОИЧНЫЙ КОД
Числа, формируемые преобразователем угла поворота вала в код Грея,
обычно подвергаются дальнейшей обработке при помощи компьютера либо специализированного устройства. Однако прежде чем обрабатывать эти числа, их необходимо представить в обычной весовой системе счисления, так как операции над невесовыми кодами Грея являются очень сложными.
Для построения преобразователя кода Грея в весовую двоичную систему счисления воспользуемся тем, что если b
i
= a
i
Å a
i
+1
, то a
i
= b
i
Å Убедиться в справедливости этого далеко не очевидного утверждения можно путем сплошного перебора значений всех переменных. Полный их перечень приведен в табл. 29, из которой видно, что на каждом наборе значений переменных b
i
, ив обоих выражениях имеет место либо равенство левой и правой частей, либо в обоих случаях левая часть неравна правой, что и доказывает справедливость утверждения (Пусть n = 5, те. на вход преобразователя поступают пятизначные коды Грея вида b
5
b
4
b
3
b
2
b
1
. Тогда на выход должны проходить весовые двоичные числа а а а а
2
а
1
, где а старший разряда младший.
Выходные сигналы являются функциями входных. Их список, полученный из формулы (21), имеет вида а b
4
Å а b
4
Å а b
3
Å а b
3
Å а b
2
Å а b
2
Å b
3
Å b
4
Å а b
1
Å а b
1
Å b
2
Å b
3
Å b
4
Å Комбинационная схема, реализующая эту систему функций, приведена на рис. 240 в виде ленточной однородной среды, я ячейка которой имеет один информационный вход b
i
, один соединительный вход, связывающий 1
1
17.23.
ПРЕОБРАЗОВАТЕЛЬ КОДА ГРЕЯ
В ВЕСОВОЙ ДВОИЧНЫЙ КОД
Числа, формируемые преобразователем угла поворота вала в код Грея,
обычно подвергаются дальнейшей обработке при помощи компьютера либо специализированного устройства. Однако прежде чем обрабатывать эти числа, их необходимо представить в обычной весовой системе счисления, так как операции над невесовыми кодами Грея являются очень сложными.
Для построения преобразователя кода Грея в весовую двоичную систему счисления воспользуемся тем, что если b
i
= a
i
Å a
i
+1
, то a
i
= b
i
Å Убедиться в справедливости этого далеко не очевидного утверждения можно путем сплошного перебора значений всех переменных. Полный их перечень приведен в табл. 29, из которой видно, что на каждом наборе значений переменных b
i
, ив обоих выражениях имеет место либо равенство левой и правой частей, либо в обоих случаях левая часть неравна правой, что и доказывает справедливость утверждения (Пусть n = 5, те. на вход преобразователя поступают пятизначные коды Грея вида b
5
b
4
b
3
b
2
b
1
. Тогда на выход должны проходить весовые двоичные числа а а а а
2
а
1
, где а старший разряда младший.
Выходные сигналы являются функциями входных. Их список, полученный из формулы (21), имеет вида а b
4
Å а b
4
Å а b
3
Å а b
3
Å а b
2
Å а b
2
Å b
3
Å b
4
Å а b
1
Å а b
1
Å b
2
Å b
3
Å b
4
Å Комбинационная схема, реализующая эту систему функций, приведена на рис. 240 в виде ленточной однородной среды, я ячейка которой имеет один информационный вход b
i
, один соединительный вход, связывающий 1
1
1 ... 39 40 41 42 43 44 45 46 ... 77
1212
1
1112
112
1 2
1
1211
1
1112
112
1
121212 1232121212 1232121212 121242 1222121242 1222121242 124212 1222421212 4222121212 124242 1232421242 4232121242 421212 4222121212 1222421212 421242 4232121242 12324212242 424212 4232421212 42324212212 424242 4222421242 4222421242 Рис. 240
17. КОМБИНАЦИОННЫЕ СХЕМЫ
343
ячейки между собой, один информационный выходи один соединительный выход, совпадающий с информационным (i = 1, 2, 3, 4, На соединительный вход ячейки старшего разряда необходимо подать низкий (нулевой) уровень напряжения. Если же подать высокий (единичный)
уровень, то каждая цифра выходного кода проинвертируется и на выход преобразователя поступит обратный (проинвертированный, инверсный) код.
Упражнения
1. На вход преобразователя (рис. 240) поступило пятизначное число b в коде Грея. Найдите выходное число в весовой двоичной системе, если) (ЗРЗ) b = 00111;
3) (БК5) b = 01101;
5) (ЕВХ) b = 10001;
2) (291) b = 11011;
4) (294) b = 10111;
6) (ШИК) b = 11100.
2. На соединительный вход левой ячейки (рис. 240) подан единичный уровень напряжения. Найдите выходной код, если входное число b равно) (МЕЛ) b = 10000;
3) (ОЗФ) b = 01010;
5) (459) b = 00000;
2) (ИРН) b = 11111;
4) (БТХ) b = 01110;
6) (128) b = 00010.
17.24.
ПРЕОБРАЗОВАНИЕ
ПРОИЗВОЛЬНОГО РЕФЛЕКСНОГО КОДА
В ДВОИЧНЫЙ ВЕСОВОЙ КОД
Кроме кодов Грея, существует большое число других рефлексных кодов.
Все их можно получить при помощи карты Вейча n переменных, если учесть,
что двоичные номера минтермов, расположенных в соседних клетках карты, отличаются друг от друга только водном разряде (напомним клетки на карте являются соседними, если соответствующие им минтермы склеиваются. Выберем какуюлибо клетку на карте и запишем ее номер. Перейдем в соседнюю клетку и новый номер запишем справа от прежнего и т. д. На рис. 241 показан вариант обхода карты. Если начать с нулевого номера, то получим рефлексный код, представленный в табл. Слева в этой таблице указаны обычные двоичные
(весовые) числа, а справа — соответствующие им невесовые числа рефлексного двоичного кода.
Обычно в таблицах соответствия в левой части записывают входные коды преобразователя, а в правой указывают, во что должны быть преобразованы подаваемые на вход коды. Это значит, что по табл. 30 можно построить преобразователь весовых двоичных кодов в рефлексные. Нов данном случае нас интересует обратная задача — преобразование рефлексного кода в весовой двоичный. Чтобы построить преобразователь рефлексного кода в двоичный весовой, левую и правую части табл. 30 необходимо поменять местами. Получим табл. 31. Буквами A, B, C, D в ней обозначены двоичные разряды входных чисел преобразователя, символами f
1
, f
2
, f
3
, f
4
— его выходы.
Рис. 241
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Старшему разряду выходного числа соответствует выход f
1
, младшему —
f
4
. Рассматривая табл. 31 как таблицу соответствия для четырех функций,
получаем систему функций 3
2 4
3 1
;
;
;
,
1 2
2 1
2 1
2 где S
1
и S
3
— симметрические функции с ачислами, равными 1 и 3:
1 А В С BCD
ABC D
AB C D
S
ABCD
ABCD
ABCD
ABCD
1 2
2 2
1 2
2 Так как функция f
4
не поддается минимизации в смысле Квайна, то для ее реализации следует использовать однородную структуру «четнечет»
(см. подраздел В последовательность рефлексного кода может входить и меньшее количество чисел, чем 2
n
. Например, для кодирования десятичных цифр можно использовать последовательность вида, 0010, 1010, 1011, 1111, 1101, 1100, 1110, 0110, Если учесть, что на вход преобразователя будут подаваться только эти числа, то при разработке соответствующей комбинационной схемы неиспользуемые коды можно рассматривать как неопределенные состояния. С уче
12345627897
123425678295 89 9 999
9
19293949
5
1
95
2
95
3
95
4
9
12 12121212 12121212 32 12121232 12121232 42 12321232 12123212 52 12321212 12123232 62 12323212 12321212 72 12323232 12321232 82 12123232 12323212 332 32123232 12323232 342 32323232 32121212 352 32323212 32121232 392 32321212 32123212 382 32321232 32123232 2
32121232 32321212 2
32121212 32321232 312 32123212 32323212 92 12123212 32323232 1
12345627897
12324252
67897 72
2
12121212 12121212 12121232 12121232 12123212 12321232 12123232 12321212 12321212 12323212 12321232 12323232 12323212 12123232 12323232 32123232 32121212 32323232 32121232 32323212 32123212 32321212 32123232 32321232 32321212 32121232 32321232 32121212 32323212 32123212 32323232 12123212 1
Старшему разряду выходного числа соответствует выход f
1
, младшему —
f
4
. Рассматривая табл. 31 как таблицу соответствия для четырех функций,
получаем систему функций 3
2 4
3 1
;
;
;
,
1 2
2 1
2 1
2 где S
1
и S
3
— симметрические функции с ачислами, равными 1 и 3:
1 А В С BCD
ABC D
AB C D
S
ABCD
ABCD
ABCD
ABCD
1 2
2 2
1 2
2 Так как функция f
4
не поддается минимизации в смысле Квайна, то для ее реализации следует использовать однородную структуру «четнечет»
(см. подраздел В последовательность рефлексного кода может входить и меньшее количество чисел, чем 2
n
. Например, для кодирования десятичных цифр можно использовать последовательность вида, 0010, 1010, 1011, 1111, 1101, 1100, 1110, 0110, Если учесть, что на вход преобразователя будут подаваться только эти числа, то при разработке соответствующей комбинационной схемы неиспользуемые коды можно рассматривать как неопределенные состояния. С уче
12345627897
123425678295 89 9 999
9
19293949
5
1
95
2
95
3
95
4
9
12 12121212 12121212 32 12121232 12121232 42 12321232 12123212 52 12321212 12123232 62 12323212 12321212 72 12323232 12321232 82 12123232 12323212 332 32123232 12323232 342 32323232 32121212 352 32323212 32121232 392 32321212 32123212 382 32321232 32123232 2
32121232 32321212 2
32121212 32321232 312 32123212 32323212 92 12123212 32323232 1
12345627897
12324252
67897 72
2
12121212 12121212 12121232 12121232 12123212 12321232 12123232 12321212 12321212 12323212 12321232 12323232 12323212 12123232 12323232 32123232 32121212 32323232 32121232 32323212 32123212 32321212 32123232 32321232 32321212 32121232 32321232 32121212 32323212 32123212 32323232 12123212 1
17. КОМБИНАЦИОННЫЕ СХЕМЫ
345
том этого список минимальных ДНФ булевых функций, описывающих комбинационную схему преобразователя, имеет вид 2
3 4
;
;
;
1 1
1 2
1 2
2 2
2
f
AB
f
AB
f
AD
AB
f
CD
BD
A B Замкнутая последовательность чисел рефлексного кода, когда первое и последнее числа отличаются друг от друга также лишь водном разряде, всегда содержит четное количество чисел. Если число кодов в последовательности нечетно, то эта последовательность всегда разомкнута.
Упражнения
1. Постройте комбинационную схему, преобразующую рефлексные коды, 0010, 1010, 1011, 1001, 1101, 1111, 0111, 0101, 0001 в двоичные весовые коды десятичных цифр. Отсутствующие в рефлексном коде двоичные комбинации считать неопределенными состояниями. Входному коду соответствует выходной код 0000. Сколько вхождений неинверсных и сколько инверсных аргументов имеет минимальная ДНФ функции) (ЯРФ) f
1
, 2) (922) f
2
, 3) (АРЗ) f
3
, 4) (734) Здесь функция f
1
соответствует старшему разряду выходного кода Пусть комбинационный преобразователь (см. предыдущее упражнение) построен на основе минимальных ДНФ булевых функций) (ПОЧ Сколько в схеме трехвходовых элементов И Сколько трехвхо
довых элементов ИЛИ) (МОК Сколько в схеме четырехвходовых элементов И Сколько че
тырехвходовых элементов ИЛИ (СИЛ. Укажите номера последовательностей, которые представляют собой разомкнутый рефлексный код) 0001, 0101, 0111, 1111, 1101;
2) 0010, 0011, 0111, 0110, 1110, 1111, 1011, 1010;
3) 0111, 0101, 0001, 0000, 0010, 1010, 1000, 1001;
4) 0000, 0100, 0110, 1110, 0111, 0010, 0011;
5) 1001, 1100, 1010, 1011, 1001;
6) 1100, 1101;
7) 1110, 0110, 0111, 1111;
8) 1110, 1100, 1000, 0000, 0001, 0011, 0111;
9) 1001, 1101, 1011, 110.
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
ФУНКЦИОНАЛЬНАЯ
ПОЛНОТА СИСТЕМЫ
ЛОГИЧЕСКИХ
ЭЛЕМЕНТОВ
18.1.
ПОНЯТИЕ
ФУНКЦИОНАЛЬНОЙ ПОЛНОТЫ
П
ри помощи трех логических элементов, реализующих булевы операции конъюнкции, дизъюнкции и инверсии, может быть построена любая комбинационная схема. Это значит, что достаточно освоить массовый выпуск логических элементов И, ИЛИ, НЕ, и специалисты по вычислительной технике получат в свое распоряжение набор элементов, обеспечивающий возможность построения любых вычислительных устройств дискретного действия. Такие наборы (базисы, согласно [16]) принято называть функционально пол
ными.
Возникают вопросы верно ли, что элементы И, ИЛИ,
НЕ действительно образуют полный набор и как это доказать Нельзя ли обойтись двумя элементами, те. не образуют ли функционально полный набор, например, элементы И и ИЛИ Может быть, следует выпускать не простейшие логические схемы И, ИЛИ, НЕ, а какиелибо другие,
реализующие более сложные булевы функции, допустим,
такие как 2
1 2
2 1
2 2
1 2
3
;
;
f
AB
A B
f
AB
BC
D
f
ABC
B C и др Можно ли обойтись одним логическим элементом и как убедиться в том, что он является универсальным, те. сам по себе образует функционально полный набор На все подобные вопросы ответы дает теорема о функциональной полноте, сформулированная и доказанная выдающимся американским математиком Эмилем Л. Постом (иногда ее называют теоремой
Поста–Яблонского [14]). Этой теореме посвящен основной материал данного раздела. Но сначала изучим основные свойства пяти замечательных классов булевых функций самодвойст
венных, линейных, монотонных, сохраняющих нуль и сохра
ФУНКЦИОНАЛЬНАЯ
ПОЛНОТА СИСТЕМЫ
ЛОГИЧЕСКИХ
ЭЛЕМЕНТОВ
18.1.
ПОНЯТИЕ
ФУНКЦИОНАЛЬНОЙ ПОЛНОТЫ
П
ри помощи трех логических элементов, реализующих булевы операции конъюнкции, дизъюнкции и инверсии, может быть построена любая комбинационная схема. Это значит, что достаточно освоить массовый выпуск логических элементов И, ИЛИ, НЕ, и специалисты по вычислительной технике получат в свое распоряжение набор элементов, обеспечивающий возможность построения любых вычислительных устройств дискретного действия. Такие наборы (базисы, согласно [16]) принято называть функционально пол
ными.
Возникают вопросы верно ли, что элементы И, ИЛИ,
НЕ действительно образуют полный набор и как это доказать Нельзя ли обойтись двумя элементами, те. не образуют ли функционально полный набор, например, элементы И и ИЛИ Может быть, следует выпускать не простейшие логические схемы И, ИЛИ, НЕ, а какиелибо другие,
реализующие более сложные булевы функции, допустим,
такие как 2
1 2
2 1
2 2
1 2
3
;
;
f
AB
A B
f
AB
BC
D
f
ABC
B C и др Можно ли обойтись одним логическим элементом и как убедиться в том, что он является универсальным, те. сам по себе образует функционально полный набор На все подобные вопросы ответы дает теорема о функциональной полноте, сформулированная и доказанная выдающимся американским математиком Эмилем Л. Постом (иногда ее называют теоремой
Поста–Яблонского [14]). Этой теореме посвящен основной материал данного раздела. Но сначала изучим основные свойства пяти замечательных классов булевых функций самодвойст
венных, линейных, монотонных, сохраняющих нуль и сохра
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
347
няющих единицу. Затем сформулируем теорему о функциональной полноте и рассмотрим все функции двух переменных. Завершим раздел обзором базовых систем элементарных булевых функций, где каждая система обладает функциональной полнотой.
18.2.
САМОДВОЙСТВЕННЫЕ ФУНКЦИИ
Функция называется самодвойственной, если имеет место равенство 2
1 2
(
,
,...,
)
(
,
,...,
).
n
n
f A
A
A
f A А
А
1
(22)
Согласно определению самодвойственная функция на противоположных наборах значений аргументов принимает противоположные значения. Два набора называются противоположными (взаимно инверсными, если их арифметическая сумма в десятичном представлении есть число 2
n
– 1, где n число разрядов в каждом наборе. По заданному набору найти ему противоположный очень легко достаточно в заданной двоичной последовательности нули заменить единицами, а единицы — нулями. Например, если 01100 заданный набор, то противоположный ему — В левой части табл. 32 перечислены все четырехзначные наборы значений аргументов A, B, C, D, расположенные в возрастающей последовательности, если наборы рассматривать как натуральные числа, представленные в двоичной системе. В таблице наблюдается своеобразная симметрия наборы, расположенные на одинаковых расстояниях от начала и конца таблицы,
являются противоположными. Это значит, что в диапазоне наборов 0000–0111 включительно в колонке, где записываются значения функции, единицы и нули можно располагать произвольно. При этом всякий раз будет получаться самодвойственная функция, если на противоположных наборах всюду записывать противоположные значения функции. В табл. 32 приведены три примера самодвойственных функций B C
ABC
ABC
A C D
ABCD
1 2
2 2
2 2
;
f
A C
A D
A B
B C D
1 2
2 2
(23)
3
f
BC D
BCD
ACD
ACD
1 2
2 Сколько существует самодвойственных функций?
При n = 4 значения функции произвольно выбираются только на восьми наборах, следовательно, всего существует 256 самодвойственных функций четырех аргументов. При n аргументах значения функции произвольно выбираются на половине всех возможных наборов, следовательно, число N самодвойственных функций равно 2 2
n
–1
12345627897
1
11213141 5
1
15
2
15
3
1
12 12121212 323212 32 12121232 323212 42 12123212 123212 52 12123232 123212 62 12321212 323232 72 12321232 123212 82 12323212 323212 92 12323232 321232 2
32121212 123212 2
32121232 121232 312 32123212 321232 332 32123232 121212 342 32321212 321232 352 32321232 321232 362 32323212 121232 372 32323232 121232 1
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Класс самодвойственных функций функционально замкнут. Доказательство этого утверждения можно найти в Что это значит класс функционально замкнут Пусть дано множество всех возможных самодвойственных функций. Выберем из них некоторую функцию и применим к ней операцию суперпозиции, те. вместо какого
либо аргумента подставим другую самодвойственную функцию. Получится новая функция. Может ли она быть несамодвойственной? Нет, применение операции суперпозиции в классе самодвойственных функций всегда дает только самодвойственные функции.
С технической точки зрения это значит, что если логический элемент реализует самодвойственную функцию, то он не является универсальным,
т. е. из таких элементов несамодвойственную функцию реализовать невоз
можно.
Рассмотрим пример. Подставим функцию (23) вместо аргумента А функции (24). Получится новая функция f
4
:
4 2
2 1
2 2
2 1
2 2
2
f
BCD
BCD
f CD
f CD
A Эта функция является самодвойственной, в чем нетрудно убедиться, если ее представить в виде таблицы соответствия.
Упражнения
1. Сколько существует самодвойственных функций) (МУ1) двух переменных) (У) трех переменных) (УП2) пяти переменных) (Водной переменной Укажите десятичные эквиваленты наборов, которые являются противоположными наборам вида) (НИЙ) 00110;
2) (УМК) 110010;
3) (Ш) 1001.
3. Сколько существует наборов значений аргументов, на которых само
двойственная функция принимает единичное значение, если она зависит от) (Х) пяти аргументов) (ЗУБ) шести аргументов) (ШАВ) трех аргументов) (2ПТ) n аргументов (УС. Самодвойственная функция трех переменных принимает единичное значение на наборах 0, 1, 2, 4. Укажите десятичные эквиваленты наборов, на которых эта функция принимает нулевое значение Укажите номера самодвойственных функций. (Н. ЛУНА А 4)
;
f
ABC
ACD
ABC
A C D
1 2
2 2
5)
;
f
AB
AC
BC
1 2
2 5)
;
f
ACD
ABC
ACD
ABC
1 2
2 2
6)
;
f
AC
BC
1 2
6)
;
f
AB C
ACD
A BC
A CD
1 2
2 2
7)
;
f
A B
A C
B C
1 2
2 7)
f
AC D
ABC
A CD
ABC
1 2
2 2
Класс самодвойственных функций функционально замкнут. Доказательство этого утверждения можно найти в Что это значит класс функционально замкнут Пусть дано множество всех возможных самодвойственных функций. Выберем из них некоторую функцию и применим к ней операцию суперпозиции, те. вместо какого
либо аргумента подставим другую самодвойственную функцию. Получится новая функция. Может ли она быть несамодвойственной? Нет, применение операции суперпозиции в классе самодвойственных функций всегда дает только самодвойственные функции.
С технической точки зрения это значит, что если логический элемент реализует самодвойственную функцию, то он не является универсальным,
т. е. из таких элементов несамодвойственную функцию реализовать невоз
можно.
Рассмотрим пример. Подставим функцию (23) вместо аргумента А функции (24). Получится новая функция f
4
:
4 2
2 1
2 2
2 1
2 2
2
f
BCD
BCD
f CD
f CD
A Эта функция является самодвойственной, в чем нетрудно убедиться, если ее представить в виде таблицы соответствия.
Упражнения
1. Сколько существует самодвойственных функций) (МУ1) двух переменных) (У) трех переменных) (УП2) пяти переменных) (Водной переменной Укажите десятичные эквиваленты наборов, которые являются противоположными наборам вида) (НИЙ) 00110;
2) (УМК) 110010;
3) (Ш) 1001.
3. Сколько существует наборов значений аргументов, на которых само
двойственная функция принимает единичное значение, если она зависит от) (Х) пяти аргументов) (ЗУБ) шести аргументов) (ШАВ) трех аргументов) (2ПТ) n аргументов (УС. Самодвойственная функция трех переменных принимает единичное значение на наборах 0, 1, 2, 4. Укажите десятичные эквиваленты наборов, на которых эта функция принимает нулевое значение Укажите номера самодвойственных функций. (Н. ЛУНА А 4)
;
f
ABC
ACD
ABC
A C D
1 2
2 2
5)
;
f
AB
AC
BC
1 2
2 5)
;
f
ACD
ABC
ACD
ABC
1 2
2 2
6)
;
f
AC
BC
1 2
6)
;
f
AB C
ACD
A BC
A CD
1 2
2 2
7)
;
f
A B
A C
B C
1 2
2 7)
f
AC D
ABC
A CD
ABC
1 2
2 2
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
349
18.3.
ЛИНЕЙНЫЕ ФУНКЦИИ
Функция называется линейной, если в алгебре Жегалкина она может быть представлена в виде полинома первой степени (те. без конъюнкций).
Например, функции A
Å B, f
2
= A
Å B Å C Å 1, f
3
= B
Å являются линейными. Функция f = С B содержит конъюнкцию, поэтому не относится к классу линейных.
Если n — число аргументов, то все линейные функции можно получить из выражения а а
1
А
1
Å а
2
А
2
Å…Å а
n
А
n
,
(25)
где А, А, …, Алогические переменные а, а, …, а коэффициенты,
равные нулю либо единице.
Каждому набору коэффициентов соответствует некоторая линейная функция. Так как всего имеется n + 1 коэффициентов, то число M линейных функций равно Например, если n = 0 (логические аргументы отсутствуют, то M = 2. Это значит, что функции константа нуль и константа единица являются линей
ными.
Пусть задана булева функция, выраженная через операции И, ИЛИ, НЕ.
Для того чтобы установить, является ли она линейной, ее необходимо перевести в алгебру Жегалкина. Если после упрощения в полиноме Жегалкина не останется конъюнкций, то, как было сказано выше, заданная функция является линейной. Например B
1 Переведем эту функцию в алгебру Жегалкина:
(1
)(1
)
1 1.
f
AB
A B
AB
A
B
AB
A
B
AB
A
B
1 2
1 3 3 3
1 3 3 3 3 1 3 Таким образом, функция f
AB
A B
1 2
относится к классу линейных.
Класс линейных функций является функционально замкнутым, те. в результате суперпозиции линейных функций будут получаться только линейные функции. Чтобы убедиться в справедливости этого утверждения,
подставим вместо какоголибо аргумента, например А, выражения (25) линейную функцию вида b
0
Å b
1
B
1
Å b
2
B
2
Å…Å Тогда получим = a
0
Å a
1
(b
0
Å b
1
B
1
Å … Å b
k
B
k
)
Å a
2
A
2
Å … Å Очевидно, что при а 0 имеем f
¢ = f, где f — это выражение (25), представляющее собой линейную функцию. Если же а 1, то функция f
¢, если в ней раскрыть скобки, будет содержать конъюнкции только констант, следовательно, ив этом случае функция f
¢ окажется линейной
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Упражнения
1. Укажите номера линейных функций. (УИФ)
II. УС) f
4
= A + B + C + D;
5) f
5
= 1;
5) f
5
= AB
Å A Å B Å AB;
6) f
6
= AB;
6 6)
;
f
A
B
1 2 7) f
7
= A + B + C;
7) f
7
= A + B + 1.
2. Сколько существует линейных функций, если число переменных) (Т) равно 5? 2) (Ц) равно 6? 3) (Д) равно 9?
3. (ААК). Укажите номера верных утверждений) если f — линейная булева функция, то
f
— также является линейной функцией) если f
1
и f
2
— линейные функции, то при f
1
¹ f
2
их дизъюнкция всегда является нелинейной функцией) если f
1
и f
2
— линейные булевы функции, то при f
1
¹ f
2
их конъюнкция всегда является нелинейной функцией) если f — нелинейная булева функция, то конъюнкция этой функции и ее инверсии есть линейная функция) если f — нелинейная булева функция, то ее инверсия есть линейная функция) если f — нелинейная булева функция, то f
Å f является линейной функцией) если f — нелинейная булева функция, то дизъюнкция этой функции и ее инверсии есть линейная функция (317). Укажите номера верных утверждений) всякая линейная функция самодвойственна;
2) всякая самодвойственная функция линейна) если f
1
— линейная функция, а f
2
— нелинейная, то их дизъюнкция не всегда является нелинейной функцией) если f
1
— линейная функция, а f
2
— нелинейная, то их сумма по модулю два всегда нелинейна) инверсия всякой линейной функции является нелинейной функцией) применяя операцию суперпозиции к нелинейной функции, всегда можно получить линейную функцию) всякая симметрическая функция линейна.
Упражнения
1. Укажите номера линейных функций. (УИФ)
II. УС) f
4
= A + B + C + D;
5) f
5
= 1;
5) f
5
= AB
Å A Å B Å AB;
6) f
6
= AB;
6 6)
;
f
A
B
1 2 7) f
7
= A + B + C;
7) f
7
= A + B + 1.
2. Сколько существует линейных функций, если число переменных) (Т) равно 5? 2) (Ц) равно 6? 3) (Д) равно 9?
3. (ААК). Укажите номера верных утверждений) если f — линейная булева функция, то
f
— также является линейной функцией) если f
1
и f
2
— линейные функции, то при f
1
¹ f
2
их дизъюнкция всегда является нелинейной функцией) если f
1
и f
2
— линейные булевы функции, то при f
1
¹ f
2
их конъюнкция всегда является нелинейной функцией) если f — нелинейная булева функция, то конъюнкция этой функции и ее инверсии есть линейная функция) если f — нелинейная булева функция, то ее инверсия есть линейная функция) если f — нелинейная булева функция, то f
Å f является линейной функцией) если f — нелинейная булева функция, то дизъюнкция этой функции и ее инверсии есть линейная функция (317). Укажите номера верных утверждений) всякая линейная функция самодвойственна;
2) всякая самодвойственная функция линейна) если f
1
— линейная функция, а f
2
— нелинейная, то их дизъюнкция не всегда является нелинейной функцией) если f
1
— линейная функция, а f
2
— нелинейная, то их сумма по модулю два всегда нелинейна) инверсия всякой линейной функции является нелинейной функцией) применяя операцию суперпозиции к нелинейной функции, всегда можно получить линейную функцию) всякая симметрическая функция линейна.
1 ... 40 41 42 43 44 45 46 47 ... 77
18.4.
МОНОТОННЫЕ ФУНКЦИИ
Булева функция n аргументов называется монотонной, если при любом возрастании наборов значений аргументов значения функции не убывают Появилось новое понятие — возрастающие наборы. Пусть даны два набора a
1
a
2
… a
n
–1
a
n
; b = b
1
b
2
… b
n
–1
b
n
,
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
351
где a
i
и b
i
(i = 1, 2, 3, …, n) — двоичные значения отдельных разрядов наборов и b. Если одновременно выполняются условия a
1
, b
2
a
2
, …, b
n
–1
a
n
–1
, b
n
то b
a. Говорят, что набор b не меньше набора Наборы, на которых выполняются условия (26), называются сравнимыми. Все остальные наборы называются несравнимыми. Например, относительно наборов
а
= 010010 и b = нельзя сказать, что b
a или a b, так как для первых разрядов b
1
> a
1
, а для вторых a
2
> В вышеприведенном определении монотонной функции говорится только о сравнимых наборах. В связи с этим необходимо отметить, что на несравнимых наборах значения монотонной функции могут и убывать, те. переходить с единичного значения на нулевое. Например, в табл. 33 показано, что при переходе с набора 010 на сравнимый с ним набор 011 функция возрастает, а при переходе с набора на несравнимый с ним набор 100 — убывает.
На несравнимых наборах функция может не только убывать, но и оставаться неизменной.
Всякая монотонная функция имеет единственную минимальную ДНФ,
которая совпадает с сокращенной ДНФ, и единственную минимальную КНФ,
совпадающую с сокращенной КНФ, причем обе формы не содержат инверсных аргументов. Например, в результате минимизации функции (3, 5, 7, 10, 11, 12, 13, 14, получаем минимальные ДНФ и КНФ, в которые все переменные входят без знаков отрицания AB + AC + BD + CD; f = (A + D)(B + Верно и обратное утверждение если в аналитической записи функции отсутствуют инверсные аргументы, то функция является монотонной. Это утверждение можно использовать в качестве критерия для распознавания монотонных функций. Если же распознавание осуществляется при помощи таблицы соответствия, тов общем случае следует проверить все пары наборов, число N которых равно 1
2 1
1 2
2 2
1 2
2
(
)
,
n
n
n
n
n
N
C
1 1
1 2
2 1 2 где n — число двоичных знаков в наборе. Например, в случае трехразрядных наборов необходимо проверить 28 пар, в случае четырехразрядных — и т. д. Очевидно, что метод перебора всех пар наборов достаточно эффективен лишь при использовании компьютера.
Монотонные функции образуют функционально замкнутый класс. Это значит, что никакая система монотонных функций не обладает функциональной полнотой. Доказательство этого утверждения можно найти в [32].
12345627887
1
112131
45
12 121212 12 32 121232 12 42 123212 12 52 123232 32 62 321212 12 72 321232 32 82 323212 32 92 323232 32 1
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Упражнения
1. Укажите пары, содержащие сравнимые наборы. (БАШ. (ЖУЖ)
1) 01100 и 11100;
1) 1100 и 11000;
2) 00000 и 11111;
2) 0000 и 11111;
3) 00001 и 00010;
3) 1111 и 1111;
4) 11100 и 11100;
4) 10101 и 01010;
5) 0011 и 1100;
5) 10001 и 11101;
6) 1001 и 1001;
6) 00000 и 10000;
7) 10001 и 01110;
7) 10000 и 00001.
2. (ЮАИ). Укажите номера наборов, которые больше набора 10001:
1) 11100;
4) 10000;
7) 10001;
2) 01101;
5) 10011;
8) 11110;
3) 11001;
6) 11111;
9) 11011.
3. Укажите номера монотонных функций. (ШВЕ. (А) f
1
= ABC;
1 1)
(
);
f
A A
B
1 2
2) f
2
= A + B + C;
2 2)
;
f
A B
AB
1 2
3 3)
;
f
A
B
1 2 3
3)
;
f
AB
AB
1 2
4) f
4
= 0;
4 4)
;
f
A B
A B
1 2
5 5)
;
f
A
A
1 2 5
5)
(
)(
);
f
A
B A
B
1 2
2 6
6)
(
);
f
A A
B
1 2
6 6)
;
f
A BC
A BC
1 2
7 7)
;
f
A
AB
1 2 7
7)
f
A BC
A BC
1 2
4. Укажите номера монотонных функций. (ТАМ. (КП7)
1 1)
;
f
AB
ABC
1 2
1) f
1
= S
4
(A, B, C, D);
2 2)
(
)(
);
f
A
B A
B
C
1 2
2 2 2) f
2
= S
2,3
(A, B, C, D);
3 3)
;
f
A
BC
1 2 3) f
3
= S
2,3,4
(A, B, C, D);
4 4)
;
f
A BC
C
1 2
4 4)
;
f
A
B
A B
1 2 2 5
5)
;
f
B
AC
1 2 5
5)
;
f
A
B
C
A B C
1 2 2 2 6
6)
;
f
C
A B C
1 2 6) f
6
= S
1,2
(A, B, C, D);
7 7)
;
f
AB
AC
A B C
1 2
2 7) f
7
= S
3,4
(A, B, C, D).
5. (ЕТК). На какие вопросы Вы ответите да) может ли линейная функция быть монотонной) может ли самодвойственная функция быть монотонной) существуют ли монотонные функции, инверсии которых представляют собой монотонные функции) является ли монотонной конъюнкция двух монотонных функций) всегда ли функция немонотонна, если в ее аналитической записи есть инверсные аргументы) верно ли, что если в ДНФ функции нет инверсных аргументов и все простые импликанты различны, то она представлена в минимальной форме) всегда ли монотонна функция f
1
Å f
2
, если f
1
и f
2
— монотонные функции
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
353
18.5.
ФУНКЦИИ, СОХРАНЯЮЩИЕ ЕДИНИЦУ
Булева функция сохраняет единицу, если на единичном наборе значений аргументов она принимает единичное значение. Набор называется единичным, если он состоит только из единиц, то есть в нем нет нулей. Примером функции, сохраняющей единицу, может служить выражение CD
1 Если в этом выражении принять A = B = C = D = 1 (набор имеет вид то функция примет единичное значение. Функция не сохраняет единицу, так как f = 0 при A = B = C = D = Пусть некоторая булева функция представлена в СДНФ. Чтобы определить, сохраняет она единицу или не сохраняет, достаточно выяснить, входит ли в нее минтерм с максимальным индексом, тес индексом, равным 2
n
– где n — число аргументов функции. Например, функция трех аргументов сохраняет единицу, если в нее входит минтерм m
7
. Функция четырех аргументов сохраняет единицу, если в нее входит минтерм m
15
, и т. д.
Пусть функция представлена в произвольной ДНФ. Чтобы узнать, сохраняет ли она единицу, нет необходимости вычислять ее значение на единичном наборе. Достаточно выяснить, входит ли в нее хотя бы одна конъюнкция без инверсий. Если такая конъюнкция есть, то функция сохраняет единицу,
поскольку во всякую конъюнкцию, не содержащую инверсий, входит мин
терм с индексом 2
n
– 1. В этом легко убедиться, если конъюнкцию, в которой нет инверсий, разложить по всем не входящим в нее переменным. Пусть,
например, некоторая функция f (A, B, C, D) содержит конъюнкцию АС. В результате разложения ее попеременным В и D получаем) (
)
AC
A B
B C D
D
A BCD
A BCD
A BCD
A BCD
1 2
2 1
2 Из этого выражения видно, что в конъюнкцию АС входит минтерм m
15
=
= ABCD, следовательно, заданная функция f (A, B, C, D) сохраняет единицу.
Функция, представленная в КНФ, сохраняет единицу, если в каждую ее дизъюнкцию входит хотя бы один неинверсный аргумент. Примером может служить функция вида A
C A
B
D
1 2 3 3 3
3 Если в этом выражении раскрыть скобки, те. представить его в ДНФ, то среди всех конъюнкций окажутся выражения AC ив которые входит минтерм m
15
. Следовательно, функция j сохраняет единицу.
Сколько существует функций n аргументов, сохраняющих единицу Определить это очень легко. В каждую из этих функций входит минтерм с индексом 2
n
– 1. Все остальные минтермы, число которых равно 2
n
– 1, могут входить в функцию в любых сочетаниях. Следовательно, число R функций,
сохраняющих единицу, равно 1
2
n
R
1 2
Упражнения
1. Укажите пары, содержащие сравнимые наборы. (БАШ. (ЖУЖ)
1) 01100 и 11100;
1) 1100 и 11000;
2) 00000 и 11111;
2) 0000 и 11111;
3) 00001 и 00010;
3) 1111 и 1111;
4) 11100 и 11100;
4) 10101 и 01010;
5) 0011 и 1100;
5) 10001 и 11101;
6) 1001 и 1001;
6) 00000 и 10000;
7) 10001 и 01110;
7) 10000 и 00001.
2. (ЮАИ). Укажите номера наборов, которые больше набора 10001:
1) 11100;
4) 10000;
7) 10001;
2) 01101;
5) 10011;
8) 11110;
3) 11001;
6) 11111;
9) 11011.
3. Укажите номера монотонных функций. (ШВЕ. (А) f
1
= ABC;
1 1)
(
);
f
A A
B
1 2
2) f
2
= A + B + C;
2 2)
;
f
A B
AB
1 2
3 3)
;
f
A
B
1 2 3
3)
;
f
AB
AB
1 2
4) f
4
= 0;
4 4)
;
f
A B
A B
1 2
5 5)
;
f
A
A
1 2 5
5)
(
)(
);
f
A
B A
B
1 2
2 6
6)
(
);
f
A A
B
1 2
6 6)
;
f
A BC
A BC
1 2
7 7)
;
f
A
AB
1 2 7
7)
f
A BC
A BC
1 2
4. Укажите номера монотонных функций. (ТАМ. (КП7)
1 1)
;
f
AB
ABC
1 2
1) f
1
= S
4
(A, B, C, D);
2 2)
(
)(
);
f
A
B A
B
C
1 2
2 2 2) f
2
= S
2,3
(A, B, C, D);
3 3)
;
f
A
BC
1 2 3) f
3
= S
2,3,4
(A, B, C, D);
4 4)
;
f
A BC
C
1 2
4 4)
;
f
A
B
A B
1 2 2 5
5)
;
f
B
AC
1 2 5
5)
;
f
A
B
C
A B C
1 2 2 2 6
6)
;
f
C
A B C
1 2 6) f
6
= S
1,2
(A, B, C, D);
7 7)
;
f
AB
AC
A B C
1 2
2 7) f
7
= S
3,4
(A, B, C, D).
5. (ЕТК). На какие вопросы Вы ответите да) может ли линейная функция быть монотонной) может ли самодвойственная функция быть монотонной) существуют ли монотонные функции, инверсии которых представляют собой монотонные функции) является ли монотонной конъюнкция двух монотонных функций) всегда ли функция немонотонна, если в ее аналитической записи есть инверсные аргументы) верно ли, что если в ДНФ функции нет инверсных аргументов и все простые импликанты различны, то она представлена в минимальной форме) всегда ли монотонна функция f
1
Å f
2
, если f
1
и f
2
— монотонные функции
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
353
18.5.
ФУНКЦИИ, СОХРАНЯЮЩИЕ ЕДИНИЦУ
Булева функция сохраняет единицу, если на единичном наборе значений аргументов она принимает единичное значение. Набор называется единичным, если он состоит только из единиц, то есть в нем нет нулей. Примером функции, сохраняющей единицу, может служить выражение CD
1 Если в этом выражении принять A = B = C = D = 1 (набор имеет вид то функция примет единичное значение. Функция не сохраняет единицу, так как f = 0 при A = B = C = D = Пусть некоторая булева функция представлена в СДНФ. Чтобы определить, сохраняет она единицу или не сохраняет, достаточно выяснить, входит ли в нее минтерм с максимальным индексом, тес индексом, равным 2
n
– где n — число аргументов функции. Например, функция трех аргументов сохраняет единицу, если в нее входит минтерм m
7
. Функция четырех аргументов сохраняет единицу, если в нее входит минтерм m
15
, и т. д.
Пусть функция представлена в произвольной ДНФ. Чтобы узнать, сохраняет ли она единицу, нет необходимости вычислять ее значение на единичном наборе. Достаточно выяснить, входит ли в нее хотя бы одна конъюнкция без инверсий. Если такая конъюнкция есть, то функция сохраняет единицу,
поскольку во всякую конъюнкцию, не содержащую инверсий, входит мин
терм с индексом 2
n
– 1. В этом легко убедиться, если конъюнкцию, в которой нет инверсий, разложить по всем не входящим в нее переменным. Пусть,
например, некоторая функция f (A, B, C, D) содержит конъюнкцию АС. В результате разложения ее попеременным В и D получаем) (
)
AC
A B
B C D
D
A BCD
A BCD
A BCD
A BCD
1 2
2 1
2 Из этого выражения видно, что в конъюнкцию АС входит минтерм m
15
=
= ABCD, следовательно, заданная функция f (A, B, C, D) сохраняет единицу.
Функция, представленная в КНФ, сохраняет единицу, если в каждую ее дизъюнкцию входит хотя бы один неинверсный аргумент. Примером может служить функция вида A
C A
B
D
1 2 3 3 3
3 Если в этом выражении раскрыть скобки, те. представить его в ДНФ, то среди всех конъюнкций окажутся выражения AC ив которые входит минтерм m
15
. Следовательно, функция j сохраняет единицу.
Сколько существует функций n аргументов, сохраняющих единицу Определить это очень легко. В каждую из этих функций входит минтерм с индексом 2
n
– 1. Все остальные минтермы, число которых равно 2
n
– 1, могут входить в функцию в любых сочетаниях. Следовательно, число R функций,
сохраняющих единицу, равно 1
2
n
R
1 2
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
При n = 0 имеем R = 1. Это функция — константа единица.
Если n = 1, то R = 2. Это функции f = 1 и f = Если n = 2, то R = 8, и т. д. Таким образом, половина всех функций
n
аргументов сохраняет единицу и половина — не сохраняет.
Функции, сохраняющие единицу, образуют функционально замкнутый класс, те. если в этом классе применять операцию суперпозиции, то всегда будут получаться только функции, сохраняющие единицу. Доказательство можно найти в Упражнения (ОАФ). Укажите значения следующих функций на наборе 1111:
1)
;
f
A B
CD
1 2
3)
(
);
f
A B
CD
1 2
5)
;
f
A
B
C
A B C D
1 2 2 2 2)
;
f
BCD
ABC
1 2
4)
(
)(
) ;
f
A
B
C A
B
C D
1 2 2 2 2 6)
(
)(
)(
).
f
A
B B
C C
D
1 2
2 2
2. Укажите функции, сохраняющие единицу. (Р. (ЗИЦ)
1)
;
f
AB
C
1 2
1) f = A
Å B;
2)
(
);
f
A B
C
1 2
2)
;
f
A
A
1 2 3)
(
)(
) ;
f
B
C A
B D
1 2
2 3)
(
) ;
f
B
A C D D
1 2
4)
(
)
;
f
B
C A
AC
1 2
2 4)
f
A BC
A
B
C
1 2 2 2
3. Сколько существует булевых функций, сохраняющих единицу, если они зависят) (Тот трех переменных 2) (Сот четырех переменных. Укажите функции, сохраняющие единицу. (ТВИ)
II. (РВ5)
1) f = (A + B)(A + B);
1) f(A, B, C, D) = (0, 1, 4, 7);
2)
(
) ;
f
A
BC A
1 2
2) f = S
2,3,4
(A, B, C, D);
3) f = A;
0,1,2 3)
( , , , );
f
S
A B C D
1 4)
;
f
BC
CD
1 2
4)
;
f
A
B CD
1 2 5)
(
)(
);
f
A
A B
B
1 2
2 5)
(
)
;
f
B
C B
C
1 2
2 6)
(
);
f
A A
A
1 2
6)
(
);
f
A
B C
D
1 2 2
7)
(
)(
) ;
f
A
B B
C D
1 2
2 7)
(
).
f
A
B C
D
1 2 2
5. (Ф. На какие вопросы Вы ответите да) верно ли, что функция
f
не сохраняет единицу, если функция f единицу сохраняет) верно ли, что всякая линейная функция не сохраняет единицу) верно ли, что существуют самодвойственные функции, не сохраняющие единицу) верно ли, что всякая монотонная функция сохраняет единицу) верно ли, что функция f
1
+ f
2
сохраняет единицу, если функция f
1
сохраняет единицу, а f
2
— не сохраняет) верно ли, что функция f
1
f
2
сохраняет единицу, если функция f
1
сохраняет единицу, а f
2
— не сохраняет) верно ли, что функция f
1
Å f
2
сохраняет единицу, если единицу сохраняют обе функции
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
355
18.6.
ФУНКЦИИ, СОХРАНЯЮЩИЕ НУЛЬ
Булева функция сохраняет нуль, если на нулевом наборе она принимает нулевое значение. Нулевой набор состоит из n нулей, где n — число аргументов булевой функции. Например, функция сохраняет нуль, так как она равна нулю на наборе Функция C
ACD
1 не сохраняет нуль, поскольку на нулевом наборе она принимает единичное значение.
Функция, представленная в СДНФ, сохраняет нуль, если в нее не входит нулевой минтерм Булева функция, представленная в ДНФ, сохраняет нуль, если в ее записи нет ни одной конъюнкции, содержащей только инверсные переменные.
Например, функция сохраняет нуль, так как неинверсные аргументы есть в каждой конъюнкции. При подстановке значений A = B = C = D = 0 все конъюнкции становятся равными нулю, вследствие чего и сама функция принимает нулевое значение.
Функция, представленная в КНФ, сохраняет нуль, если в ее записи содержится хотя бы одна дизъюнкция (скобочное выражение, все аргументы которой не содержат инверсий. Например, функция B
C
D A
B
D
1 2
2 2 2 сохраняет нуль, так как дизъюнкция B + C + D не содержит инверсных переменных, следовательно, на нулевом наборе она равна нулю, вследствие чего и вся функция принимает нулевое значение.
Функция, заданная в КНФ, сохраняет нуль ив том случае, если в ее записи имеется хотя бы один неинверсный аргумент, находящийся за скобками.
Например:
(
)(
) .
f
A
B A
B
C D
1 2
2 Буква D в этом выражении находится за скобками. На нулевом наборе 0, следовательно, и f = 0, те. функция сохраняет нуль.
Сколько существует функций, сохраняющих нуль Если в функцию входит минтерм m
0
, то функция нуль не сохраняет, так как на нулевом наборе значений аргументов она равна единице. Следовательно, число Q функций,
не сохраняющих нуль, равно 1
2
n
Q
1 Все остальные функции нуль сохраняют. Число V сохраняющих нуль функций равно 2
1 2
1 2
2 2
n
n
n
V
1 1
2 1
2
При n = 0 имеем R = 1. Это функция — константа единица.
Если n = 1, то R = 2. Это функции f = 1 и f = Если n = 2, то R = 8, и т. д. Таким образом, половина всех функций
n
аргументов сохраняет единицу и половина — не сохраняет.
Функции, сохраняющие единицу, образуют функционально замкнутый класс, те. если в этом классе применять операцию суперпозиции, то всегда будут получаться только функции, сохраняющие единицу. Доказательство можно найти в Упражнения (ОАФ). Укажите значения следующих функций на наборе 1111:
1)
;
f
A B
CD
1 2
3)
(
);
f
A B
CD
1 2
5)
;
f
A
B
C
A B C D
1 2 2 2 2)
;
f
BCD
ABC
1 2
4)
(
)(
) ;
f
A
B
C A
B
C D
1 2 2 2 2 6)
(
)(
)(
).
f
A
B B
C C
D
1 2
2 2
2. Укажите функции, сохраняющие единицу. (Р. (ЗИЦ)
1)
;
f
AB
C
1 2
1) f = A
Å B;
2)
(
);
f
A B
C
1 2
2)
;
f
A
A
1 2 3)
(
)(
) ;
f
B
C A
B D
1 2
2 3)
(
) ;
f
B
A C D D
1 2
4)
(
)
;
f
B
C A
AC
1 2
2 4)
f
A BC
A
B
C
1 2 2 2
3. Сколько существует булевых функций, сохраняющих единицу, если они зависят) (Тот трех переменных 2) (Сот четырех переменных. Укажите функции, сохраняющие единицу. (ТВИ)
II. (РВ5)
1) f = (A + B)(A + B);
1) f(A, B, C, D) = (0, 1, 4, 7);
2)
(
) ;
f
A
BC A
1 2
2) f = S
2,3,4
(A, B, C, D);
3) f = A;
0,1,2 3)
( , , , );
f
S
A B C D
1 4)
;
f
BC
CD
1 2
4)
;
f
A
B CD
1 2 5)
(
)(
);
f
A
A B
B
1 2
2 5)
(
)
;
f
B
C B
C
1 2
2 6)
(
);
f
A A
A
1 2
6)
(
);
f
A
B C
D
1 2 2
7)
(
)(
) ;
f
A
B B
C D
1 2
2 7)
(
).
f
A
B C
D
1 2 2
5. (Ф. На какие вопросы Вы ответите да) верно ли, что функция
f
не сохраняет единицу, если функция f единицу сохраняет) верно ли, что всякая линейная функция не сохраняет единицу) верно ли, что существуют самодвойственные функции, не сохраняющие единицу) верно ли, что всякая монотонная функция сохраняет единицу) верно ли, что функция f
1
+ f
2
сохраняет единицу, если функция f
1
сохраняет единицу, а f
2
— не сохраняет) верно ли, что функция f
1
f
2
сохраняет единицу, если функция f
1
сохраняет единицу, а f
2
— не сохраняет) верно ли, что функция f
1
Å f
2
сохраняет единицу, если единицу сохраняют обе функции
18. ФУНКЦИОНАЛЬНАЯ ПОЛНОТА СИСТЕМЫ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ
355
18.6.
ФУНКЦИИ, СОХРАНЯЮЩИЕ НУЛЬ
Булева функция сохраняет нуль, если на нулевом наборе она принимает нулевое значение. Нулевой набор состоит из n нулей, где n — число аргументов булевой функции. Например, функция сохраняет нуль, так как она равна нулю на наборе Функция C
ACD
1 не сохраняет нуль, поскольку на нулевом наборе она принимает единичное значение.
Функция, представленная в СДНФ, сохраняет нуль, если в нее не входит нулевой минтерм Булева функция, представленная в ДНФ, сохраняет нуль, если в ее записи нет ни одной конъюнкции, содержащей только инверсные переменные.
Например, функция сохраняет нуль, так как неинверсные аргументы есть в каждой конъюнкции. При подстановке значений A = B = C = D = 0 все конъюнкции становятся равными нулю, вследствие чего и сама функция принимает нулевое значение.
Функция, представленная в КНФ, сохраняет нуль, если в ее записи содержится хотя бы одна дизъюнкция (скобочное выражение, все аргументы которой не содержат инверсий. Например, функция B
C
D A
B
D
1 2
2 2 2 сохраняет нуль, так как дизъюнкция B + C + D не содержит инверсных переменных, следовательно, на нулевом наборе она равна нулю, вследствие чего и вся функция принимает нулевое значение.
Функция, заданная в КНФ, сохраняет нуль ив том случае, если в ее записи имеется хотя бы один неинверсный аргумент, находящийся за скобками.
Например:
(
)(
) .
f
A
B A
B
C D
1 2
2 Буква D в этом выражении находится за скобками. На нулевом наборе 0, следовательно, и f = 0, те. функция сохраняет нуль.
Сколько существует функций, сохраняющих нуль Если в функцию входит минтерм m
0
, то функция нуль не сохраняет, так как на нулевом наборе значений аргументов она равна единице. Следовательно, число Q функций,
не сохраняющих нуль, равно 1
2
n
Q
1 Все остальные функции нуль сохраняют. Число V сохраняющих нуль функций равно 2
1 2
1 2
2 2
n
n
n
V
1 1
2 1
2
ЧАСТЬ 3. ТЕОРИЯ КОНЕЧНЫХ АВТОМАТОВ
Таким образом, число функций, сохраняющих нуль, равно числу функций, нуль не сохраняющих.
Функции, сохраняющие нуль, образуют функционально замкнутый класс, те. применение операции суперпозиции к функциям, сохраняющим нуль, всегда дает только сохраняющие нуль функции.
Доказательство этого можно найти в Упражнения Укажите номера функций, равных нулю на нулевых наборах значений всех аргументов. (Д. (МЯЛ 2
2 1)
(
)(
)(
);
f
A
B B
C C
D
1 2
2 2
2)
;
f
A
B
1 2 2)
(
)(
);
f
A B
C D
E
1 2
2 3)
;
f
ABC
B C
D
1 2
2 3)
(
)(
) ;
f
A
B
C D
E F
1 2 2 2
4)
;
f
AB
AB
1 2
4)
(
);
f
A B C D
E
F
1 2 2 5)
;
f
AB
BC
C D
1 2
2 5)
(
) (
);
f
A
B D E
F
1 2
2 6)
;
f
A
B
1 2 6)
(
) (
);
f
A
B D E
F
1 2
2 7)
;
f
AB
AB
1 2
7)
(
) (
).
f
A
B D E
F
1 2
2
2. (ШУМ. На какие вопросы Вы ответите да) верно ли, что инверсия функции, сохраняющей нуль, нуль не сохраняет) верно ли, что всякая сохраняющая нуль функция сохраняет единицу) всякая ли монотонная функция сохраняет нуль) существуют ли функции, одновременно сохраняющие нуль и сохраняющие единицу) сохраняет ли нуль функция f
1
+ f
2
, если и f
2
— функции, сохраняющие нуль) сохраняет ли нуль функция f
1
f
2
, если функция f
1
нуль сохраняет, а функция f
2
— не сохраняет Укажите функции, сохраняющие нуль. (ЛУШ)
II. (АВЕ)
1) f = A;
1)
(
) ;
f
A
A B C
1 2
2)
;
f
BCDE
B D
1 2
2)
(
)(
);
f
P
Q P
Q
1 2
2 3)
;
f
A
1 3)
(
)
;
f
P
Q R S T
1 2
4) f = 0;
4) f = 1;
5)
(
)(
);
f
A
B A
B
1 2
2 5)
(
)(
);
f
D E F
K F
K
1 2
2 6)
(
)(
);
f
A
B A
B
1 2
2 6)
(
);
f
A
B C
D
1 2 2
7)
(
) ;
f
A
B C
1 2
7)
f
A B
A B
A B
A B
1 2
2 2
Таким образом, число функций, сохраняющих нуль, равно числу функций, нуль не сохраняющих.
Функции, сохраняющие нуль, образуют функционально замкнутый класс, те. применение операции суперпозиции к функциям, сохраняющим нуль, всегда дает только сохраняющие нуль функции.
Доказательство этого можно найти в Упражнения Укажите номера функций, равных нулю на нулевых наборах значений всех аргументов. (Д. (МЯЛ 2
2 1)
(
)(
)(
);
f
A
B B
C C
D
1 2
2 2
2)
;
f
A
B
1 2 2)
(
)(
);
f
A B
C D
E
1 2
2 3)
;
f
ABC
B C
D
1 2
2 3)
(
)(
) ;
f
A
B
C D
E F
1 2 2 2
4)
;
f
AB
AB
1 2
4)
(
);
f
A B C D
E
F
1 2 2 5)
;
f
AB
BC
C D
1 2
2 5)
(
) (
);
f
A
B D E
F
1 2
2 6)
;
f
A
B
1 2 6)
(
) (
);
f
A
B D E
F
1 2
2 7)
;
f
AB
AB
1 2
7)
(
) (
).
f
A
B D E
F
1 2
2
2. (ШУМ. На какие вопросы Вы ответите да) верно ли, что инверсия функции, сохраняющей нуль, нуль не сохраняет) верно ли, что всякая сохраняющая нуль функция сохраняет единицу) всякая ли монотонная функция сохраняет нуль) существуют ли функции, одновременно сохраняющие нуль и сохраняющие единицу) сохраняет ли нуль функция f
1
+ f
2
, если и f
2
— функции, сохраняющие нуль) сохраняет ли нуль функция f
1
f
2
, если функция f
1
нуль сохраняет, а функция f
2
— не сохраняет Укажите функции, сохраняющие нуль. (ЛУШ)
II. (АВЕ)
1) f = A;
1)
(
) ;
f
A
A B C
1 2
2)
;
f
BCDE
B D
1 2
2)
(
)(
);
f
P
Q P
Q
1 2
2 3)
;
f
A
1 3)
(
)
;
f
P
Q R S T
1 2
4) f = 0;
4) f = 1;
5)
(
)(
);
f
A
B A
B
1 2
2 5)
(
)(
);
f
D E F
K F
K
1 2
2 6)
(
)(
);
f
A
B A
B
1 2
2 6)
(
);
f
A
B C
D
1 2 2
7)
(
) ;
f
A
B C
1 2
7)
f
A B
A B
A B
A B
1 2
2 2
1 ... 41 42 43 44 45 46 47 48 ... 77