Передаточная характеристика

Гомельский государственный технический университет

Имени П. О. Сухого

Кафедра "Промышленная электроника"

 

 

Е. А. Храбров

 

 

Основы цифровой электроники

 

 

Практическое пособие

 

по курсу "Электронные цепи дискретного действия"

для студентов специальности 36.04.02

"Промышленная электроника"

 

 

Гомель 2003


УДК 621. 397

 

 

Храбров Е. А.

Основы цифровой электроники: Практическое пособие по курсу "Электронные цепи дискретного действия" для студентов специальности 36.04.02 "Промышленная электроника". – Гомель: ГГТУ, 2003. – 86 с.

 

Рецензенты: –Заведующий кафедрой "Информационные технологии" Гомельского филиала Международного института трудовых и социальных отношений (МИТСО), кандидат технических наук, доцент Кудин В. П.

 

–Доцент кафедры "Автоматизированный электропривод" ГГТУ имени П.О. Сухого, кандидат технических наук, Погуляев М.Н.

 

 

ã Гомельский государственный технический университет

имени П. О. Сухого, 2003


 

ВВЕДЕНИЕ

Учебным планом подготовки по специальности 36.04.02 "Промышленная электроника" установлена дисциплина "Электронные цепи дискретного действия". Цель дисциплины, – изучение студентами теоретических основ анализа и синтеза электронных цифровых и импульсных устройств на интегральных цифровых микросхемах малой и средней степени интеграции. В результате изучения первой половины данного курса, которая называется "Основы цифровой электроники", студенты должны усвоить следующие вопросы:

1. Двоичные сигналы и системы счисления в цифровой электронике.

2. Алгебра логики; положительная и отрицательная логика.

3. Минимизация логических функций; построение комбинационных логических схем по заданным булевым выражениям.

4. Классификация, обозначения цифровых микросхем, их параметры.

5. Состав и схемотехника ТТЛ логических микросхем.

6. Состав и схемотехника КМОП логических микросхем.

7. Особенности схем эмиттерно–связанной логики.

В настоящем учебном пособии излагаются основные теоретические сведения в соответствии с программой курса, часть прикладных вопросов изложена в практических руководствах по выполнению лабораторных работ по данной дисциплине.

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

Ввиду различий в условных графических обозначениях логических элементов, встречающихся в технической литературе, в настоящем пособии приводятся четыре варианта этих обозначений:

– отечественные, в соответствии с ГОСТ 2.743–82;

– старые зарубежные обозначения, которые до настоящего времени встречаются в иностранной технической литературе;

– обозначения в соответствии с американской системой MILSPEC;

– обозначения в соответствии с системой, рекомендованной Международной Электротехнической Комиссией (МЭК) и широко распространенной особенно среди европейских производителей электронной техники.

 

1. Достоинства и недостатки цифровой электроники

 

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

Входной сигнал по своей природе может быть и чисто дискретным, например импульсы в детекторе частиц или "биты" информации, поступающие от ключа, клавиатуры или ЭВМ. В подобных случаях естественно и удобно использовать цифровую электронику.

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

Информация в аналоговой схеме представлена в виде величины напряжения, и любые отклонения от требуемого значения, даже самые малые, приводят к потере, искажению информации. С двоичной схемой связан всего лишь один бит информации, значение которого определяется тем, в каком из двух возможных состояний находится выход схемы.

Рассмотрим передачу фиксированного количества информации, например 20 бит, посредством аналогового сигнала. Каждый бит информации позволяет сделать выбор между двумя равновероятными вариантами; поэтому с использованием 20 бит информации можно представить 220 = 1 048 576 возможных вариантов. Таким образом, весь диапазон выходного сигнала делят на 1 048 576 равных частей и, определяя, в какой части этого диапазона находится аналоговый выходной сигнал, выделяют 20 бит информации.

Для диапазона напряжений 0 ... 10 В приращение (шаг квантования) составляет 10 мкВ, и сконструировать реальную схему с такой точностью в пределах обычно существующих помех и диапазона изменения рабочих температур практически невозможно или по крайней мере неоправданно дорого. Один из вариантов решения проблемы заключается в использовании 20 двоичных схем, каждый выход которых несет 1 бит информации. Хотя это и ведет к увеличению числа используемых схем, зато стоимость каждой такой схемы, а в результате и всего устройства, значительно снижается. Очевидно, что при обработке большого количества информации из–за разницы в стоимости предпочтение отдается двоичным, цифровым схемам.

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

Управляющий сигнал поступает в телевизор, как правило, через систему дистанционного управления с помощью инфракрасного канала, передающего кодированные цифровые данные о кнопках, нажатых на переносном пульте для изменения того или иного параметра в телевизоре. В самом телевизоре значения всех параметров запоминаются в цифровом запоминающем устройстве, и хранится в нем сколь угодно долго. Такой стабильности и сохранности выбранных параметров настройки очень трудно было бы добиться аналоговыми средствами.

Другим не менее наглядным примером вытеснения аналоговых способов обработки информации цифровыми является широкое распространение так называемых компакт дисков с лазерным считывающим устройством для высококачественной записи и воспроизведения музыки. Таким образом, магнитофоны и проигрыватели граммофонных пластинок заменяются CD ROM проигрывателями.

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

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

Можно считать, что цифровые способы обработки сигналов предпочтительнее применять в тех случаях, когда:

– входные сигналы имеют дискретный характер;

– требуется сложная и нелинейная обработка сигналов при массовом производстве устройств обработки сигналов.

 

2. Двоичные сигналы

 

Сигналы можно разделить на две класса:

– аналоговые, непрерывные, изменяющиеся плавно;

– дискретные, изменяющиеся скачками обычно в определенные моменты времени.

Множество допустимых уровней дискретного сигнала может быть любым, однако есть один самый распространенный тип дискретного сигнала, у которого возможны только два значения: ВЫСОКИЙ (HIGH, 1) и НИЗКИЙ (LOW, 0) уровни. Такой сигнал называют двоичным, а зачастую цифровым (строго говоря, цифровой сигнал может иметь не только два уровня).

Двоичные (цифровые) сигналы можно подразделить на числоимпульсные, последовательные и параллельные позиционные сигналы.

Самыми простыми двоичными сигналами являются числоимпульсные сигналы, у которых информационным параметром является количество импульсов N за время заданного постоянного интервала времени, или за время между двумя определенными метками времени, причем ни длительность импульсов, ни их расположение при этом не имеют значения. На рис.2.1.1 показан пример числоимпульсного двоичного сигнала, в котором отметками начала и конца интервалов, в которых производят подсчет числа импульсов сигнала, служат достаточно длительные паузы между пачками импульсов. Такой вид может иметь сигнал набора номера в телефонных аппаратах с импульсным набором, которые распространены в нашей стране.

 

Рис. 2.1.1. Пример числоимпульсного двоичного сигнала, содержащего 6, 8, 3 и 4 импульса соответственно в первой, второй, третьей и четвертой посылках.

 

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

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

На рис. 2.1.2 показан пример последовательного двоичного сигнала, поступающего с одного вывода какого–то цифрового устройства CU. На этом рисунке, кроме сигналов по тактовой линии и самого последовательного двоичного сигнала, показано также цифровое устройство CU с его входами и выходом. Под каждым тактовым отрезком времени приведены их весовые коэффициенты.

 

Рис. 2.1.2. Пример последовательного двоичного сигнала, поступающего с одного вывода цифрового устройства CU, где:

а)– сигнал, передаваемый по тактовой линии;

б) – последовательность нулей и единиц, в первом интервале соответствующая числу 20, а во втором, – 26.

 

Последовательные двоичные сигналы хорошо использовать при передаче данных на большие расстояния, когда прокладывать многожильный кабель для параллельного двоичного сигнала становится достаточно дорого, ведь в отличие от последовательного параллельный сигнал передается одновременно по нескольким линиям, как это показано на рис.2.1.3. В приведенном примере параллельного сигнала совокупность нулей и единиц во время первого тактового импульса соответствует числу 3, а во втором, – 10.

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

 

 

Рис.2.1.3. Пример параллельного двоичного сигнала, поступающего одновременно с нескольких выводов цифрового устройства CU, в котором:

а)– сигнал, передаваемый по тактовой линии;

б) – сигнал, поступающий со старшего выхода цифрового устройства CU, которому соответствует весовой коэффициент 8;

в) – сигнал, поступающий со среднего выхода цифрового устройства CU, которому соответствует весовой коэффициент 4;

г) – сигнал, поступающий со среднего выхода цифрового устройства CU, которому соответствует весовой коэффициент 2;

д) – сигнал, поступающий с младшего выхода цифрового устройства CU, которому соответствует весовой коэффициент 1.

 

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

Самым медленным, но зато и самым простым и требующим самые малые затраты оборудования, является применение числоимпульсного сигнала.

Последовательный позиционный двоичный сигнал является промежуточным между параллельным и числоимпульсным сигналами.


3. СИСТЕМЫ СЧИСЛЕНИЯ В ЦИФРОВОЙ ЭЛЕКТРОНИКЕ

 

Все современные системы счисления (кроме некоторых римских цифр) являются позиционными, т.е. в них одна и та же цифра в разных позициях (слева, справа) имеет разное значение. Например, в десятичном числе 55 левая цифра означает 50, а правая, – только 5. В общем виде в позиционной системе счисления с основанием системы Х число А можно представить в виде:

 

 

где n – количество разрядов числа А, аi – коэффициенты каждого разряда, которые могут принимать значения от 0 до Х – 1.

При необходимости основание системы счисления указывается внизу после числа в виде нижнего индекса.

Примеры записи чисел в некоторых системах счисления:

1. Четырехразрядное десятичное число:

 

568510 = 5×103 + 6×102 + 8×101 + 5×100 ,

 

где Х = 10, – основание системы счисления, а0 = 5, а1 = 8, а2 = 6,

а3 = 5, – коэффициенты в каждом разряде, n = 4, – количество разрядов числа А.

2. Трехразрядное восьмеричное число:

 

3728 = 3×82 + 7×81 + 2×80 = 25010

 

где Х = 8 (восьмеричная система счисления), коэффициенты в разрядах числа A: а0 = 2, а1 = 7, а2 = 3; n = 3, – количество разрядов числа А.

3. Двухразрядное шестнадцатеричное число:

 

4E16 = 4×161 + 14×160 = 7810

 

где Х = 16 (шестнадцатеричная система счисления), коэффициенты в разрядах числа А а0 = E = 14, а1 = 4 (шестнадцатеричные цифры от 0 до 9 записываются так же, как и соответствующие десятичные цифры, а шестнадцатеричные цифры 10, 11, 12, 13, 14, 15 записываются заглавными латинскими буквами А, В, С, D, Е, F соответственно); n = 2, – количество разрядов числа А.

 

4. Четырехразрядное двоичное число:

 

11012 = 1×23 + 1×22 + 0×21 + 1×20 = 1310

 

где X = 2, – двоичная система счисления, коэффициенты в разрядах числа А: а0 = 1, а1 = 0, а2 = 1, а3 = 1, n = 4, – количество разрядов числа А.

Двоичный разряд, который может принимать только два значения: 0 или 1, называют "бит", происходящее от сокращения BIT английских слов

BI NARY DIG IT – "двоичная цифра". В английском языке слово bit означает также кусочек.

Десятичная система, к которой мы привыкли, основана на количестве пальцев рук и для применения в цифровой технике неудобна. В цифровой аппаратуре устройства обычно имеют два рабочих состояния и в них применяют двоичную систему счисления. Чем меньше основание системы счисления, тем менее компактный вид имеет запись какого-то числа, поэтому для сокращенной записи двоичных чисел обычно используют восьмеричную или шестнадцатеричную системы счисления. Восьмеричная и шестнадцатеричная системы счисления применяются в вычислительной технике из–за удобства представления больших двоичных чисел, поскольку их основания являются степенями двойки. Они являются как бы компромиссными между двоичной и десятичной системами счисления.

Преобразовать десятичное число в двоичное можно путем деления на 2 сначала самого числа, а затем каждого промежуточного частного. При этом каждый неделимый остаток дает очередную цифру соответствующего разряда искомого двоичного числа. Первый полученный таким образом остаток даст цифру младшего разряда, а последний, – старшего разряда двоичного числа. Например, десятичное число 5310 преобразуем в двоичное:

 

53 : 2 = 26 + 1

 
 


26 : 2 = 13 + 0

13 : 2 = 6 + 1

 
 


6 : 2 = 3 + 0

 
 


3 : 2 = 1 +1

 
 


1 : 2 = 0 +1

 

1 1 0 1 0 12

 

Аналогично можно преобразовывать числа с другими основаниями.

На основе двоичной системы счисления в цифровой технике разработаны различные формы представления чисел, которые иногда называют кодами. Естественную запись двоичного числа называют двоичным кодом.

Так же, как большие десятичные числа для удобства чтения разбивают при записи на тройки, так и большие двоичные числа обычно разбивают на четверки, – тетрады. Две тетрады или восемь двоичных цифр называют байт, – BYTE . Число 210 = 1024 называют в цифровой технике словом "килобит" в нарушение точного значения данного слова, – 1000.

В цифровой аппаратуре, в основном при индикации показаний десятичными цифрами или при задании параметров десятичными задатчиками, широко применяются различные двоично–десятичные коды.

Самый распространенный из них BCD код (сокращенное BINARY CODED DECIMAL, – двоично-кодированная десятичная цифра), который порой называют позиционным 8421–кодом, или натуральным двоично–десятичным кодом. В этом коде каждая десятичная цифра представляется своей отдельной тетрадой, – четверкой двоичных цифр, например:

5 2 6

526 10 = 0101 0010 0110 BCD

 

С помощью 4-х битов можно составить 16 различных сочетаний единиц и нулей, а для десятичных цифр достаточно 10 сочетаний. 6 сочетаний избыточны, поэтому возможны различные позиционные двоично-десятичные коды. Отличаются эти коды порядком следования степеней основания в представлении десятичных цифр. Так BCD код имеет следующие веса разрядов:

 

23, 22, 21, 20 = 8421.

 

Другой позиционный двоично–десятичный код, – код Эйкена имеет следующие веса разрядов:

21, 22, 21, 20 = 2421.

 

Десятичное число 910 , записанное в BCD–коде, равно 1001BCD , а это же число, записанное в коде Эйкена, имеет следующий вид: 1111ЭЙКЕН .

Еще один распространенный двоично–десятичный код, – код с избытком 3 (EXCESS – 3 CODE). В нем каждая десятичная цифра кодируется двоичной тетрадой, в которой взвешенная сумма разрядов больше этой десятичной цифры на три. Так, десятичная цифра 9 записывается тетрадой 1100, для которой взвешенная сумма разрядов 8×1 + 4×1 + 2×0 + 1×0 = 12, что на 3 больше 9.

Этот код называют самодополняющимся до 10, т.е. его младшие 5 цифр (от 0 до 4) являются зеркальным отражением, инверсией старших 5 цифр (от 5 до 9); например, число 0 = 0011EX3 является инверсным числу 9 = 1100EX3, число 1 = 0100EX3 является инверсным числу 8 = 1011EX3 и т.д. Достоинством кода с избытком 3 является его повышенная надежность при передаче информации в канале связи, поскольку количество единиц в его числах в среднем равно количеству нулей.

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

Число B, записанное в двоичном коде, можно преобразовать в число G в коде Грея с помощью следующего выражения:

Gi = Bi Å Bi+1 .

 

Число G, записанное в коде Грея, можно преобразовать в число B в двоичном коде с помощью следующего выражения:

 

Bi = Gi Å Bi+1 .

 

Здесь знак Å означает сумму по модулю два, которая равна единице, если входные слагаемые разные, или, – нулю, если они одинаковые, т.е.:

 

0 Å 0 = 0

0 Å 1 = 1

1 Å 0 = 1

1 Å 1 = 0

 

Число в коде Грея можно также получить из двоичного кода следующим образом :

двоичный код 1 1 0 1 0 1

       
   
 
 
   


Å Å Å Å Å

 

       
   
 
 


код Грея 1 0 1 1 1 1

 

Обратное преобразование кода Грея в двоичный код производят по похожей схеме:

код Грея 1 0 1 1 1 1

       
   
 
 
   


Å Å Å Å Å

 

           
   
 
   
 


двоичный код 1 1 0 1 0 1

 

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


4. АЛГЕБРА ЛОГИКИ

 

Называемая в честь английского математика Дж. Буля булевой алгеброй, алгебра логики составляет теоретическую основу логики, теории алгоритмов и логического проектирования цифровых схем. От обычной, привычной нам алгебры, булева алгебра отличается тем, что ее логические аргументы (переменные) могут принимать лишь два значения, а основных функций в булевой алгебре всего три: логическое умножение И, логическое сложение ИЛИ и отрицание НЕ.

Два возможных значения логических переменных называют ИСТИНА (TRUE) и ЛОЖЬ (FALSE), иногда их называют ДА и НЕТ, а чаще всего их обозначают соответственно как 1 и 0. При этом следует помнить, что эти логические 0 и 1 не надо трактовать как числа, над ними нельзя производить арифметические действия.

Логическая функция может быть задана четырьмя способами:

1) словесно (описанием ситуации);

2) алгебраическим выражением;

3) таблицей истинности;

4) электрической схемой, состоящей из контактов переключателей.

Например:

1. Лифт можно вызвать, если закрыты двери лифта на первом этаже и на втором этаже и на третьем этаже.

2. Если закрытые двери на первом этаже обозначить как А = 1, на втором как В = 1, на третьем как С = 1, возможность вызвать лифт обозначить как F = 1, а логическую функцию И обозначить знаком умножения "×", то алгебраическое выражение будет иметь вид:

F = A×B×C

 

3. В таблицу истинности в левой колонке заносятся все возможные комбинации входных аргументов, а в правой колонке записывают соответствующие этим комбинациям значения выходной функции. Входные комбинации записываются в порядке возрастания их значений от всех нулей до всех единиц сверху вниз. Таблица истинности, соответствующая данному примеру будет иметь следующий вид:

 

А В С F

––––––––––––––––––

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

4. Электрическая контактная схема обладает хорошей наглядностью, но может быть легко построена лишь для самых простых логических функций. Для нашего примера эта схема может иметь следующий вид:

 

4.1. ФУНКЦИИ булева базиса И, ИЛИ, НЕ

 

Наиболее часто встречаются следующие названия и буквенные обозначения функции И: логическое умножение, конъюнкция, совпадение, AND, И.

Возможные виды алгебраической записи функции И:

 

F = A & B; F = A ^ B; F = A x B; F = A × B; F = AB.

 

Контактная схема для функции И для двух переменных A и B:

 

 

Таблица истинности функции 2И:

 

А В F

––––––––––––

0 0 0

0 1 0

1 0 0

1 1 1

 

Условное графическое обозначение (УГО) в отечественных схемах логического элемента, реализующего функцию И:

В зарубежных схемах логический элемент И (AND – gate) обозначают следующим образом:

– старое обозначение:
– новое американское обозначение:
– новое европейское обозначение:

 

Наиболее часто встречаются следующие названия и буквенные обозначения функции ИЛИ: логическое сложение, дизъюнкция, OR, ИЛИ.

Алгебраическая запись функции ИЛИ: F = A v B; F = A + B.

 

Контактная схема для функции 2ИЛИ:

 

Таблица истинности функции 2ИЛИ: А В F

––––––––––––

0 0 0

0 1 1

1 0 1

1 1 1

 

Условное графическое обозначение логического элемента, реализующего функцию ИЛИ в отечественных схемах:

В зарубежных схемах логический элемент ИЛИ (OR – gate) обозначают следующим образом:

– старое обозначение:
– новое американское обозначение:
– новое европейское обозначение:

 

Наиболее часто встречаются следующие названия и буквенные обозначения функции НЕ: логическое отрицание, инверсия, дополнение, NOT, НЕ.

Возможные виды алгебраической записи функции НЕ:

 

F = ù A; F = A¢ , F =`A.

 

Контактная схема для функции НЕ:

 

 

Таблица истинности функции НЕ:

 

А F

–––––––

0 1

1 0

 

Условное графическое обозначение (УГО) логического элемента, реализующего функцию НЕ в отечественных схемах:

 

В зарубежных схемах логический элемент НЕ (NOT) обозначают следующим образом:

– старое обозначение:
– новое американское обозначение:
– новое европейское обозначение:

 

4.2. Инвертирующие базисы, ОТРИЦАТЕЛЬНАЯ ЛОГИКА.

 

Три вышеописанные логические функции И, ИЛИ, НЕ, с помощью которых можно получить все остальные логические функции, называют булевым базисом.

Иногда объединяют две булевы функции (при этом одной из них является НЕ), и получившийся логический элемент считают базовым для получения всех остальных логических функций.

Элемент И–НЕ называют также: штрих Шеффера (Sheffer stroke), NAND (сокращение от NOT AND).

Алгебраическая запись функции И–НЕ: F = A ½ B; F = A B.

 

Контактная схема для функции И–НЕ для двух переменных A и B:

 

 


Таблица истинности функции 2И–НЕ:

 

А В F

––––––––––––

0 0 1

0 1 1

1 0 1

1 1 0

 

Условное графическое обозначение (УГО) логического элемента, реализующего функцию И–НЕ в отечественных схемах:

 

В зарубежных схемах логический элемент И–НЕ обозначают следующим образом:

– старое обозначение:
– новое американское обозначение:
– новое европейское обозначение:

 

Элемент ИЛИ–НЕ называют также: стрелка Пирса (Pierce arrow), NOR (сокращение от NOT OR).

Алгебраическая запись функции ИЛИ–НЕ:

 
 


F = A ¯ B; F = A + B.

 


Контактная схема для функции 2ИЛИ–НЕ:

 

 

Таблица истинности функции 2ИЛИ–НЕ:

 

А В F

––––––––––––

0 0 1

0 1 0

1 0 0

1 1 0

 

Условное графическое обозначение (УГО) логического элемента, реализующего функцию ИЛИ–НЕ в отечественных схемах:

 

В зарубежных схемах логический элемент ИЛИ–НЕ обозначают следующим образом:

– старое обозначение:
– новое американское обозначение:
– новое европейское обозначение:

 

Логика называется положительной, если высокий потенциал отображает единицу, а низкий, – ноль. Если наоборот, высокий потенциал отображает ноль, а низкий, – единицу, то логика называется отрицательной. Данное правило называют логическим соглашением.

Самым важным следствием применения отрицательной логики является то, что при переходе от положительной логики к отрицательной функция И превращается в ИЛИ, и наоборот.

Это можно проиллюстрировать следующим образом:

– в положительной логике: в комнате зимой Тепло, если батареи отопления Включены И окна Закрыты ( Т = ВЗ);

– в отрицательной логике: в комнате зимой НЕ Тепло, если батареи отопления НЕ Включены ИЛИ окна НЕ Закрыты ( `Т = `В+ `З).

Здесь И переходит в ИЛИ когда входные аргументы и вывод отрицаются, при этом смысл выражения практически не меняется.

Благодаря этому переходу от И к ИЛИ и удается с помощью однотипных элементов инвертирующего базиса получать все остальные логические функции. Об этом говорят два постулата де 'Моргана:

 

АВ = `А + `В; А + В = `А`В.

 

Если логический элемент в положительной логике реализует функцию И, то в отрицательной логике этот же элемент реализует функцию ИЛИ, и наоборот, логический элемент ИЛИ положительной логики реализует функцию И в отрицательной логике.

Применение наряду с положительной логикой и отрицательной логики позволяет любое сложное логическое преобразование выполнить с применением только логических элементов И–НЕ или только ИЛИ–НЕ.

Покажем это хотя бы для простейших функций булева базиса.

 

НЕ
И:
ИЛИ:

Приведенные на этих рисунках построения логических функций НЕ, И, ИЛИ выполнены с помощью только логических элементов 2И–НЕ.

 

4.3. СОВЕРШЕННЫЕ НОРМАЛЬНЫЕ ФОРМЫ (СДНФ и СКНФ) ЗАПИСИ БУЛЕВЫХ ВЫРАЖЕНИЙ.

 

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

 

F = `A`В`С + `А В`С + А В`С + А В С.

 

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

В некоторых случаях более удобной формой записи логического выражения является совершенная конъюнктивная нормальная форма (СКНФ). Это произведение сомножителей, каждый из которых является суммой всех входных аргументов или их инверсий, например:

 

F = (`А + В +`С ) (`А + В + С ) ( А +`В + С ) ( А + В + С ).

 

Так же, как и СДНФ, СКНФ является явно избыточной.

 

4.4. ПРЕОБРАЗОВАНИЕ ТАБЛИЦЫ ИСТИННОСТИ В БУЛЕВО ВЫРАЖЕНИЕ

 

Допустим, имеется логическая функция F для трех переменных А, В и С, заданная в виде следующей таблицы истинности:

 

№ А В С F Примечания

 
 


0 0 0 0 1 Р0 = `А`В`С

1 0 0 1 0

2 0 1 0 1 Р2 = `А В`С

3 0 1 1 1 Р3 = `А В С

4 1 0 0 0

5 1 0 1 0

6 1 1 0 0

7 1 1 1 1 Р7 = А В С

 

Из всех возможных восьми комбинаций входных переменных А, В и С данная функция F равна единице только для тех четырех комбинаций, которые записаны в виде логических произведений P0, P2, P3 и P7 в правой части таблицы, в разделе примечания. При остальных наборах входных переменных функция F равна нулю. Смысл каждого булева выражения в том, чтобы показать при каких сочетаниях входных переменных или их инверсий заданная функция F равна единице. Поскольку функция будет иметь такое значение при любом из наборов Р0, Р2, Р3, Р7 независимо друг от друга, то их можно соединить между собой знаком ИЛИ, логическим сложением:

F = Р0 + Р2 + Р3 + Р7.

 

Каждый из наборов Р0, Р2, Р3, Р7 является таким сочетанием входных переменных или их инверсий, которые только при совместном их воздействии обеспечивает единичное состояние выходной функции.

Следовательно, каждый такой набор состоит из всех входных переменных или их инверсий, связанных между собой функцией И, логическим умножением:

 

Р0 = `А`В`С; Р2 = `А В`С; Р3 = `А В С; Р7 = А В С.

Исходя из этого, получаем результирующее выражение:

 

F = `А`В`С + `А В`С +`А В С + А В С.

 

Как можно заметить, это выражение записано в СДНФ.

 

4.5. ОСНОВНЫЕ ЗАКОНЫ БУЛЕВОЙ АЛГЕБРЫ И ПРАВИЛА ПРЕОБРАЗОВАНИЙ.

 

Большинство законов булевой алгебры совпадают с законами обычной алгебры, но некоторые законы отличаются (подчеркнутые).

 

А + В = В + А АВ = ВА

 

(А + В) + С = (А + С) + В (АВ)С = (АС)В

 

А(В + С) = АВ + АС А + (ВС) = (А + В)(А +С)

       
 
   
 


А + В = `А ×`ВА × В = `А +`В

 

А + А = АА А = А

 
 


А = АА +`АВ = А + В

 

А + АВ = АА×(А + В) = А

 

А +`А = 1А ×`А = 0

 

А + 0 = А А × 0 = 0

 

А + 1 = 1 А × 1 = А

 

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

 

4.6. МИНИМИЗАЦИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ АЛГЕБРАИЧЕСКИМ СПОСОБОМ И ПО КАРТАМ КАРНО

 

Основой минимизации алгебраическим способом является последовательное использование законов булевой алгебры и правил преобразований. Кроме законов, известных нам из обычной алгебры, в булевой алгебре типовыми приемами можно считать следующие:

1. Многократное прибавление или умножение какого–либо переменного, или нескольких переменных, что не изменяет функцию, поскольку:

 

А + А +...= А; АВС + АВС +...=АВС;

 

А А А... = А; АВС АВС ... = АВС.

 

2. Умножение членов уравнения на сумму А +`А = 1, или сложение их с А ×`А = 0.

3. Использование выражений, которые в предыдущем разделе подчеркнуты.

Пример минимизации логической функции алгебраическим способом:

 

F = `А В С + А`В С + А В`С + А В С =

= `А В С + А`В С + А В`С + А В С + А В С + А В С =

добавили

 

= `А В С + А В С + А`В С + А В С + А В`С + А В С =

= (А +`А) В С + (В +`В) А С + (С +`С) А В =

= А В + В С + А С .

 

Для минимизации логических функций очень удобно пользоваться картами Карно или очень схожими с ними диаграммами Вейча.

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

Если требуется получить карту Карно для какой–либо функции, сначала надо записать эту функцию в СДНФ, – в совершенной дизъюнктивно нормальной форме, или в виде таблицы истинности. Каждое слагаемое булева выражения в СДНФ, или каждая единица в столбце функции таблицы истинности, задается на карте Карно единицей в соответствующей клетке. Координаты этой клетки содержат те же входные переменные и их инверсии, что и данное слагаемое СДНФ булева выражения (или данная строка таблицы истинности).

Таблица истинности для четырех переменных включает 16 строк, следовательно, карта Карно должна состоять из 16 клеток, как показано на рис.4.10.1.

 

`А`В `А В А В А`В

 
 


`С`D 1 1

 
 


`C D 1 1

 
 


C D 1 1

 
 


C`D

 


Рис.4.10.1. Пример карты Карно для 4–х переменных.

 

У карты Карно для четырех переменных клетки крайнего левого столбца должны рассматриваться как соседние для клеток крайнего правого столбца, а клетки верхней строки, – как соседние для клеток нижней строки. Другими словами можно сказать, что эта карта расположена на поверхности цилиндра (склеили правый край карты с левым), изогнутого и растянутого так, что его верхний срез соединяется с нижним срезом; при этом цилиндр превращается в тор.

Правила упрощения заполненной карты Карно заключаются в следующем :

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

– контур должен быть прямоугольным без изгибов или наклонов;

– каждый контур превращает все входящие в него единицы в одну, т.е. объединенные таким образом слагаемые СДНФ булева выражения дают одно слагаемое в упрощенном выражении;

– те входные переменные, которые входят в координаты данного контура совместно со своими инверсиями, исключаются из слагаемого, которое дает этот контур в упрощенное выражение.

Примеры упрощения булевых выражений с помощью карты Карно для 4–х переменных:

 

1. F1 = `А В`С`D1 + A B`C`D2 +`A B`C D3 + A B`C D4 +

 

+ `A`B C`D5 + `A B C`D6 .

 


`А`В `А В А В А`В

 
 


`С`D 11 12 B`C 1,2,3,4

 
 


`C D 13 14 `A C`D 5,6

 
 


C D

 
 


C`D 15 16

 

F1 = B C + `A C`D

 

Рис.4.10.2. Пример минимизации булевой функции F1 с помощью карты Карно для 4–х переменных.

 

В первом примере минимизации булевой функции F1 нижний контур из двух единиц 15 и 16 , соответствующие пятому и шестому слагаемым в исходном булевом выражении, дает возможность опустить B и`B. После этого в нем остается произведение `A C`D. В верхнем контуре из четырех единиц 11, 12, 13 и 14 , соответствующие первым четырем слагаемым в исходном булевом выражении попарно опускаются A и`A, D и`D, так что в результате этого верхний контур дает произведение B C.

 

.F2 =`А`В`С`D1 +`A B`C`D2 + A B`C`D3 +`A`B C`D4 +`AB C`D5

 

`А`В `А В А В А`В

 
 


`С`D 11 12 13 B`C`D 2,3

 
 


`C D `A`D 1,2,4,5

 
 


C D

 
 


C`D 14 15

 

F2 =`A`D + B`C`D

Рис.4.10.3. Пример минимизации булевой функции F2 с помощью карты Карно для 4–х переменных.

 

Во втором примере минимизации булевой функции F2 контур из двух единиц 12 и 13 , соответствующие второму и третьему слагаемым в исходном булевом выражении, дает возможность опустить А и`А. После этого в нем остается произведение B`C`D. В контуре из четырех единиц 11, 12, 14 и 15 , соответствующие другим четырем слагаемым из исходного булева выражения, попарно опускаются В и`В, С и`С, так что в результате этого верхний контур дает произведение `A`D. Карта Карно представляется в данном случае свернутой в цилиндр, в котором верхний край совмещается с нижним.

Этот пример показывает также, что контуры могут накладываться друг на друга (сколько угодно раз).

Таблица истинности для пяти переменных включает 32 строки, следовательно, карта Карно должна состоять из 32 клеток, как показано на рис.4.10.4. Для шести переменных карта Карно содержит 64 клетки, как показано на рис.4.10.5.

Пример упрощения булевых выражений с помощью карты Карно для 5–ти переменных:

 

3. F3 = `А`В`С`D E1 +`A`B`C D E2 +

 

+`A`B C`D`E4 +`A B C`D`E5 +`A B C D E6 +

 

+`А В С D`E7 +`A B`C D E8 +`A B`C D`E9 +

 

+ A B`C D E10 + A B`C D`E11 + A B C D E12 +

 

+ А В С D`E13 + A`B`C`D E14 + A`B`C D E15 .

`А`В`C `А`В C `А В C `А В`C А В`C А В C А`В C А`В`C

 

`А`В`C `А`В C `А В C `А В`C А В`C А В C А`В C А`В`C

       
   
 


`D`E 14 15

           
 
   
 
   
 


`D E 11 114


D E 12 16 18 110 112 115

 
 


D`E 17 19 111 113

       
 
   
 


 

 

`A C`D E 4,5 B D 6,7,8,9,10,11,12,13

 

`B`C E 1,2,14,15

 

F3 = `B`C E 1,2,14,15 +``A C`D E 4,5 + B D 6,7,8,9,10,11,12,13

 

Рис.4.10.4. Пример минимизации булевой функции F3 с помощью карты Карно для 5–ти переменных.

 

Пример упрощения булевых выражений с помощью карты Карно для 6–ти переменных:

 

4. F4 = `А`В`С`D E`G 1 +`A`B`C D E`G 2 +`A`B C`D E`G 3 +

+`A`B C D E`G 4 +`A B C`D E G 5 +`A B C`D`E G 6 +

+`А В`С`D`E`G 7 +`A B`C`D E`G 8 +`A B`C D E`G 9 +

+`A B`C D`E`G 10 +`A B`C D`E G 11 +`A B`C D E G 12 +

+`А В`С`D E G 13 +`A B`C`D`E G 14 + A B`C`D`E`G 15 +

+ A B`C`D E`G 16 + A B`C D E`G 17 + A B`C D`E`G 18 +

+ А В`С D`E G 19 + A B`C D E G 20 + A B`C`D E G 21 +

+ A B`C`D`E G 22 + A B C`D E G 23 + A B C`D`E G 24 +

+ А`В С`D E`G 25 + A`B C D E`G 26 + A`B C`D E`G 27 +

+ A`B`C D E`G 28 + A`B`C D`E G 29.

 

`А`В`C `А`В C `А В C `А В`C А В`C А В C А`В C А`В`C

 
 


`D`E`G 17 115

               
     
 
   


`D E`G 11 13 18 116 125 127

       
   


D E`G 12 14 19 117 126 128

D`E`G 110 118