Глава 1 – АВТОМАТЫ БЕЗ ПАМЯТИ
План
1. Конечные функциональные преобразователи
2. Основные электронные узлы
комбинационного типа
2.1.
Дешифраторы
2.2.
Шифраторы
2.3.
Мультиплексоры
2.4.Демультиплексоры
2.5
Одноразрядные сумматор и полусумматор
Конечные функциональные преобразователи
1. Конечные функциональные преобразователи
Пусть
А – некоторое множество элементов информации, представленных тем или иным образом;
В – другое множество элементов информации;
Ф – функция преобразования.
Преобразователь информации можно представить себе схематично как устройство, реализующее отображение Ф:А→В одного множества в другое.
Решение задачи построения таких преобразователей для множеств А и В произвольной природы достаточно трудное, т.к. о самом отображении Ф ничего
не известно. Однако, если А и В являются конечными (т.е. преобразователь, который хотим построить, явлется «конечным функциональным преобразователем») и дискретными (т.е. преобразования осуществляются в дискретные моменты времени), существует систематический метод решения этой задачи. Он состоит в том, что элементы множеств А и В предварительно кодируют двоичными кодами и строят преобразование одного множество двоичных векторов в другое.
При таком подходе проблема реализации преобразователя Ф сводится к построению 3-х преобразователей:
К: А→Х – кодировщика;
F: X→Y – функционального преобразователя;
D: Y→B - декодировщика.
Причём отображения К, F, D должны быть выбраны так, чтобы реализовывать Ф, т.е. КºFºD=Ф.
Двоичное кодирование состоит во взаимно однозначном сопоставлении всем всем элементам коне- исло элементов множествачного множества некоторых двоичных векторов одной и той же длины.
Если
- число элементов множества А,
- число векторов длины
,
то для однозначности кодирования
.
Предположим,
что
,
,
тогда
и
- длины двоичных векторов для кодирования
множеств А
и В
соответственно. Если Ф:А→В
, то проблема реализации преобразователя
Ф
сводится к построению:
- устройства кодирования
,
которое взаимно однозначно преобразовывает элементы информации множества А в двоичные вектора длины ;
- функционального преобразователя
;
- устройства декодирования
,
которое взаимно однозначно преобразовывает двоичные векторы длины в элементы информации множества В.
Таким образом, проблема построения конечного функционального преобразователя Ф сводится к реализации произвольного преобразователя , который может быть задан, например, таблично.
Пример.
Пусть
,
.
Отображение Ф:А→В
задано
таблицей
-
А
В
В
этом случае
,
,
следовательно,
,
.
Произвольно выбираем функции кодирования
и декодирования:
-
А
010
110
001
100
011
-
00
01
10
11
В
—
Отображение F строим таким образом, чтобы отношение КºFºD=Ф выполнялось.
-
А
В
—
000
—
—
001
10
010
10
011
10
100
00
—
101
—
—
110
11
—
111
—
—
В
результате, проблема построения
произвольного преобразователя
теперь имеет более чёткую математическую
формулировку. Для решения этой задачи
используют следующий приём: вместо
одной функции
строят 2 булевы функции
,
,
таким образом, чтобы реализациясовокупности
этих более простых функций давала
искомый преобразователь
.
Для рассматриваемого примера имеем:
-
000
—
—
001
1
0
010
1
0
011
1
0
100
0
0
101
—
—
110
1
1
111
—
—
Схема отображения имеет три двоичных входа и два двоичных выхода:
Здесь и неполностью определённые булевы функции, которые представляют соответствующие разряды результата отображения . чтобы найти минимальные ДНФ этих фунций надо заменить их подходящими полностью определёнными булевыми функциями. Для этого используют карты Карно для и , в которых неопределённые значения заменяют 0 или 1, чтобы покрыть таблицы минимальным числом максимальных прямоугольников и получить минимальные ДНФ уже определённых функций.
Для функции имеем:
.
Для функции получим:
.
Система
полностью определённых булевых функций
есть отображение
.
2. Основные электронные узлы комбинационного типа
2.1. Дешифраторы
Дешифратором называется комбинационная схема с несколькими входами и выходами, преобразующая традиционный позиционный двоичный код в унитарный. Унитарным кодом называется код, состоящий из m двоичных переменных, из которых в каждый момент времени только одна переменная имеет значение 1, а остальные – равны 0.
Дешифраторы применяются в системах цифровой индикации, в устройствах управления последовательностью операций.
Рассмотрим принципы построения схемы дешифратора на примере преобразования двухразрядного двоичного кода в четырехразрядный унитарный. Анализируя таблицу истинности такого дешифратора (табл. 2.1) и составляя логические функции для выходных переменных, находим:
;
;
;
.
Таблица 2.1.
Схема дешифратора, построенная на основе полученных логических функций, и его условное графическое изображение приведены на рис. 2.1а. Если использовать трёхвходовые элементы И и на третий вход каждого элемента подать управляющий сигнал G, то получится дешифратор со входом стробирования. Если G=0 , то на всех выходах Qi=0, если G=1, то дешифратор выполняет преобразование кодов.
Работу дешифратора можно пояснить еще и следующим образом. Десятичный эквивалент входного кода дешифратора определяет номер выхода (адрес), на котором появляется активный уровень (на остальных выходах - нейтральный уровень). Поэтому информационные входы дешифратора называют также адресными.
В некоторых случаях функция дешифратора ограничивается выделением только m < 2n входных наборов из общего числа М = 2n. При этом предполагается, что М – m входных наборов не существует. Дешифраторы с числом выходов m < 2n называются неполными.
2.2. Шифраторы
Шифратор служит для
преобразования унитарного кода в
двоичный код. Если число входов шифратора,
т.е. длина унитарного кода равна
,
то число выходов
,
определяющее разрядность выходного
двоичного кода, должно соответствовать
условию
.
Типичным примером преобразователя унитарного кода в двоичный является шифратор клавиатуры для ввода данных в цифровые устройства. При не нажатых клавишах на всех входах шифратора нейтральный уровень (например, нулевой). Нажатая клавиша подает активный уровень (единичный) на соответствующий вход шифратора. На выходе шифратора формируется двоичный код номера нажатой клавиши. Для того, чтобы отличить случаи, когда нажатая клавиша с нулевым номером и когда не нажато ни одной клавиши, вырабатывается уведомительный сигнал (его обозначают GS). Сигнал GS формируется при нажатии любой клавиши
Рассмотрим принципы построения схемы шифратора на примере преобразователя 4-разрядного унитарного кода в 2-разрядный двоичный. Анализируя таблицу истинности такого шифратора (табл. 2.2), нетрудно убедиться, что выходные переменные могут быть рассчитаны следующим образом:
;
;
Таблица 2.2
x3 |
x2 |
x1 |
x0 |
Y1 |
Y0 |
GS |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
Схема, соответствующая приведенным логическим функциям, показана на рис. 2.2.
Известны также шифраторы с приоритетом. На их выходе формируется двоичный код, соответствующий активизированному входу с наибольшим номером. Применительно к шифратору клавиатуры это означает, что при одновременном нажатии нескольких клавиш приоритет будет иметь клавиша с большим номером.
2.3 Мультиплексоры
Мультиплексор
предназначен для последовательной
коммутации нескольких переменных на
один выход. Кроме информационных входов
и выхода
,
мультиплексор имеет адресные входы
.
Двоичный вход представленный переменными
,
определяет номер входа, который
подключается к выходу (рис. 0.3).
При длине адресного слова
n
можно коммутировать
на один выход
входных переменных.
На рис. 2.4 представлено обозначение мультиплексора, имеющего 4 информационных входа. Таблица истинности этого мультиплексора представлена в табл. 2.3.
Рис. 2.4. Условное обозначение мультиплексора
Таблица 2.3
А1 А0 |
Выход F |
0 0 0 1 1 0 1 1 |
I0 → F I1 → F I2 → F I3 → F |
Логическая схема мультиплексора состоит из дешифратора и вентильной части (рис. 2.5).
Кроме основного назначения (коммутации сигналов) мультиплексоры могут быть использованы, например, для синтеза схем, выполняющих любую ФАЛ. В этом случае на информационные входы подаются не изменяющиеся во времени сигналы 0 и 1. Считывание данных сигналов производится подачей соответствующих сигналов на адресные входы. На рис. 2.6 приведена реализация ФАЛ, заданной в табл. 2.4.
Рис. 2.6. Реализация ФАЛ на мультиплексоре
Таблица 2.4
x1 |
x2 |
x3 |
f(x1, x2, x3) |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Если в нескольких однотипных мультиплексорах объединить одноименные управляющие входы, то будем иметь возможность коммутировать не один входной сигнал из n возможных, а целую группу входных сигналов (слово).
Схему
мультиплексора можно составить из
дешифратора на m
выходов,
схем стробирования и элемента ИЛИ с m
входами
(рис. 2.7).
Вход стробирования дешифратора будет
входом стробирования мультиплексора.
При
и
.
2.4 Демультиплексоры
Демультиплексоры выполняют функцию, обратную мультиплексорам, т. е. производят коммутацию одного информационного входного сигнала на 2n выходов, где n – число адресных входов. Условное графическое обозначение демультиплексора, предназначенного для коммутации сигнала от одного источника информации на один из четырёх приемников, показано на рис. 2.8.
Логическая схема, реализующая функцию демультиплексора, представлена на рис. 2.9.
2.5 Одноразрядные сумматор и полусумматор
Одноразрядные сумматор и полусумматор предназначены для сложения двоичных разрядов.
Полусумматор представляет собой комбинационную схему, имеющую два входа и два выхода. Условное графическое обозначение полусумматора приведено на рис. 2.10, а, где А и В – слагаемые двоичные цифры, каждая из которых может принимать значение 0 или 1; S и P – выводы, на которых появляется результат сложения. Вывод S предназначен для выдачи суммы слагаемых А и В, а вывод Р – для выдачи переноса в следующий (i+1)-й разряд. Полусумматор функционирует в соответствии с таблицей истинности (табл. 2.5).
Рис. 2.10. Условное графическое обозначение полусумматора HS (а) и сумматора SM (б)
Таблица 2.5 Таблица 2.6
|
|
А |
В |
С |
P |
S |
|||||||||
|
|
0 |
0 |
0 |
0 |
0 |
|||||||||
А |
В |
P |
S |
|
0 |
0 |
1 |
0 |
1 |
||||||
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
||||||
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
0 |
||||||
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
0 |
1 |
||||||
1 |
1 |
1 |
0 |
|
1 |
0 |
1 |
1 |
0 |
||||||
|
|
1 |
1 |
0 |
1 |
0 |
|||||||||
|
|
1 |
1 |
1 |
1 |
1 |
|||||||||
В соответствии с табл. 2.5 функции выходов S и P имеют вид
Р = А В ;
или
.
Полный одноразрядный двоичный сумматор предназначен для построения многоразрядных сумматоров и имеет три входа и, следовательно, предназначен для сложения трёх двоичных цифр. Условное графическое обозначение полного одноразрядного двоичного сумматора приведено на рис. 2.10, б, а таблица истинности, в соответствии с которой функционирует сумматор, – в табл. 2.6. А и В – двоичные разряды чисел; С – входной перенос в данный разряд из предыдущего разряда. Это разделение входов сумматора условно, так как все три входа (А, В и С) имеют одинаковый вес. На выходе S появляется разряд суммы, а на выходе Р – разряд переноса в следующий разряд.
Функциональная схема полного одноразрядного двоичного сумматора строится на основе функций суммы S и переноса Р, составляемых по таблице истинности (табл. 2.6):
;
Наиболее удачные схемы одноразрядных сумматоров, содержащих наименьшее количество элементов и наименьшее количество входов у элементов, получены эмпирическим путём. Одна из таких функциональных схем приведена на рис. 2.11.
Логические уравнения для значений суммы и переноса в этой схеме следующие:
К
ак
видно из рис.
2.11,
схема состоит из 9 логических элементов.
Общее число входов – 20. В данной схеме
ни один логический элемент не нагружается
на входы двух других элементов.
Если для реализации сумматора использовать соотношения
,
,
т
о
у девяти используемых логических
элементов общее число входов будет
равно 19.
Функциональная схема полного двоичного одноразрядного сумматора, состоящая из двух совершенно одинаковых частей (полусумматоров и схемы 2ИЛИ, объединяющей сигналы с этих частей), представлена на рис. 2.12. Полусумматор HS1 суммирует две цифры слагаемых без учёта переносов из младшего разряда. При этом вырабатывается промежуточный сигнал переноса р1 и промежуточная сумма чисел s1. Полусумматор HS2 производит суммирование промежуточной суммы s1 и сигнала переноса С из младшего разряда.
Если в полусумматоре HS1 сигнал переноса не возник, то он может возникнуть в полусумматоре HS2 при условии поступления на вход сумматора сигнала переноса из младшего разряда и значения "1" одного из слагаемых. Если же сигнал переноса появился в полусумматоре HS1, то сигнал переноса р1 из полусумматора HS2 не появится. Общий сигнал переноса сумматора равен логической сумме переносов обоих полусумматоров. Сигнал суммы S вырабатывается на выходе полусумматора HS2.
Если реализовать схему, изображённую на рис. 5.10, на логических элементах И, ИЛИ, НЕ, то общее число элементов будет равно 9. Общее число входов такой схемы равно 16. Таким образом, схема полного одноразрядного двоичного сумматора, состоящего из двух полусумматоров, является наиболее экономичной.
