UMP

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Федеральное государственное образовательное учреждение
высшего профессионального образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Старенков В.К.
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ
ОСНОВЫ ЦИФРОВОЙ СХЕМОТЕХНИКИ
Ростов-на-Дону
2007
2
Оглавление.
1. Введение……………………………………………………….…………………2
2. Основные теоремы алгебры Буля…………………………………………………5
2.1.
Теоремы для одной переменной……………………………..….………….5
2.2.
Теоремы для двух и более переменных……………………………………5
3. Булевы функции и логические схемы…………………………………………….8
3.1.
Понятие булевой функции………………………………………………...8
3.2.
Способы представления функций…………………………...……………………9
3.2.1. Табличный способ………………………….…………………...…………10
3.2.2. Алгебраический способ…………………………………………………..10
3.2.3. Числовой способ……………………………………………...…………...13
4. Система обозначений для логических схем………………………………...………13
5. Логические соглашения………………………………………………..……..…..15
6. Переход от структурной формулы к логической схеме………………….…....17
7. Функционально полные системы логических элементов……………………......19
8. Минимизация булевых функций………….…………………………………….22
8.1. Задачи минимизации………………….……………………………….…….22
8.2. Свойства булевых функций, используемые при минимизации…………..22
8.3. Минимизация с помощью алгебраических преобразований..……………25
9. Контрольные вопросы……………………………………………..……………….26
10. Список дополнительной литературы……………………………….…………….27
11. Описание лабораторной работы…….……………………………..…………….28
11.1. Описание лабораторного макета………………...….………..…………….28
12. Рекомендации по выполнению лабораторной работы………………………..…..29
12.1. Построение таблицы состояний логической схемы по осциллограммам .29
12.2. Как работать с лабораторным макетом………………………….…………30
13. Инструкция по выполнению лабораторной работы……………………………...31
Приложение I………………………………………………………………...……33
Приложение II…………………………………………………...………………...38
3
Учебно-методическое пособие Основы цифровой схемотехники составлено
в соответствии с программой дисциплины Цифровая схемотехника для
студентов,
обучающихся в
бакалавриате
по
направлению 210400
Информационные технологии и системы связи. Пособие состоит из двух частей.
Часть первая - Основы теории логических схем, включает краткое изложение
теории логических схем. Вторая
- методические указания по выполнению
лабораторной работы «Анализ и синтез логических схем» №1.
1. Введение.
В основе техники передачи информации дискретными сигналами, а также
цифровой вычислительной техники, лежит применение так называемых
логических схем. Логические схемы – это совокупность логических элементов и
элементов памяти, соединенных надлежащим способом.
В логических схемах состояниям элементов соответствуют электрические
сигналы, которые могут принимать два дискретных значения. Такие переменные
величины называются двоичными переменными. Дискретные значения двоичных
сигналов обозначаются символами “0” и “1” , при этом цифры 0 и 1 не дают
никакой количественной оценки состояний элемента. Это всего лишь обозначения
этих состояний, и поэтому их нельзя рассматривать как числа в арифметическом
смысле, но если используется двоичная система исчисления, то двоичные
переменные можно рассматривать как элементы двоичного кода числа, т.е. как
цифры в этой системе исчисления.
Двоичная система исчисления относится к позиционным системам и имеет
основание 2 (в отличие от 10 в привычной человеку десятичной системе). В
двоичной системе некоторое число может быть представлено в виде суммы:
А = a n - 1 * 2 n – 1 + a n – 2 * 2 n – 2 + … + a 0 * 20 + a -1 * 2 -1 + … + a -m * 2 -m
4
где а – двоичные цифры 0 или 1 (основание системы 2 в этой формуле обозначено
десятичной цифрой).
При обычной записи коэффициенты 2i и знаки + опускаются. Веса разрядов
определяются позицией цифры, то есть ее порядковым номером справа налево для
целой части и слева направо – для дробной. Целая и дробная части отделяются
точкой между разрядами 20 и 2-1. Например: двоичное число А=11101011.11
соответствует числу А=235.75 в десятичной системе исчисления.
Значение выходной переменной в логической
схеме зависит от значений
входных переменных и от состояний элементов, вид этой зависимости
определяется характером элементов и способом их соединения, то есть выходная
переменная является некоторой функцией входных переменных и состоянием
элементов памяти.
Существует два класса логических схем:
1) Комбинационные схемы, в которых значение выходной переменной зависит
только от значений входных переменных в данный момент времени;
2) последовательностные схемы, в которых значение выходной переменной
зависит не только от значений входных переменных в данный момент времени,
но и от состояний элементов памяти. (А состояние элементов памяти обычно
является результатом воздействия входных переменных в предыдущие
моменты времени, то есть от предыдущей последовательности входных
сигналов).
Вполне понятно, что одни и те же зависимости между входными и выходными
переменными могут быть реализованными различными способами, а логические
схемы, выполняющие одни и те же функции, могут отличаться и по числу
входящих в них элементов, и по их виду, и по способу их соединения.
Проектирование логических схем осуществляется с помощью специального
математического аппарата, который называется алгеброй Буля или алгеброй
логики. Объектом булевой алгебры является двоичная переменная, которая
принимает лишь два значения 0 или 1.
5
Алгебра строится на базе трех основных логических операций: операции ИЛИ
(дизъюнкция, логическое сложение), операции И (конъюнкция, логическое
умножение) и операции НЕ (инверсия, логическое отрицание). Запишем правила
их выполнения.
Операция ИЛИ
Легко
Операция И
Операция НЕ
00  0
0*0  0
0 1  1
0 *1  0
10
1 0  1
1* 0  0
0 1
11  1
1 *1  1
заметить, что если в таблицах ИЛИ и И заменить все 0 на 1, а 1 на 0,
заменить знаки операций “+” на “*” и наоборот, то эти таблицы меняются местами.
Первая строка таблицы для операции ИЛИ превращается в четвертую строку
операции И и так далее. В этом состоит так называемый принцип двойственности в
алгебре Буля.
Кроме знаков операций в алгебре Буля применяются знак равенства “=” и
скобки. Знак “=” означает не количественное равенство, а то, что разделяемые им
выражения идентичны. Скобки указывают очередность выполнения операций.
Если скобок нет, то сначала выполняются отрицания над отдельными
переменными, затем логическое умножение и, наконец, логическое сложение. Но
когда знак отрицания (черта) ставится над совокупностью символов (переменных и
знаков операций), то операция отрицания для этой совокупности выполняется в
последнюю очередь.
В теории логических схем логика работы элементов и устройств в целом
отображается алгебраическими формулами. Это дает возможность произвести
анализ заданной логической схемы, то есть определить значения выходных
двоичных переменных в этой схеме при всех возможных комбинациях входных
двоичных переменных.
Другой важной задачей является синтез логической схемы по заданной каким
либо образом логике ее работы. Сначала схема описывается алгебраическими
формулами. Затем эти формулы преобразуются к виду, которому соответствует
6
наиболее простая логическая схема. Обычно при этом стремятся получить схему
из минимального количества элементов, но могут ставиться и другие
дополнительные цели. Поэтому указываемые преобразования формул называются
минимизацией этих формул и соответствующих им схем.
2. Основные теоремы алгебры Буля.
Рассмотрим основные теоремы, относящиеся к выполнению операций в
различных их сочетаниях над различным числом переменных. Тот факт, что
переменная может принимать только два значения, позволяет применять для
доказательства метод подстановки всех возможных комбинаций значений
переменных (0 и 1), особенно при небольшом числе этих переменных. В
большинстве случаев доказательство очевидно и не приводится.
2.1 Теоремы для одной переменной.
1) X  0  X
4) X  X  1
7) X * X  X
2) X  1  1
5) X * 0  0
8) X * X  0
3) X  X  X
6) X *1  X
9) X  X
Эти теоремы охватывают все случаи операций над переменной X и
константами 0 и 1.
2.2. Теоремы для двух и более переменных.
10 а)
X Y  Y  X
10 б)
X *Y  Y * X
(переместительный закон, имеющий такой же смысле, как и в обычной алгебре).
7
Теорема справедлива и при любом числе переменных. Результат операций ИЛИ и
НЕ зависит от порядка написания переменных. В применении к логическим
схемам это означает, что выходной сигнал элементов ИЛИ и И не зависит от того,
какие входные сигналы к каким входным клеммам подводятся.
11 а)
X  Y  Z  X  (Y  Z )  ( X  Y )  Z
11 б)
X * Y * Z  X * (Y * Z )  ( X * Y ) * Z
(сочетательный закон, также аналогичный соответствующему закону обычной
алгебры).
12 а)
X * (Y  Z )  X * Y  X * Z
12 б)
X  Y * Z  (X  Y) *(X  Z)
(распределительный закон).
Приведенные выше теоремы 10, 11, 12 также, как и все последующие, даются в
двух вариантах:
А) для логического сложения,
Б) для логического умножения.
Если доказан один из вариантов, то второй в доказательстве не нуждается, так
как его справедливость вытекает из принципа двойственности. Пусть, например, в
теореме 12а переменные X, Y, Z заменены их отрицаниями, а знаки сложения “+” и
умножения “*“ заменены друг на друга. Результат как в правой, так и в левой части
равенства в соответствии с принципом двойственности также должен быть
заменен его отрицанием. Поэтому равенство при такой замене сохраняется.
Следовательно, теперь имеем: X  Y * Z  ( X  Y ) * ( X  Z )
Введем новые переменные: X  A , Y  B , Z  C. Тогда полученное выражение
приобретает вид: A  B  C  ( A  B) * ( B  C ) ,
8
что соответствует теореме 12б. Теорема 12а означает, что в алгебре Буля, также,
как и в обычной алгебре, можно раскрывать скобки и выносить общие
сомножители за скобки. Теорема 12б аналога в обычной алгебре не имеет.
13 а)
X  X *Y  X
13 б)
X * X Y)  X
(закон поглощения).
Для доказательства теоремы 13а вынесем переменную X за скобки:
X * (1  Y )  X
В соответствии с теоремами 2 и 6: (1  Y )  1, а X *1  X что и
доказывает справедливость теоремы 13а.
14 а)
( X  Y ) *Y  X *Y
14 б)
X *Y  Y  X  Y
15 а)
X *Y  X *Y  Y
15 б)
(X  Y) *(X  Y)  Y
(закон склеивания)
16 а)
X Y = X * Y
16 б)
X *Y = X + Y
И вообще при любом числе переменных:
16 в)
X  Y  Z  ... = X * Y * Z * …
16 г)
X * Y * Z * ... = X + Y + Z + …
(теорема де Моргана).
9
Справедливость этой теоремы вытекает непосредственно из принципа
двойственности. Пусть имеется выражение для логического произведения трех
переменных в виде F = X * Y * Z. В соответствии с принципом двойственности
при замене всех переменных их отрицаниями и операции умножения операцией
сложения получается отрицание результата, то есть
F = X+ Y + Z.
Подставим в левую часть первоначальное значение F = X * Y * Z. Тогда получим
X * Y * Z = X + Y + Z , совпадает с теоремой 16г.
Аналогично может быть получено выражение 16в. Равенства 16в и 16г
означают, что отрицание любого выражения алгебры Буля можно получить
заменой всех переменных их отрицаниями, а всех символов логического
умножения символами логического сложения и наоборот.
3. Булевы функции и логические схемы.
3.1. Понятие булевой функции.
Результат выполнения логических операций над двоичными переменными
также представляет двоичную переменную. Значение этой переменной зависит от
значений переменных (аргументов), над которыми выполняется совокупность
операций. Она является, таким образом, функцией аргументов и называется
булевой функцией.
Задать булеву функцию – это значит указать значения функции (0 или 1) при
всех возможных комбинациях значений аргументов. Каждую конкретную
комбинацию значений всех аргументов называют набором или точкой. Для
краткости набор записывают в виде двоичного числа, цифрами которого являются
значения переменных, расположенных в определенном порядке (обычно в
алфавитном). Двоичное число, представляющее набор, называют номером набора.
При N аргументах существует 2N наборов.
10
Если функция определена на всех наборах или, иначе говоря, если известны ее
значения во всех точках, то такая функция называется полностью определенной.
Если же на некоторых наборах ( в некоторых точках) значение функции не задано,
она называется частично определенной (или недоопределенной). В реальных
логических схемах это может быть, например, в случае когда известно, что
некоторые комбинации входных переменных невозможны. Тогда значения
функции на соответствующих наборах не задаются, а сами эти наборы называются
запрещенными. При этом возникают условия для заданной функции. Значения
функции на запрещенных наборах можно установить по своему усмотрению, то
есть частично определенную функцию можно произвольно доопределить.
Использование факультативных условий может дать значительный выигрыш при
минимизации.
При N аргументах совокупность всех значений полностью определенной
функции на наборах содержит нулей и единиц. Каждой функции соответствует
своя комбинация этих значений. Общее количество всех возможный функций
аргументов определяется количеством комбинаций из нулей и единиц, то есть
количеством различных разрядных двоичных чисел. Оно равно числу. Величина
очень быстро растет с ростом числа аргументов. Так, при величина уже
представляет собой десятиразрядное число. Последнее означает, что количество
различных функций пяти аргументов (комбинации из 32 нулей и единиц)
исчисляется миллиардами.
Так как функция является двоичной переменной, она может входить в качестве
аргумента в другую функцию. Справедливость теорем алгебры Буля при этом не
нарушается.
3.2. Способы представления функций.
Рассмотрим некоторые способы задания булевых функций.
11
3.2.1. Табличный способ.
При этом способе функция представляется в виде таблицы, в которой
выписываются все возможные наборы аргументов в порядке возрастания их
номеров и для каждого набора устанавливается значение функции 0 или 1. В
таблице 1 задана некоторая функция:
ТАБЛИЦА 1
Номер
набора
B
A
C
F
0
0
0
0
0
1
0
0
1
0
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
Как видно из таблицы, функция F=1 на 3-, 5-, 6-, и 7-м наборах, на остальных
наборах F=0.
Изменяя комбинации нулей и единиц в последней колонке таблицы, можно, как
это следует из предыдущего, задать 256 различных функций трех аргументов, хотя
лишь некоторые из них имеют практический смысл. Логическая схема,
соответствующая функции, которая задана в таблице 1, называется мажоритарным
элементом типа «2 из 3» (или пороговой ячейкой).
3.2.2. Алгебраический способ.
От таблицы можно перейти к алгебраической форме функции (или к
структурной формуле). В такое форме удобно производить различные
12
преобразования функций, например, с целью минимизации. Существуют две
формы функций в алгебраическом виде, называемые нормальными. Первая форма,
которая
называется
также
дизъюнктивной
нормальной
формой
(ДНФ),
представляет собой логическую сумму элементарных логических произведений, в
каждое из которых аргумент или его отрицание входит не более одного раза.
Например:
F( A, B, C)  A * B  B * C  A * B * C.
Если каждое слагаемое содержит все переменные или их отрицания, имеем
первую стандартную форму или совершенную дизъюнктивную нормальную
форму (СДНФ), Например:
F( A, B, C)  A* B * C  A * B * C  A* B * C .
Вторая форма, или конъюнктивная нормальная форма (КНФ) есть логическое
произведение элементарных логических сумм. Когда каждая сумма содержит все
переменные или их отрицания, имеем вторую стандартную форму или
совершенную конъюнктивную нормальную форму (СКНФ). Например:
F(A, B, C)  (A  B  C)* (A  B  C)* (A  B  C).
При переходе от таблицы к алгебраической записи функции всегда получается
первая или вторая
стандартные формы. Однако, после алгебраических
преобразований на основании приведенных выше теорем функция может принять
форму, которую уже нельзя отнести ни к стандартным, ни даже к нормальным.
Например:
F( A, B, C )  A * B  C * (A  B).
Переход от таблицы к первой стандартной форме осуществляется следующим
образом. Для каждого набора, на котором функция равна единице, записывается
элементарное произведение всех аргументов, причем если аргумент в этом наборе
принимает значение 0, то пишется его отрицание. Затем производится логическое
13
сложение этих элементарных произведений. Для нашего примера (табл. 1) в
результате такой процедуры получаем:
F( A, B, C )  A * B * C  A * B * C  A * B * C  A * B * C
(1)
Формула (1) показывает, что функция , если любое из слагаемых в правой части
равно единице, то есть при существовании любой из четырех комбинаций
аргументов:
Или при A =0 , ( A  1), B  1, C  1
Или при A  1, B  0( B  1), C  1
Или при A  1, B  1, C  0(C  1)
Или при A  1, B  1, C  1.
Точно то же самое можно выяснить и непосредственно из таблицы 1.
Следовательно, выражение (1) есть другое представление той же функции. Иногда
эту процедуру называют составлением структурной формулы по единицам.
Для перехода ко второй стандартной форме необходимо для каждого набора, на
котором функция равна нулю, составить элементарную сумму, причем, если
аргумент в этом наборе принимает значение 1, то пишется его отрицание. Затем
эти элементарные суммы объединяются операцией логического умножения. В
нашем примере будем иметь:
F( A, B, C )  ( A  B  C ) * ( A  B  C ) * ( A  B  C ) * ( A  B  C ).
Такую процедуру называют составлением структурной формулы по нулям.
Формула (2) объединяет все возможные ситуации, при которых функция равна
нулю. Как видно из рассмотренного примера, структурная формула может быть
составлена по единицам или по нулям единственным способом. Из этого вытекает,
что любая функция имеет единственную первую и единственную вторую
стандартные формы. Разумеется путем алгебраических преобразований можно
перейти от записи функции в первой форме к записи ее во второй и наоборот.
14
3.2.3. Числовой способ.
Для числового представления функции в первой стандартной форме под знаком
суммы перечисляются( обычно в возрастающем порядке), номера наборов, на
которых функция равна единице. При этом подразумевается, что на остальных
наборах она равна нулю. Для нашего примера эта запись имеет вид:
F( A, B, C)   (3,5,6,7)
Чтобы показать связь числовой записи функции с алгебраической, представим
цифры в скобках в виде трехразрядных двоичных чисел. Учитывая, что старший
двоичный разряд соответствует A, второй – B, третий – C, и что 0 означает
отрицание данной переменной, можно преобразовать полученную запись к виду:
F   (3,5,6,7)  011  101  110  111
или
F  A * B * C  A* B * C  A* B * C  A* B * C
что совпадает с выражением (1).
Для второй стандартной формы также применяют числовой способ
представления. Под знаком произведения перечисляют номера наборов, на
которых функция равна нулю. В данном случае это будет:
F( A, B, C )  П( 0,1,2,4).
4. Система обозначений для логических схем.
Устройства, выполняющие в аппаратуре логические операции, называются
логическими элементами. Логические элементы различаются между собой
характером реализуемой функции, числом входов (по числу действующих
переменных), числом выходов и другими признаками. Работа их оценивается
только с точки зрения логики, без учета технического воплощения.
Входы и выходы логических элементов в зависимости от уровня сигнала, при
котором воспринимается или вырабатывается определенное значение двоичной
переменной, подразделяются на прямые и инверсные. На прямом входе (выходе)
двоичная переменная имеет значение логической 1, когда сигнал на этом входе
15
(выходе) имеет значение, принимаемое за 1. На инверсном входе (выходе)
двоичная переменная имеет значение 1, когда сигнал на этом входе (выходе)
соответствует состоянию, принимаемому за 0. Входы, равноценные в логическом
отношении (которые можно менять местами без изменения выполняемой
функции), допускают объединение по закону повторения (теоремы 3 и 7); при этом
они действуют как один вход.
На принципиальных схемах логические элементы согласно ГОСТ 2.743-82
«Обозначения
условные
графические.
Элементы
цифровой
техники.»
изображаются прямоугольником (основное поле), в верхней части которого
указывают символ функции & для И, 1 для ИЛИ (или другие). Входы показывают
с левой стороны, выходы – с правой. Допускается другая ориентация
прямоугольника, при которой входы располагаются сверху, а выходы снизу.
Инверсные входы и выходы выделяются небольшим кружком у вывода. Выводы
питания и общий вывод обычно не показываются на схеме, это необходимо иметь
в виду при разборе прохождения токов на входах и выходах микросхем. Но если
необходимо показать на схеме выводы, не несущие логической информации, (в
том числе и выводы питания), их подводят к левой или правой стороне
прямоугольника и помечают звездочкой. Широко используются логические
элементы, совмещающие несколько операций. Например И-НЕ, ИЛИ-НЕ, И-ИЛИНЕ и некоторые другие. На рис. 1 показаны условные обозначения некоторых
логических элементов:
А) двухвходовый элемент И;
Б) двухвходовый элемент ИЛИ;
В) НЕ (можно не указывать символ функции);
Г) трёхвходовый элемент И-НЕ (или 3И-НЕ);
Д) двухвходовый элемент ИЛИ-НЕ (или 2ИЛИ-НЕ);
Е) элемент 2-2И-ИЛИ-НЕ.
В зарубежных источниках использованы иные обозначения [1,8].
16
&
1
а)
1
б)
в)
&
&
1
1
&
г)
д)
е)
Рис. 1.
5. Логические соглашения.
В современных цифровых устройствах логические состояния представляются
двумя уровнями напряжения: высоким, близким к напряжению источника
питания, и низким, близким к нулю. Это так называемая потенциальная система
представления информации. Два уровня напряжения, определяемые как высокий H
(от англ. High – высокий) и низкий L (от Low – низкий), называются логическими
уровнями. Существуют два рода логических соглашений в зависимости от того,
каким уровнем напряжения кодировать логическую 1 (и соответственно,
логический 0). В соглашении положительной логики более высокий уровень
напряжения (H) соответствует логической 1, а низкий (L) –логическому 0. В
соглашении отрицательной логики – наоборот.
Элемент, выполняющий логические функции, можно оценивать с позиций как
положительной, так и отрицательной логики. Его функциональная роль в обоих
случаях будет различной. Это важное положение, которым часто пользуются на
практике, вытекает из теоремы де Моргана. Для примера в таблице 2 приведены
уровни входных и выходных сигналов для некоторого двухвходового логического
элемента.
По правилам положительной логики (Н=1) элемент выполняет операцию И
(табл. 3), а в отрицательной логике (Н=0) он работает как элемент ИЛИ (табл. 4).
17
А
B
F
А
B
F
А
B
F
L
L
L
0
0
0
1
1
1
L
H
L
0
1
0
1
0
1
H
L
L
1
0
0
0
1
1
H
H
H
1
1
1
0
0
0
Табл. 2
НЕ
И
ИЛИ
Табл. 3
1
&
1
НЕ
ИЛИ
И
Табл. 4
1
1
&
1
И-НЕ
ИЛИ-НЕ
&
НЕ-ИЛИ
1
НЕ-И
а)
&
б)
Рис.2.
18
С учетом вышеизложенного, логические элементы допускается изображать на
схемах в двух логически эквивалентных формах. Имея изображение логического
элемента, его эквивалентную форму можно получить, проделав следующие
преобразования:
А) в основном поле элемента заменить символ операции & на 1 или наоборот;
Б) все прямые входы заменить инверсными, а инверсные – прямыми;
В) все прямые выходы заменить инверсными, инверсные – прямыми.
На рис. 2 представлены графические обозначения некоторых элементов в двух
видах логики. Изображения в одном горизонтальном ряду соответствуют одному и
тому же элементу.
А) положительная логика;
Б) отрицательная логика;
Соглашение положительной логики имеет преимущественное применение и
используется в данной работе.
6. Переход от структурной формулы к логической схеме и обратный переход.
На
основании
полученной
структурной
формулы
можно
построить
комбинационную схему, состоящую из элементов ИЛИ, И, НЕ, которая будет
обладать заданными свойствами. Иначе говоря, она будет реализовывать заданную
булеву функцию.
Логические элементы, предназначенные для выполнения указанных в формуле
операций, располагаются на схеме, начиная от входов, в таком же порядке, в каком
выполняются логические операции. Так, для функции (1) сначала изображаются
инверторы для получения отрицаний входных переменных, затем элементы И и
потом элемент ИЛИ. В соответствии с формулой к каждому элементу подводятся
либо входные сигналы, либо результаты выполнения других операций над этими
сигналами (с выходов других элементов). Необходимо отметить, что если в
формуле имеется общее отрицание над группой символов, то соответствующий
19
ему инвертор может оказаться в середине или даже в конце всей схемы (на
выходе).
В соответствии с вышеизложенным для выражения (1) получаем схему,
показанную на рис. 3. Она содержит три инвертора, четыре элемента И на три
входа и один элемент ИЛИ на четыре входа.
Для перехода от логической схемы к структурной формуле удобно для входных
сигналов последующих элементов, если эти сигналы подводятся с выходов
предыдущих элементов, вводить промежуточные обозначения.
Покажем в качестве примера порядок получения структурной формулы для той же
схемы рис. 3.
&
A
1
&
1
B
1
F
&
C
1
&
Рис. 3.
20
Обозначим входные сигналы элемента ИЛИ (сверху вниз) буквами X, Y, Z, T.
Тогда F=X+Y+Z+T. Очевидно, что
X  A * B * C,
Y  A * B * C,
Z  A* B * C ,
T  A* B * C
Подставляя вместо X,Y,Z,T их значения, получим:
F  A * B * C  A* B * C  A* B * C  A* B * C,
что совпадает с исходным выражением (1).
7. Функционально полные системы логических элементов.
Как было показано выше, любая булева функция может быть представлена в
виде структурной формулы, причем над аргументами в этой формуле
производятся только три операции: ИЛИ, И, НЕ. Это означает, что любая
комбинационная схема может быть построена с применением лишь трех видов
логических элементов: элемента ИЛИ, элемента И и элемента НЕ (инвертора).
Система элементов, позволяющая строить на их базе логическую схему любой
сложности,
называется
функционально
полной
Следовательно, совокупность элементов ИЛИ,
системой
элементов.
И, НЕ является именно такой
функционально полной системой. Существуют, однако, и другие функционально
полные системы, включающие в себя меньшее число элементов. Кроме того на
практике широко применяются логические элементы, каждый из которых
выполняет не элементарные операции ИЛИ, И, НЕ, а реализует некоторую
простую функцию двух (и более) аргументов. Наборы таких элементов также
могут составлять функционально полные системы.
Рассмотрим некоторые из этих систем:
1) Система, состоящая из элементов ИЛИ и НЕ.
2) Система, состоящая из элементов И и НЕ.
Эти системы отличаются от предыдущей тем, что в первую из них не включается
элемент И, а во вторую – элемент ИЛИ. Но на основании теоремы де Моргана
операцию И можно выразить через операции ИЛИ и НЕ, а операцию ИЛИ – через
И и НЕ. После такого преобразования булева функция будет содержать либо
21
только операции ИЛИ и НЕ, либо только операции И и НЕ. Соответствующая этой
функции логическая схема будет состоять только из набора элементов ИЛИ, НЕ,
или И, НЕ и эти наборы, следовательно, являются функционально полными
системами элементов.
3) Система, состоящая из одного элемента ИЛИ – НЕ.
Реализуемая функция имеет вид. Эта функция называется функцией ИЛИ-НЕ(
или функцией Пирса). Функциональная полнота этой системы доказывается тем,
что через нее можно выразить все три основные операции булевой алгебры:
------------обозначим P( X,Y )  X  Y
а)
X  X  X  P( X, X ) (для операции НЕ);
б) X  Y  X  Y  X  Y  X  Y  P(P( X,Y ), P( X,Y ))
(для операции ИЛИ)
в) X * Y  X * Y  X  Y  X  X  Y  Y  P(P( X, X ), P(Y,Y ))
(для операции И).
1
A
A
операция НЕ
A
1
1
A+B
операция ИЛИ
B
A
1
1
B
1
Рис.4.
A*B
операция И
22
Этим трем функциям соответствуют логические схемы на рис. 4.
Имея достаточное количество элементов ИЛИ-НЕ, можно построить
логическую схему любой сложности.
4) Система, состоящая из одного элемента И-НЕ.
Реализуемая функция имеет вид. Она называется функцие И-НЕ (или функцией
Шеффера). Функциональная полнота этой системы доказывается аналогично
предыдущей. Обозначим S( X,Y )  X * Y
а)
X  X * X  S( X, X )
(для операции НЕ);
б)
X  Y  X  Y  X * Y  X * X * Y * Y  S(S( X, X ), S( X,Y ))
(для операции ИЛИ);
в)
X * Y  X * Y  S( X,Y )  S(S( X,Y ), (S( X,Y ))
(для операции И).
А)
&
A
A
Операция НЕ
А
&
Б)
&
A+B
&
Операция ИЛИ
B
A
&
В)
&
A*B
Операция И
B
Рис.5.
23
Показанные здесь преобразования иллюстрируются логическими схемами на
рис. 5.
Существуют и другие функционально полные системы, касаться которых мы
здесь не будем.
8. Минимизация булевых функций.
8.1. Задачи минимизации.
Построение комбинационных логических схем на основании булевых функций,
представленных в виде первой и второй стандартных форм, как они получаются
при переходе от таблиц к формулам, в большинстве случаев нецелесообразно.
Переходу к логической схеме должно предшествовать упрощение структурных
формул с целью приведения их к такому виду, при котором соответствующая им
схема более полно удовлетворяла бы требованиям, предъявляемым к ней.
Основная задача минимизации состоит в получении минимальной формы
булевой функции, то есть такой формы, которой соответствует логическая схема с
минимальным числом элементов. После минимизации, понимаемой в таком
смысле, возможно выполнение других преобразований функций, имеющих целью
сокращение числа типов логических элементов, например, элементов ИЛИ-НЕ, и
так далее. При построении логических схем на базе интегральных элементов ИНЕ, ИЛИ-НЕ и других, целесообразно в качестве критерия эффективности
минимизации применять минимум корпусов.
8. 2
Свойства булевых функций, используемые при минимизации.
Для минимизации применяются теоремы булевой алгебры и вытекающие из
них свойства булевых функций. Наиболее эффективными являются закон
склеивания (теорема 15) и закон поглощения(теорема 13). В применении к
функции в первой форме эти законы имеют вид:
X *Y  X *Y  Y ,
X  X * Y  X,
24
где под X и Y можно подразумевать любые функции. Кроме того применяется
теорема де Моргана, вынесение общих членов за скобки на основании
распределительного закона (теорема 12) и так далее.
Сформулируем теперь основные свойства булевых функций:
А)
В первой форме каждое логическое слагаемое, представляющее собой
элементарное произведение переменных, может содержать любое число
переменных от 1 до N (N - число аргументов функции). Число переменных (с
отрицанием или без него ), входящих в слагаемое, называется его рангом.
Например:
A * B - второй ранг,
A* B *C * D -
четвёртый.
В первой стандартной форме все слагаемые имеют N-й ранг. Два слагаемых,
отличающихся только одной переменной, называются соседними. На основании
закона склеивания соседние слагаемые К-го ранга равносильны одному
слагаемому (К-1)-го ранга. Такое преобразование так и называется склеиванием.
Например:
A * B * C  A * B * C  A * B * (C  C )  A * B .
Б)
В соответствии с теоремой 3, сумма любого числа одинаковых слагаемых
равна этому слагаемому. Таким образом, из М одинаковых слагаемых (М-1)
слагаемых являются избыточными. Кроме того из указанной теоремы следует, что
значение функции не изменяется от добавления произвольного числа слагаемых,
уже содержащихся в ней. Последнее положение широко используется для
создания максимального числа пар соседних слагаемых и последующего их
склеивания.
В)
Первую форму любой функции можно расширить до стандартной формы
путём логического умножения слагаемых на выражения вида
( X  X ) , где X переменная, отсутствующая в данном слагаемом.
25
Справедливость такого умножения вытекает из теорем 4 и 6. Например:
F( A, B, C )  A* B A* B* C  B* C  A* B(C  C )  A * B * C  (A  A )* B * C  A * B * C  A * B * C 
 A* B * C  A * B * C
после исключения избыточного слагаемого A * B * C получаем :
F( A, B, C )  A* B * C  A* B * C  A* B * C  A * B * C.
Г)
Первая стандартная форма функции N переменных, содержащая все 2 N
возможных слагаемых, называется полной стандартной формой. Полная
стандартная форма функции тождественно равна единице. Действительно, наличие
всех 2 N слагаемых означает, что функция равна единице при всех возможных
наборах аргументов.
Справедливо и обратное: если функция F, представленная в виде первой
стандартной формы, тождественно равна единице, то она содержит все 2 N
слагаемых.
Как следует из определения стандартной формы, отсутствие хотя бы одного
слагаемого указывает на то, что функция, хотя бы на одном наборе, равна нулю и,
тогда F тождественно равна 1 означает, что функция принимает значение 1 на всех
2 N наборах.
Д)
Если полностью определённая функция N переменных F в виде первой
стандартной формы содержит M слагаемых, то её отрицание F должно содержать
остальные (2 N  M ) слагаемых. Как известно из теоремы 4; X  X  1 . Это
равенство не нарушается, если вместо переменной X подставить любую функцию.
Для рассматриваемой функции F имеем F F 1 . Но так как F и F есть функции
одних и тех же аргументов и они (функции) представлены в стандартной форме,
такое равенство возможно, как это следует из предыдущего, только в
единственном случае, когда сумма F F представляет собой полную стандартную
форму. Следовательно, F содержит все те слагаемые из 2 N возможных, которые не
вошли в F .
26
8.3. Минимизация с помощью алгебраических преобразований.
Чтобы произвести минимизацию, поступают следующим образом. В функции,
представленной в первой стандартной форме, отыскиваются все соседние
слагаемые и производится их склеивание. Вместо последовательного склеивания
соседних слагаемых применяют. Если это оказывается возможным. Групповое
склеивание. Оно состоит в том, что в структурной формуле отыскиваются
слагаемые, имеющие общие переменные. Эти общие переменные выносятся за
скобки. А в скобках остаётся группа слагаемых более низкого ранга. Если эта
группа состоит из 2 K слагаемых К-го ранга, то она представляет собой полную
стандартную форму для К переменных и, следовательно, равна единице. В
результате остаётся одно слагаемое, содержащее переменные, вынесенные за
скобки. Для удобства склеивания, если это необходимо. Добавляют слагаемые, уже
имеющиеся в структурной формуле.
После того. Как все возможности склеивания исчерпаны, делается попытка
исключить избыточные слагаемые применением закона поглощения. В результате
получается неизбыточная или так называемая тупиковая форма. Следует заметить,
что так как исключение избыточных слагаемых может быть произведено
различным образом, то для одной и той же функции может существовать
несколько тупиковых форм. Если все эти формы найдены, то выбирается одна
минимальная в указанном выше смысле.
Приведём в качестве примера минимизацию булевой функции, представленной
структурной формулой (1). Имеем:
F( A, B, C )  A * B * C  A* B * C  A* B * C  A* B * C.
Замечаем, что четвёртое слагаемое A * B * C является соседним с любым из трёх
первых, поэтому есть смысл добавить это слагаемое ещё два раза. Тогда получим;
F( A, B, C )  A * B * C  A* B * C  A* B * C  A* B * C  A* B * C  A* B * C
и, путём попарного склеивания, приведём формулу к виду: F  A* B  B * C  A* C.
Полученное выражение не имеет избыточных слагаемых и является,
следовательно, тупиковой формой. Вместо четырёх слагаемых третьего ранга
27
теперь остаются три слагаемых второго ранга. Соответствующая схема (рис.6.)
содержит три двухвходовых элемента И и один трёхвходовый элемент ИЛИ.
A
&
B
1
&
C
F
&
Рис.6.
После применения описанных выше средств минимизации структурная
формула всё ещё остаётся в первой форме (но уже не в стандартной). Далее
делаются попытки преобразовать отдельные группы слагаемых на основании
теоремы де Моргана, вынесением общих переменных за скобки и так далее.
Целесообразность подобных преобразований зависит от конкретных условий
проектирования той или иной логической схемы.
9. Контрольные вопросы.
1) Что такое дискретные сигналы и двоичные переменные?
2) Какую оценку состояния логического элемента дают значения двоичных
переменных?
3) Что такое позиционная система исчисления?
4) Какие классы логических схем вы знаете? Чем эти классы характеризуются?
5) Что такое булева алгебра и что является её объектами?
6) Что такое принцип двойственности?
7) Какие теоремы алгебры Буля вам известны?
8) Какие способы задания булевой функции вы знаете?
28
9) Что такое полностью определённая и частично определённая булева функция?
10) Как перейти от структурной формулы к логической схеме и наоборот?
11) Что такое функционально полные системы логических элементов? Какие
функционально полные системы вы знаете?
12) Что такое минимизация булевых функций? Зачем нужна минимизация?
13) Что такое первая стандартная форма булевой функции (СДНФ)?
14) Что такое вторая стандартная форма булевой функции (СКНФ)?
15) Что такое ранг слагаемого в ДНФ?
16) Что такое полная стандартная форма булевой функции?
17) Что такое тупиковая форма булевой функции?
18) Изложите на словах алгоритм минимизации булевой функции при помощи
алгебраических преобразований.
19) Что представляют собой логические соглашения?
20) Что такое логически эквивалентные формы схемных обозначений логических
элементов и их логически эквивалентные преобразования?
10. Список дополнительной литературы.
1
У. Титце, К. Шенк. Полупроводниковая схемотехника. М.Мир.1982.
2 А.С.Ашихмин. Цифровая схемотехника. Современный подход. 2006.
3 Л.А.Мальцева, З.М.Фромберг, В.С. Ямпольский. Основы цифровой техники.
М.Радио и связь. 1987.
4 Н.М.Соломатин. Логические элементы ЭВМ. М.Высшая школа. 1990.
5 Г. И. Волович Схемотехника аналоговых и аналого-цифровых электронных
устройств, 2-е издание, М. Додэка-XXI, 2007.
6 Ю.А.Быстров, Г.Мироненко. Электронные цепи и устройства. М.Высшая
школа. 1986.
7 Е.А.Зельдин. Цифровые интегральные микросхемы в информационноизмерительной аппаратуре. Л. Энергоатомиздат. 1986.
8 Г.Хокинс. Цифровая электроника для начинающих. М.Мир.1986.
29
11. Описание лабораторной работы.
Лабораторная работа № 1
«Анализ и синтез логических схем»
Цель работы.
1. Изучение принципов построения комбинационных логических схем.
2. Знакомство с булевой алгеброй и её применением для описания
логических схем.
3. Знакомство с методами анализа, синтеза и оптимизации комбинационных
логических схем.
4. Применение изученных методов в решении практических задач.
11.1. Описание лабораторного макета.
Макет лабораторной работы состоит из набора функциональных узлов и включает в
себя (см.прил.II, рис. 1 или лицевую панель макета);
1. Набор логических элементов, выводы подключены к гнездовым разъёмам на
лицевой панели. При помощи набора проводов со штыревыми разъёмами возможно
соединение логических элементов в какую-либо схему.
2. Генератор функций, на разъёмах которого имеется набор из шести логических
функций, обозначенных как A,B,C,D,X,Y, и логическая константа "0". Отсутствие
логической константы "1" объясняется такой особенностью устройства макета. Что на
неподключенных входах логических элементов уже присутствует логическая "1". Это
свойство макета позволяет уменьшить число соединительных проводников в
собранной схеме. Логические функции A,B,C,D,X,Y являются функциями времени.
3. Разъёмы для подключения питающих напряжений. Их четыре: +5в, -5в, -12в, и
общий вывод. Будьте внимательны, соединяя лабораторный макет с блоком питания,
цена ошибки - исправность макета
30
4. Коммутатор входов, который позволяет наблюдать логические сигналы в четырёх
точках схемы "одновременно". При этом использован тот факт. Что логические
функции макета периодичны во времени, и если достаточно быстро (что и имеет
место) коммутатор будет подключать вход Y осциллографа к точкам Bx1, Bx2, Bx3 и
Bx4 по очереди, то из-за инертности зрительного восприятия глазу картина на экране
осциллографа будет казаться неподвижной. Чтобы все четыре наблюдаемых сигнала
не сливались вместе, в коммутаторе вырабатываются напряжения сдвига для каждого
коммутируемого канала. Наблюдаемая картина имеет вид подобный рис. 7. При этом
верхняя осциллограмма соответствует Bx1 коммутатора и далее по порядку.
Коммутатор искажает масштаб напряжений, так как коэффициент передачи по
напряжению со входов на выход не равен единице, но это допустимо, поскольку
логические сигналы дискретны и для их анализа необходимо отличать "1" от "0", т.е.
высокий уровень от низкого, а абсолютные величины напряжений измерять не нужно.
12. Рекомендации по выполнению лабораторной работы.
12.1. Как по осциллограммам построить таблицу состояний логической схемы.
Допустим, что при исследовании логической схемы с тремя входами и одним
выходом были получены следующие осциллограммы (рис. 7):
Здесь A, B, C, - некоторые логические функции времени, поданные на входы
исследуемой схемы, а F - логическая функция, наблюдаемая на выходе. В некоторые
моменты времени на входах схемы устанавливаются определённые комбинации
логических уровней сигналов. Если входные логические функции выбраны так, чтобы
на входах схемы имели бы место все возможные комбинации логических уровней, то
становится возможным полностью определить функцию F . Для этого необходимо так
выбрать моменты отсчета логических уровней, чтобы перебрать все возможные
комбинации и записать их в таблицу, приняв одно из двух логических соглашений. На
осциллограммах проставлены значения для соглашения положительной логики.
Осциллограммам соответствует таблица 1, уже известная из раздела 3.2.1. Момент
времени t 1 соответствует первой строке таблицы, t 2 - второй строке и т.д.
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0
0
0
1
1
1
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0
1
1
0
0
1
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
1
0
1
0
1
0
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0
0
1
0
1
1
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
t1
t2
t3
t4
t5
t6
t7
t8
Рис. 7
12. 2. Как работать с лабораторным макетом.
Все соединения на лабораторном макете следует производить при выключенном
источнике питания . После проведения коммутации при сборке анализируемой схемы
необходимо проверить её на предмет наличия ошибок. Соединение двух выходов
логических элементов между собой. Соединение выхода логического элемента,
32
выхода генератора функций с каким либо полюсом источников питания могут быть
фатальными для макета. В случае отсутствия ошибок в соединениях можно включить
источник питания и начать измерения. Если необходимо произвести какие-либо
переключения на макете. необходимо выключить источник питания и включить его
после того, как все переключения будут сделаны.
Если есть необходимость анализировать сигналы более чем в четырёх точках
схемы одновременно, то один из входов коммутатора можно последовательно
подключать к исследуемым точкам, зарисовывая полученные осциллограммы. В этом
случае при соблюдении аккуратности в переключениях допускается не отключать
источник питания. В процессе работы по сборке схемы может выяснится, что для
выполнения всех соединений "не хватает " гнёзд на макете. Чтобы этого не случилось,
нужно сначала сделать эскиз соединений (см. например рис. 2. Прил. 2), и когда
станет ясно, что схема может быть собрана на макете - собрать её!
Если осциллограммы уже срисованы, хорошо бы выключить источник питания,
отключить соединительные проводники и приступить к анализу результатов, где,
возможно, уже потребуются и нестандартные действия.
13. Инструкция по выполнению лабораторной работы.
1. Получить у преподавателя задание. А у лаборанта - макет лабораторной работы и
принадлежности.
2. Для выбранных преподавателем схем (приложение 1, рис. 1 - 16) начертить эскизы
соединений (см. п. 12., рекомендации по выполнению лаб. Работы).
3. Собрать очередную схему на макете, проверить и устранить ошибки. Вход
осциллографа подключить к гнезду "Вых. " коммутатора. Установить режим
внешней синхронизации. Вход X осциллографа подключить к гнезду "Синхр"
макета. Установить переключатель временной развёртки осциллографа в
положение 50 mks/дел. Включить питание макета. Наблюдать на экране
осциллографа картину, подобную рис. 7.
33
4. Зарисовать осциллограммы для каждой схемы, нанести на рисунок временные
отметки. По полученным осциллограммам определить таблицу состояний каждой
схемы.
5. По таблице состояний схемы записать аналитическое выражение логической
функции в дизъюнктивной нормальной форме (ДНФ) и конъюнктивной
нормальной форме (КНФ).
6. Минимизировать выражения для логических функций. Полученных в п. 5 при
помощи алгебраических преобразований.
7. Оформить отчёт по работе. Отчёт должен содержать:
А) название и цель работы;
Б) схемы и эскизы соединений;
В) осциллограммы;
Г) таблицы;
Д) алгебраические преобразования;
Е) другие результаты, если необходимо;
Ж) выводы по работе.
34
Приложение I.
A
A
1
&
F
B
F
B
Рис. 1.
Рис. 2.
&
А
&
F
B
&
Рис. 3.
A
&
B
&
C
&
Рис.4.
&
F
35
&
A
1
B
F
C
Рис. 5.
A
&
1
B
F
&
C
Рис. 6.
A
&
&
&F
&
B
Рис. 7
.
A
&
B
&
C
Рис. 8.
1
F
F
36
&
A
1
&
B
F
Рис. 9.
A
&
B
1
1
F
&
C
Рис. 10.
1
A
&
1
F
&
1
B
Рис. 11.
A
1
&
B
1
&
Рис. 12.
1
F
37
A
&
1
&
F
&
B
Рис. 13.
A
&
B
&
1
&
F
&
C
&
Рис. 14.
A
"1"
"1"
B
&
&
1
1
&
Рис. 15.
&
1
F
38
A
&
B
&
&
&
C
&
D
&
Рис. 16.
1
F
39
Приложение II.
+5В
+12В
ВЫХ
-12В
СИНХР. ОСЦ.
Коммутатор
&
&
&
1
S
J
C
K
R
&
&
1
&
&
&
0 A
&
1
&
B
C
D
X
Y
Генератор функций
Рис. 1.
0
S
J
C
K
R
40
Коммутатор
&
ВХ1 ВХ2 ВХ3 ВХ4
&
&
A
B
C
Генератор
функций
&
Рис. 2.
Download