Справочник от Автор24
Поделись лекцией за скидку на Автор24

Цифровая электроника

  • ⌛ 2016 год
  • 👀 658 просмотров
  • 📌 612 загрузок
  • 🏢️ КГУ
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Цифровая электроника» pdf
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УДК 621.396.6 Печатается по решению редакционно–издательского совета физического факультета Казанского государственного университета. Насыров И. А. Рецензент Кандидат физ.-мат. наук, доцент Акчурин А. Д. КОНСПЕКТЫ ЛЕКЦИЙ ПО ЦИФРОВОЙ ЭЛЕКТРОНИКЕ Учебное пособие КАЗАНЬ – 2006 г. Насыров И. А. Конспекты лекций по цифровой электронике. Учебное пособие. – Казань: КГУ, 2006. – 98 стр. Изложены принципы построения и функционирования цифровых устройств. Приведены способы математического описания их работы, а также основы анализа и синтеза цифровых устройств с заданными техническими характеристиками. Рассмотрены принципы построения и функционирования базовых логических элементов, получивших наибольшее распространение при изготовлении современных цифровых интегральных схем. Предназначено для студентов, обучающихся по направлению «010800 – Радиофизика и электроника» и специальности «010801 - Радиофизика и электроника». © Физический факультет, 2006 © Казанский государственный университет, 2006 © Зеленодольский филиал Казанского государственного университета, 2006 2 I. ОБЩИЕ ПОЛОЖЕНИЯ СОДЕРЖАНИЕ I. 1. 2. 3. 4. II. 5. 6. 7. 8. ОБЩИЕ ПОЛОЖЕНИЯ ПРЕДСТАВЛЕНИЕ ЧИСЕЛ И ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПРЕЦИЙ 1.1. Системы счисления 1.2. Кодирование чисел в двоичной системе счисления 1.3. Выполнение арифметических операций в цифровых системах ОСНОВЫ АЛГЕБРЫ ЛОГИКИ И ВЫПОЛНЕНИЕ ЛОГИЧЕСКИХ ОПЕРАЦИЙ 2.1. Логические константы и переменные. Операции Булевой алгебры 2.2. Основные аксиомы и законы алгебры-логики 2.3. Способы записи функций алгебры логики ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ И СХЕМЫ 3.1. Принцип двойственности 3.2. Синтез логических схем в заданном базисе логических элементов МИНИМИЗАЦИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ 4.1. Цели и общие принципы минимизации функций алгебры логики 4.2. Минимизация функций алгебры-логики с использованием карт Вейча 4.2.1. Минимизация полностью определенной функции алгебры логики 4.2.2. Минимизация недоопределенной функции алгебры логики 4.2.3. Минимизация системы функций алгебры логики 4.3. Минимизация функций алгебры-логики на ЭВМ методом Квайна и Мак-Класски ЦИФРОВЫЕ ЛОГИЧЕСКИЕ УСТРОЙСТВА ФУНКЦИОНАЛЬНЫЕ УЗЛЫ КОМБИНАЦИОННЫХ ЛОГИЧЕСКИХ УСТРОЙСТВ 5.1. Мультиплексоры и демультиплексоры 5.2. Преобразователи кодов 5.3. Цифровые компараторы 5.4. Сумматоры 5.5. Логические элементы, реализующие сложные функции ТРИГГЕРНЫЕ УСТРОЙСТВА 6.1. Одноступенчатые триггеры 6.2. Двухступенчатые триггеры 6.3. Триггеры с динамическим управлением ФУНКЦИОНАЛЬНЫЕ УЗЛЫ ПОСЛЕДОВАТЕЛЬНОСТНЫХ ЛОГИЧЕСКИХ УСТРОЙСТВ 7.1. Регистры 7.2. Счетчики БАЗОВЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ 8.1. Основные требования к базовым логическим элементам 8.2. Базовые логические элементы транзисторно-транзисторной логики (ТТЛ) 8.3. Базовые логические элементы эмиттерно-связанной логики (ЭСЛ) 8.4. Базовые логические элементы на МДП-транзисторах 8.5. Базовые логические элементы интегрально-инжекционной логики (И2Л) СПИСОК ЛИТЕРАТУРЫ 3 4 4 4 7 9 16 16 17 19 24 24 27 28 28 30 32 34 36 38 42 42 42 44 47 49 53 54 57 62 65 67 67 70 76 78 83 86 90 94 97 1. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ И ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ 1.1. Системы счисления Существующие системы счисления подразделяются на позиционные и непозиционные. В непозиционных системах значение конкретной цифры постоянно и не зависит от ее расположения в записи числа. Примером такой системы счисления является Римская система записи числа. Например, в числе XXXVII значение X не зависит от ее местоположения в записи числа. Оно везде равно 10. В позиционных системах счисления значимость конкретной цифры определяется ее местоположением в записи числа. Так, произвольное число А в позиционной системе счисления с основанием q в общем случае можно представить в виде полинома: Aq = an −1q n −1 + an − 2 q n −1 + L + a0 q 0 + a−1q −1 + L + a− k q − k , (1.1) i где ai — разрядный коэффициент (ai = 0...q-1); q — весовой коэффициент. Число q называется основанием системы счисления. Следует отметить, что число q может быть как целым, так и дробным. Если в выражении (1.1) отбросить весовые коэффициенты qi и соответствующие знаки сложения, то получим сокращенную запись числа, носящую название q-ичного кода числа Aq. Номер позиции цифры ai называют его разрядом. Разряды с положительными степенями q образуют целую часть числа Аq, с отрицательными степенями — дробную. Цифры an-1 и a-k соответственно являются старшим и младшим разрядами числа. Количество различных чисел, которое может быть записано в позиционной системе счисления с основанием q при заданном числе разрядов, N = qn+k . (1.2) Количество разрядов, необходимое для записи в позиционной системе счисления с основанием q некоторого числа А, можно определить из следующих соображений. Согласно (1.2), для записи числа А в системе с основанием q должно выполняться условие Aq≤ qn+k – 1. Тогда n + m ≥ log q ( Aq + 1) . (1.3) В цифровой технике нашли применение только позиционные системы счисления. Для представления числа, записанного в позиционной системе счисления с выбранным основанием q, при помощи электрических сигналов необходимо иметь некоторое электронное устройство, формирующее на выходе q различных электрических сигналов, которые достаточно легко можно отличить друг от друга. При этом необходимое число таких устройств должно равняться числу разрядов целой и дробной частей записываемого числа. Критерием выбора q является минимизация аппаратных затрат при обеспечении достаточной помехоустойчивости. Попытки чисто математического 4 5 Десятеричная Шестнадцатеричная Восьмеричная Двоичная Переход от системы счисления с большим основанием к системе счисления с меньшим основанием выполняется с соблюдением следующих правил: Двоичная A10 = 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 1 ⋅ 20 = 11 Запись дробной части двоичного числа производится с первого результата умножения, т.е. 0,1210= 0,00012. Таким образом, окончательно получим: 25,1210≈ 11001,00012. В таблице 1.1 для примера приведен натуральный ряд чисел в различных системах счисления. Переход из двоичной системы счисления в восьмеричную или шестнадцатеричную может быть выполнен более простым путем. Так как 8 = 23, а 16=24, то один разряд числа, записанного в восьмеричной системе счисления, преобразуется в три разряда, а один разряд в числа в шестнадцатеричной системе счисления – в четыре разряда числа двоичной системы счисления. Таблица 1.1 Натуральный ряд чисел в различных системах счисления Восьмеричная Обычно число дается в нормализованном виде, когда его мантисса является правильной дробью, причем первая значащая цифра (единица) следует непосредственно после запятой: например, A2 = 0,1010×210 = 10, где m = 0,1010; p = 10; q = 2. При использовании фиксированной запятой число представляется в виде единого целого, причем положение запятой в используемой разрядной сетке жестко фиксировано. Обычно числа с фиксированной запятой даются в виде правильной дроби. Для этого все числа умножают на масштабный коэффициент, чтобы перевести их в правильную дробь. Цифровые системы, использующие числа с плавающей запятой, сложнее, чем использующие числа с фиксированной запятой, так как при этом требуется выполнение операций как над мантиссами, так и над порядками. Однако диапазон представляемых чисел при одинаковом числе разрядов в системах с плавающей запятой значительно больше. Для представления знака числа используется дополнительный знаковый разряд z, который обычно располагается перед числовыми разрядами. Для положительных чисел значение знакового разряда z = 0, для отрицательных чисел z=1. Для чисел с плавающей запятой вводятся отдельные знаковые разряды для мантиссы и для порядка чисел. При работе с устройствами вычислительной техники приходится сталкиваться с позиционными системами счисления с основанием 2, 8, 10 и 16. Рассмотрим ряд правил, позволяющих выполнить преобразование чисел из одной системы счисления в другую. Переход от системы счисления с меньшим основанием к системе с большим основанием осуществляется при помощи выражения (1.1), которое справедливо как для целой, так и дробной частей числа. Пример 1.1. Преобразовать двоичное число А2=1011 в десятичное А10. Решение. Согласно выражению (1.1) для q=2 получим Шестнадцатеричная Aq = mq p . а) целая часть исходного числа делится на основание новой системы счисления; б) дробная часть исходного числа умножается на основание новой системы счисления. Пример 1.2. Преобразовать в двоичную систему счисления десятичное число 25,12. Решение. а) Преобразуем целую часть: 25:2 = 12+1 (А0= 1) 12:2 = 6+0 (А1= 0) 6:2 = 3+0 (А2= 0) 3:2 = 1+1 (А3= 1) 1:2 = 0+1 (А4= 1) Запись целой части двоичного числа А2 производится с последнего результата деления, т.е. 2510= 110012. б) Преобразуем дробную часть: 0,12⋅2 = 0+0,24 (А-1= 0) 0,24⋅2 = 0+0,48 (А-2= 0) 0,48⋅2 = 0+0,96 (А-3= 0) 0,96⋅2 = 1+0,92 (А-4= 1) 0,92⋅2 = 1+0,84 (А-5= 1) Десятеричная решения поставленной задачи показали, что оптимальной при поставленных требованиях является система счисления с основанием е=2,71.... Однако практически создать такую систему сложно и технически нецелесообразно. Широкое распространение в цифровой технике получила позиционная система счисления с основанием q = 2 — двоичная система счисления. По определению в такой системе фигурируют только два цифровых знака 0 и 1. Цифровые системы оперируют действительными, целыми и дробными числами, которые могут иметь две формы представления: с плавающей запятой, с фиксированной запятой. При использовании плавающей запятой число состоит из двух частей: мантиссы (m), содержащей значащие цифры числа, и порядка (p), показывающего степень, в которую надо возвести основание счисления (q), чтобы полученное при этом число, умноженное на мантиссу, давало истинное значение представляемого числа: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 10 11 1 10 11 100 101 110 111 1000 1001 10 11 12 13 14 15 16 17 18 19 A B C D E F 10 11 12 13 12 13 14 15 16 17 20 21 22 23 1010 1011 1100 1101 1110 1111 10000 10001 10010 10011 6 1.2. Кодирование чисел в двоичной системе счисления В двоичном счислении любое число можно представить двумя цифрами: 0 и 1. Для представления этих чисел в цифровых системах достаточно иметь электронные схемы, которые могут принимать два состояния, четко различающиеся значением какой-либо электрической величины — напряжения или тока. Одному из значений этой величины соответствует цифра 0, другому — 1. Относительная простота создания электронных схем с двумя электрическими состояниями и привела к тому, что двоичное представление чисел доминирует в современной цифровой технике. Для упрощения выполнения арифметических операций в цифровой технике вводят специальные двоичные коды чисел. Например, операцию вычитания в цифровых системах реализуют с помощью операции сложения, представляя вычитаемое в одном из специальных кодов. Одной из разновидностей таких кодов является обратный код числа A2 , который получается заменой всех 0 в числе на 1 и наоборот (табл. 1.2). Более подробно алгоритмы выполнения арифметических операций, используемые в цифровых системах, будут рассмотрены в следующем параграфе. Еще одной разновидностью специальных кодов является дополнительный ~ код числа A2 , который образуется из обратного прибавлением 1 к младшему разряду ~ (табл. 1.2). Дополнительный код A2 числа А2 называется также дополнением числа ~ до 2, так как для цифр в каждом разряде числа a j + a j = 10 (число 2 в двоичной форме). Таблица 1.2 Десятичное число A10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Наиболее распространенные коды чисел от 0 до 15 Форма представления Двоичное Дополнительный Обратный код счисление код a3 a2 a1 a0 b3 b2 b1 b0 c3 c2 c1 c0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Циклический код Грея d3 d2 d1 d0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Помимо рассмотренных кодов в цифровых системах используются и другие способы двоичного представления чисел. В качестве примера в табл. 1.2 приведен 7 циклический код Грея, особенность этого кода заключается в том, что при переходе к каждому последующему числу в коде изменяется значение только одного двоичного разряда. При этом 2-разрадные числа образуют циклическую последовательность 00 – 01 - 11 – 10 - 00 (0 – 1 – 3 – 2 - 0), 3-разрядные — последовательность 000 – 001 – 011 – 010 – 110 - 111 – 101 – 100 - 000 (0 – 1 – 3 – 2 – 6 – 7 – 5 – 4 - 0) и т. д. Такая цикличность кода является весьма удобной, например, для кодирования угловых перемещений в преобразователях угла поворота в цифровой код. Перевод десятичных чисел в двоичный код требует использования достаточно сложных схем-преобразователей и занимает относительно долгое время. Более просто и быстро осуществляется перевод десятичных чисел в двоично-десятичный код. При этом цифра в каждом разряде десятичного числа заменяется соответствующим 4-разрядным двоичным числом (тетрадой) согласно таблице 1.3. Например, число А10 = 729 в двоично-десятичном коде записывается в виде A2 / 10 = 0111 { 0010 { 1001 { терада 2 тетрада1 тетрада 0 Для выполнения арифметических операций над двоично-десятичными числами наиболее удобно использовать так называемые самодополняющие коды, к числу которых относятся код Айкена, код «с избытком 3» (табл. 1.3) и некоторые другие. Код Айкена отличается от обычного двоично-десятичного, имеющего весовые коэффициенты разрядов в тетрадах 8—4—2—1, другими значениями весовых коэффициентов разрядов: 2—4—2—1. Код «с избытком 3» получается из обычного двоично-десятичного арифметическим прибавлением числа 3 (двоичное число 0011). Таблица 1.3 Наиболее распространенные виды двоично-десятичного кодирования Десятичное Двоично-десятичный Код Айкена Код число код (8-4-2-1) (2-4-2-1) «с избытком три» А10 a3 a2 a1 a0 b3 b2 b1 b0 c3 c2 c1 c0 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 1 4 1 1 1 1 1 5 1 1 1 1 1 1 6 1 1 1 1 1 1 7 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 Как видно из табл. 1.3, обратный код A2 / 10 числа, представленного в каком- либо самодополняющем двоично-десятичном коде A2/10, является его двоичным дополнением до 9. Например, число 5 в коде «с избытком 3» A2/10= 1000 имеет обратный код A2 / 10 = 0111, соответствующий числу 4 в коде «с избытком 3», которое «дополняет» число 5 до 9, так как 5 + 4 = 9. Можно использовать для кодирования одного разряда десятичных и более 8 четырех двоичных разрядов. Два таких кода даны в таблице 1.4. В коде «два из пяти» для представления десятичных цифр используются только те комбинации, которые содержат две 1 и три 0. В циклическом коде Джонсона переход к последующему числу осуществляется путем последовательной замены 0 на 1, начиная справа, до заполнения всех разрядов единицами, а затем заменой 1 на 0 до заполнения нулями. При таком кодировании используется избыточное количество личных разрядов, т. е. их требуется больше, чем при представлении в двоичной системе исчисления. Применение таких кодов, использующих для представления десятичных цифр избыточное число двоичных разрядов (более четырех), позволяет обнаруживать некоторые ошибки, которые могут возникнуть при передаче чисел в результате неисправностей или действия помех. Например, при использовании кода «два из пяти» легко обнаруживаются ошибки типа ложного перехода 0 в 1 и наоборот, так как при этом в двоичном 5-разрядном коде оказываются соответственно три или одна 1 вместо двух 1 при правильном функционировании. При использовании кода Джонсона ошибочными являются комбинации, при которых один или несколько 0 оказываются между 1 или наоборот. Таблица 1.4 Примеры избыточных двоично-десятичных кодов Десятичное Код «два из пяти» Циклический код Джонсона число А10 a4 a3 a2 a1 a0 b4 b3 b2 b1 b0 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 4 1 1 1 1 1 1 5 1 1 1 1 1 1 1 6 1 1 1 1 1 1 7 1 1 1 1 1 8 1 1 1 1 9 1 1 1 1.3. Выполнение арифметических операций в цифровых системах Арифметические операции над двоичными числами могут производиться по тем же правилам, что и над десятичными. Однако с целью упрощения цифровых систем для выполнения сложения, умножения, деления обычно применяются алгоритмы, не используемые в обычной десятичной арифметике. Выполнение операций сложения-вычитания над двоичными числами. Для выполнения операций сложения и вычитания в цифровой системе удобно представлять отрицательные числа в обратном коде (табл. 1.2), а положительные - в обычном коде. Вычитание заменяется сложением с переводом вычитаемого в обратный код, если это число положительное, и в обычный код (т. е. перевод B2 в обратный код), если число отрицательное. Если результат операции получается отрицательным (zS = 1), то он представлен в обратном коде, если положительным (zS=0) — в обычном двоичном коде. 9 Пример 1.3. Сложить два числа A10 = 12, B10 = -4. Решение: Знак Число zA → 0 01100 ← A2 = A10 = 12 (прямой код), + 11011 ← zB → 0 10 B2 = B10 = -4 (обратный код), 00111 1 ← циклический перенос zS → 0 01000 ← S2 = S10 = 8. Пример 1.4. Вычесть из числа A10 = -21 число B10 = -14. Решение: Знак Число zA → 1 01010 ← A2 = A10 = -21 (обратный код), zB → 1 10001 ← B2 = B10 = -14 (обратный код), 1 + 01010 ← A2 01110 ← B2 (перевод B2 в обратный код) 11000 ← S 2 = S10 = -7. zS → 1 Недостатком использования обратного кода является образование циклического переноса, который приводит к повторению операции сложения, что существенно увеличивает время выполнения действий. Поэтому во многих случаях ~ предпочтительнее использовать дополнительный код числа A2 (табл. 1.2). При использовании дополнительного кода отпадает необходимость в циклическом переносе и перенос, который может возникать в знаковом разряде числа, не учитывается. В дополнительном коде представляются все отрицательные числа. Вычитание заменяется сложением с переводом вычитаемого в дополнительный код, если это число положительное, или переводом из дополнительного кода в обычный, если вычитаемое отрицательное. Если знаковый разряд результата zS = 1, то полученное число отрицательное и представлено в дополнительном коде. Если zS = 0, то результат положительный и представлен в обычном коде. Пример 1.5. Сложить два числа A10 = 12, B10 = -4, используя дополнительный код. Решение: Знак Число zA → 0 01100 ← A2 = A10 = 12 (прямой код), + ~ = B = -4 (дополнительный код), zB → 1 11100 ← B 10 2 10 01000 zS → 0 01000 ← S2 = S10 = 8. 10 Пример 1.6. Вычесть из числа A10 = -21 число B10 = -14, используя дополнительный код. Решение: Знак Число ~ zA → 1 01011 ← A2 = A10 = -21 (дополнительный код), ~ = B = -14 (дополнительный код), zB → 1 11100 ← B 10 2 1 + zS → 1 ~ 01011 ← A2 (дополнительный код) ( z R =1), то старший разряд частного s-1= 0, если положительный знак ( z R = 0), то 1 1 s-1= 1. При s-1= 1 остаток R1 удваивается сдвигом влево, при s-1= 0 вместо остатка используется число 2 A2′ , которое также удваивается. Из полученного значения 2R1 или 4 A2′ снова вычитается В2. Если результат R2 отрицательный, то следующий разряд частного s-2 = 0, если положительный, то s-2 = 1. Вычитание выполняется c помощью одного из описанных выше методов. Для получения частного S 2′ с точностью до k-гo знака данная процедура повторяется k раз. При этом анализируется знак каждого промежуточного остатка 01110 ← B2 (обычный код) z Ri разность Ri +1 = ( 2 X i − B2 ) , где Xi = Ri при ~ 11001 ← S 2 = S10 = -7. Сложение и вычитание двоичных чисел с применением дополнительного кода выполняются проще и быстрее, хотя преобразование чисел в дополнительный код несколько сложнее, чем в обратный. Выполнение операций умножения-деления над двоичными числами. Для выполнения умножения и деления двоичных чисел используются различные методы, наиболее употребительные из которых описаны ниже. Умножение или деление двоичного числа на 2k = 2, 4, 8, 16 и т. д. производится путем сдвига значащих цифр числа соответственно влево или вправо на k = 1, 2, 3, 4 и т. д. разрядов. Перемножение двоичных чисел чаще всего выполняется с помощью метода умножения со старших разрядов. При этом множитель В2 предварительно сдвигается влево на nА разрядов, где nА — число разрядов множимого А2. Затем проверяется значение младшего разряда множимого а0. Если а0= 1, то первое частичное произведение R1 образуется путем арифметического сложения А и B ⋅ 2 n A (множитель, сдвинутый на nА разрядов) и последующего сдвига, суммы вправо на один разряд. При этом крайний правый разряд суммы выходит за пределы разрядной сетки и не учитывается. Если а0 = 1, то частичное произведение образуется только сдвигом вправо на один разряд с потерей крайне правого разряда. Далее проверяется значение младшего разряда (r0)1 полученного частичного произведения и образуется второе частичное произведение R2 суммированием R1 и B ⋅ 2 n A со сдвигом суммы вправо на один разряд (при (r0)1 = 0). Аналогичная процедура получения частичных произведений повторяется nB раз, где nB – число значащих разрядов множителя. Последнее частичное произведение является результатом умножения S 2 = Rn . B Таким образом, умножение двоичных чисел производится путем последовательного выполнения операций сложения и сдвига. Поэтому умножение требует существенно большего времени работы цифрового устройства, чем сложение и вычитание. Для деления двоичных чисел в цифровых системах чаще всего используется метод деления с восстановлением. Если делимое A2 больше делителя B2, то предварительно производится масштабирование делимого А2 путем его сдвига вправо на l разрядов, чтобы получить A2′ < B2 . Затем сдвигом A2′ влево на один разряд z Ri = 0 , или Xi = 2Ri-1 при z Ri = 1 , где i = 0, 1, …, k, X0= 2A2. В результате получается частное от деления A2 на B2 в виде правильной дроби S2 = 0, s-1, s-2, …, s-k и остаток от деления P2′ = Rk ⋅ 2k . Значения частного S2 и остатка P2 образуются в результате восстановления масштаба с помощью сдвига S 2′ и P2′ влево на l разрядов. Таким образом, деление чисел выполняется путем последовательного выполнения операции вычитания и сдвига. Знак результата при умножении и делении получается суммирование знаковых разрядов без учета переноса, получающегося при zA= zB= 1. Пример 1.7. Умножить число A10= 13 на число B10= 11. Решение: 1101 ← A2= A10= 13, × nA= nB= 4, 1011 ← B2= B10= 11. + 00001101 → a0= 1 (суммирование и сдвиг) 10110000 ← B2 ⋅ 2n A 10111101 → сдвиг суммы R1 → 01011110 → (r0)1= 0 (сдвиг) R2 → 00101111 → (r0)2= 1 (суммирование и сдвиг) + 1011000 ← B2 ⋅ 2n A 11011111 → сдвиг суммы R3 → 01101111 → (r0)3= 1 (суммирование и сдвиг) + 10110000 ← B2 ⋅ 2n A 100011111 → сдвиг суммы R4 → 10001111 → S2= S10= 143. образуют число 2A2′ и выполняют вычитание (2 A2′ − B2 ) . Если получаемый в результате промежуточный остаток R1 = (2 A2′ − B2 ) имеет отрицательный знак 11 и следующий остаток определяется как 12 Пример 1.8. Разделить A2= 0,0111 на B2= 0,1100. Решение: Так как A2< B2, то масштабирование в этом случае не требуется. X0= 2A2 → 0,1110 B2 → 0,1100 R1=(2A2- B2) → + 0,0010 > 0, s-1= 1, X1= 2R1 → 0,0100 B2 → 0,1100 R2=(2R1- B2) → - 0,1000 < 0, s-2= 0, X2= 4R1 → 0,1000 B2 → 0,1100 R3=(4R1- B2) → - 0,0100 < 0, s-3= 0, X3=8R1 → 1,0000 B2 → 0,1100 R4=(8R1- B2) → 3», а отрицательные – в обратном коде «с избытком 3». При сложении суммируются соответствующие тетрады двоичных разрядов. При вычитании сначала вычитаемое переводится в обратный код, а затем производится суммирование. Если при суммировании в тетраде не образуется перенос из старшего разряда, то сумма, полученная в данной тетраде, превышает на 3 действительное значение результата в коде «с избытком 3». Поэтому для коррекции значения суммы, полученной в этой тетраде, необходимо вычесть 3, что эквивалентно прибавлению 1101 (3 в дополнительном коде). Если в тетраде образуется перенос, т.е. десятичное число 16, то 10 поступает в виде двоичной 1 в младший разряд следующей тетрады, а 6 необходимо добавить к сумме, полученной в данной тетраде. Но так как для коррекции кода необходимо вычесть 3, то достаточно добавить (6-3) = 3, т. е. 0011. Переносы, возникающие при коррекции, не учитываются. Знаковые разряды чисел также суммируются. Перенос, образуемый в знаковом разряде, циклически переносится в младший разряд младшей тетрады. Коррекция кода требуется и при использовании других двоично-десятичных кодов. Поэтому выполнение арифметических операций при двоично-десятичном представлении сложнее, чем при двоичном. Однако при обработке большого количества данных этот недостаток компенсируется простотой перевода чисел в двоично-десятичную форму. 0,0100 > 0, s-4= 1. Получаем частное от деления S2= 0,1001 и остаток P2= 0,01⋅2-4= 0,000001. Описанные выше методы выполнения арифметических операций, рассмотренные для чисел с фиксированной запятой, применяются и для операций над числами с плавающей запятой. Однако при этом требуется еще выполнение определенных операций с порядками чисел. При сложении и вычитании чисел с плавающей запятой предварительно производится выравнивание порядков pA и pB обоих чисел путем сдвига мантиссы одного из них, например B2, на (pA- pB) разрядов вправо, если pA> pB, либо влево, если pA< pB. Порядок результатов при этом будет pS=pA. При умножении или делении чисел с плавающей запятой порядок результата равен соответственно сумме или разности порядков: pS= pA± pB. Выполнение арифметических операций над двоично-десятичными числами. Как было указано в параграфе 1.2, для выполнения арифметических операций над двоично-десятичными числами наиболее удобно использовать самодополнящие коды (табл. 1.3). Рассмотрим операции сложения-вычитания для чисел, записанных в двоично-десятичном коде. При использовании самодополняющих двоично-десятичных кодов вычитание заменяется сложением аналогично тому, как это производится для двоичных чисел в случае применения обратного кода. При этом все отрицательные числа представляются в обратном самодополняющемся коде. При выполнении вычитания вычитаемое преобразуется в обратный код и производится его суммирование с уменьшаемым. В случае образования переноса в старшем (знаковом) разряде выполняется его прибавление к младшему разряду младшей тетрады (циклический перенос). Затем производится дополнительная операция — коррекция кода в каждой из тетрад. Рассмотрим выполнения операций сложения-вычитания с применением кода «с избытком 3». Исходные положительные числа представляются в коде «с избытком 13 Пример 1.9. Сложить число А10= 34 с числом В10= 19, используя двоично-десятичное кодирование. Решение: zA → знак тетрада 1 0110 тетрада 0 0111 0100 1010 1100 0011 1 1011 0011 ← A2′ /10 = A10= 34, ← B2′ /10 = B10= 19, ← ← коррекция S 2′ /10 = S10= 53. + zB → + + zS → 1101 0011 1000 0110 1 Перенос не учитывается. 14 Пример 1.10. Вычесть из числа А10= 34 число В10= 19, используя двоично-десятичное кодирование. Решение: знак тетрада 1 тетрада 0 A2′ /10 = A10= 34, zA → 0 0110 0111 ← B2′ /10 = B10= 19, zB → 0 0100 1100 ← 0111 ← A2′ /10 1011 0011 ← B2′ /10 0001 1010 zA → + zB → 1 1 0001 1010 1 0110 + 1 10 zS → 0001 0011 0100 1 циклический перенос 1011 1101 ← коррекция 1000 ← S 2′ /10 = S10= 15. перенос не учитывается Контрольные вопросы и упражнения к разделу 1 1. В чем отличие позиционной системы счисления от непозиционной? 2. Как осуществляется перевод числа из одной системы счисления в другую: с большим основанием; с меньшим основанием? 3. Какие двоичные коды чисел Вы знаете? 4. Приведите наиболее распространенные типы двоично-десятичного кодирования. 5. Преобразуйте число X2= 101001 в X16. 6. Преобразуйте число X10= 23 в X8. 7. Опишите алгоритм выполнения сложения вычитания над двоичными числами, применяемыми в цифровой технике. 8. При помощи, каких операций выполняется операция умножения двоичных чисел в цифровой технике? 9. Приведите алгоритм умножения двоичного числа на число, отличное от 2k, где k = 1, 2, 3, 4, … . 15 2. ОСНОВЫ АЛГЕБРЫ ЛОГИКИ И ВЫПОЛНЕНИЕ ЛОГИЧЕСКИХ ОПЕРАЦИЙ 2.1. Логические константы и переменные. Операции Булевой алгебры Для описания алгоритмов работы цифровых устройств необходим соответствующий математический аппарат. Такой аппарат для решения задач формальной логики в середине прошлого века разработал ирландский математик Джорж Буль. По его имени математический аппарат и получил название булевой алгебры, или алгебры логики. Булева алгебра — это математическая система, оперирующая двумя понятиями: «событие истинно» и «событие ложно». Естественно ассоциировать эти понятия с цифрами, используемыми в двоичной системе счисления. Далее будем их называть соответственно логическими единицей (лог. 1) и нулем (лог. 0). Два элемента булевой алгебры, а именно «событие истинно» и «событие ложно», называются ее константами. Будем понимать под ними значения соответственно лог. 1 и лог. 0. В общем случае логические выражения являются функциями логических переменных А, В, С, каждая из которых может иметь значения 0 или 1. Если имеется k логических переменных, то они образуют 2 k возможных логических наборов из 0 и 1. При k = 1: А = 0 или А = 1; При k = 2: АВ = 00, 01, 10, 11 и т . д . Для каждого набора переменных логическая функция F может принимать значение 0 или 1. Поэтому для k переменных k можно образовать lk = 2 2 различных логических функций. Таким образом, при увеличении k число l растет чрезвычайно быстро: при k = 2 получим lk= 16; при k= 3 получим l3= 256; при k = 4 получим l4= 65 536 и т.д. Всё возможные логические функции k переменных можно образовать с помощью трех основных операций: • логическое сложение. Эту операцию называют операцией ИЛИ или дизъюнкцией. Постулаты логического сложения двух переменных приведены в таблице 2.1. Следует отметить, что данная операция справедлива для произвольного числа переменных. Число переменных, над которыми выполняется операция, обозначается цифрой, стоящей перед ее обозначением. Так, для табл. 2.1 можно сказать, что она определяет операцию 2ИЛИ. Операция ИЛИ соответствует математической операции объединения множеств. • логическое умножение. Эту операцию называют операцией И или конъюнкцией. Постулаты логического умножения двух переменных приведены в табл. 2.1. Следует отметить, что данная операция также справедлива для произвольного числа переменных. Она соответствует математической операции пересечения множеств. Число переменных, над которыми выполняется операция, также обозначается цифрой. В данном случае можно сказать, что табл. 2.1 определяет операцию 2И. 16 • отрицание. Операцию отрицания называют инверсией или дополнением. Для ее обозначения используют черту над соответствующем выражением. Постулаты, определяющие операцию отрицания, приведены в таблице 2.2. Для обозначения эквивалентности логических выражений используется знак равенства «=». Таблица 2.1 Таблица 2.2 Операции дизъюнкции и конъюнкции. Операция инверсии. A B F = A+B F = A⋅B A F= A 1 1 1 1 1 1 1 1 1 1 2.2. Основные аксиомы и законы алгебры-логики Для рассмотренных логических операций справедлив ряд аксиом (тождеств) и законов, основные из которых даны в таблице 2.3. Следует отметить, что алгебраические выражения тождеств и законов в таблице 2.3. заданы парами, и взаимной заменой операций И, ИЛИ и символов 0 и 1 из одного выражения получается другое. Используя данные тождества и законы, можно получать новые логические выражения, а также доказывать справедливость тех или иных законов на основании других. Таблица 2.3 Основные аксиомы и законы алгебры-логики 1+A = 1. (2.1) 0⋅A = 0. 0+A = A (2.2) 1⋅A = A A+A = A Аксиомы (тождества) (2.3) A⋅ A = A A+ A = 1 (2.4) A⋅ A = 0 (2.5) A=A A+B = B+A Законы коммутативности (2.6) A⋅B = B⋅A A+B+C = A+(B+C) Законы ассоциативности (2.7) A⋅B⋅C = A⋅(B⋅C) A(B+C) = (A⋅B)+(A⋅C) Законы дистрибутивности (2.8) A+(B⋅C) = (A+B)⋅(A+C) Законы дуальности (теоремы Де-Моргана) Законы поглощения A+ B = A ⋅B A⋅ B = A + B A+A⋅B = A A⋅(A+B) = A. (2.9) (2.10) Например, с помощью второго закона дистрибутивности (2.8) и тождества (2.4) получаем соотношение: 17 A + A ⋅ B = ( A + A ) ⋅ ( A + B) = A + B (2.11) Используя первый закон дистрибутивности (2.8), тождества (2.1), (2.2) и закон коммутативности (2.6), получаем доказательство справедливости второго закона поглощения (2.10) A( A + B) = AA + AB = A + AB = A(1 + B) = A . Применение данных тождеств и законов позволяет производить упрощение логических функций, т.е. находить для них выражения, имеющие наиболее простую форму. Используя законы ассоциативности, любую логическую функцию многих переменных (k >2) можно представить в виде комбинации функции двух переменных. 22 Полный набор 2 = 16 логических функций двух переменных дан в таблице 2.4. Каждая функция обозначает одну из 16 возможных логических операций над двумя переменными А, В и имеет собственное название и условное обозначение. Таблица 2.4 Полный набор логических функций для двух переменных Условное обозначение и A 1 1 Название функции алгебраическое выражение B 1 1 F0 F0 = 0 Постоянный ноль F1 1 F1 = AB Конъюнкция F2 1 F2 = A → B = AB Запрет F3 1 1 F3 = A Тождественность А F4 1 F4 = B → A = A B Запрет F5 1 1 F5 = B F6 1 1 F6 = A ⊕ B = AB + A B F7 1 1 1 F7 = A+B F8 1 F8 = A ↓ B = A + B F9 1 1 F9 = A ⊕ B = AB + A B F10 1 1 F10 = B Тождественность В Исключительное ИЛИ (неравнозначность) Дизъюнкция Стрелка Пирса (ИЛИ-НЕ) Равнозначность (исключительное ИЛИ-НЕ) Инверсия В F11 1 1 1 F11 = B → A = A + B Импликация от В к А F12 1 1 F12 = A Инверсия А F13 1 1 1 F13 = A → B = A + B Импликация от А к В Штрих Шеффера (И-НЕ) Постоянная единица F14 1 1 1 F14 = A / B = AB F15 1 1 1 1 F15 = 1 18 2.3. Способы записи функций алгебры логики Рассмотрим некоторое логическое устройство, на входе которого присутствует некоторый n-разрядный двоичный код xn-1 …x1x0, на выходе соответственно m-разрядный двоичный код zm-1…z1z0, (рис. 2. 1 ) . Для того, чтобы описать поведение этой схемы, необходимо определить зависимость каждой из т выходных переменных z i Рис. 2.1. Обобщенная схема логичеот входного двоичного кода x n-1 …x 1 x 0 . ского устройства. Зависимость выходных переменных zi, выраженная через совокупность входных переменных x n-1 …x 1 x 0 с помощью операций алгебрылогики, носит название функции алгебры логики (ФАЛ). Иногда данную зависимость также называют переключательной функцией. Задать ФАЛ - это значит определить значения z i для всех возможных комбинаций переменных x nn 1 …x 1 x 0 . Очевидно, что для n-разрядного двоичного кода x n-1 …x 1 x 0 существует 2 различных значений zi. Функция называется полностью определенной, если заданы 2n ее значений. Если часть значений функции не задана, то она называется частично определенной или недоопределенной. Иногда известно, что по условиям работы устройства появление некоторых входных кодов невозможно, и поэтому значения ФАЛ на этих кодах не задаются. При этом возникают так называемые факультативные или необязательные значения функции, которые могут задаваться произвольными значениями. Входные коды, для которых ФАЛ имеет факультативные значения, называются запрещенными. Устройства, поведение которых описывается при помощи ФАЛ, называют логическими. Для описания ФАЛ могут быть использованы различные способы. Основными из них являются описание функции в словесной форме, в виде таблиц истинности, алгебраических выражений, последовательностей десятичных чисел, а также кубических комплексов. Словесное описание ФАЛ. Данный вид описания наиболее часто применяется для первоначального, исходного описания поведения логического устройства. Проиллюстрируем словесное описание ФАЛ на примере. Пример 2.1. Логическая функция трех переменных равна единице, если хотя бы две входные переменные равны единице. Описание ФАЛ в виде таблицы истинности. Таблица, содержащая все возможные комбинации входных переменных x n-1 …x 1 x 0 и соответствующие им значения выходных переменных zi, называется таблицей истинности, или комбинационной таблицей. В общем случае таблица истинности содержит 2 n строк и m+n столбцов. Проиллюстрируем построение таблицы истинности на примере. Пример 2.2. Составить таблицу истинности для ФАЛ из примера 2.1. Решение. Данная таблица имеет четыре столбца. Таблица 2.5 Таблица истинности для трех переменных x1 x0 y x2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Описание ФАЛ в виде алгебраического выражения. При описании ФАЛ алгебраическим выражением используются две стандартные формы ее представления. 1. Дизъюнктивная нормальная форма (ДНФ). ДНФ называется логическая сумма элементарных логических произведений, в каждый из которых аргумент или его инверсия входят один раз. Получена ДНФ может быть из таблицы истинности с использованием следующего алгоритма: а) для каждого набора переменных, на котором ФАЛ равна единице, записываются элементарные логические произведения входных переменных, причем переменные, равные нулю, записываются с инверсией. Полученные произведения называют конституентами единицы, или минтермами (m). б) логически суммируют все конституенты единицы (минтермы). Пример 2.3. Записать ДНФ для ФАЛ, заданной в примере 2.2. Решение. Составим таблицу конституент единицы (минтермов) для ФАЛ, заданной в примере 2.2. Таблица 2.6 Минтермы ФАЛ y(x2,x1,x0) Минтермы Значение x2 x1 x0 (m) функции m = x x x y0=0 2 1 0 1 m1 = x2 x1 x0 y1=0 1 m2 = x2 x1 x0 y2=0 1 1 m3 = x2 x1 x0 y3=1 1 m4 = x2 x1 x0 y4=0 1 1 m5 = x2 x1 x0 y5=1 1 1 m6 = x2 x1 x0 y6=1 1 m7 = x2 x1 x0 y7=1 1 19 1 20 Согласно приведенному выше алгоритму, используя минтермы из табл. 2.6 и основные аксиомы (тождества) алгебры-логики (табл. 2.3), получим: y ( x2 , x1 , x0 ) = y0 m0 + y1m1 + y2 m2 + y3 m3 + y4 m4 + Согласно приведенному выше алгоритму, используя макстермы из табл. 2.7 и основные аксиомы (тождества) алгебры-логики (табл. 2.3), получим: y (x2 , x1 , x0 ) = ( y0 + M 0 ) ⋅ ( y1 + M 1 ) ⋅ ( y2 + M 2 ) ⋅ ( y3 + M 3 ) ⋅ ( y4 + M 4 ) × + y5 m5 + y6 m6 + y7 m7 = 0 ⋅ (x2 x1 x0 ) + 0 ⋅ ( x2 x1 x0 ) + × ( y5 + M 5 ) ⋅ ( y6 + M 6 ) ⋅ ( y7 + M 7 ) = (x2 + x1 + x0 ) ⋅ ( x2 + x1 + x0 ) × + 0 ⋅ ( x2 x1 x0 ) + 1 ⋅ ( x2 x1 x0 ) + 0 ⋅ (x2 x1 x0 ) + 1 ⋅ ( x2 x1 x0 ) + + 1 ⋅ ( x2 x1 x0 ) + 1 ⋅ ( x2 x1 x0 ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 × ( x2 + x1 + x0 ) ⋅ (x2 + x1 + x0 ) Дизъюнктивную нормальную форму, полученную суммированием конституент единицы (минтермов), называют совершенной дизъюнктивной нормальной формой (СДНФ). В общем случае СДНФ любой логической функции можно представить в следующей форме: q −1 F = ∑ f i mi (2.12) i =0 2. где fi – значение функции (0 или 1), mi – минтерм, соответствующие i-ому набору переменных; q = 2n – количество различных значений ФАЛ при n заданных переменных. Конъюнктивная нормальная форма (КНФ). КНФ называется логическое произведение элементарных логических сумм, в каждую из которых аргумент или его инверсия входят один раз. Получена КНФ может быть из таблицы истинности с использованием следующего алгоритма: а) для каждого набора переменных, на котором ФАЛ равна нулю, записывают элементарные логические суммы входных переменных, причем переменные, значения которых равны единице, записывают с инверсией. Полученные суммы называют конституентой нуля, или макстермами. б) логически перемножают все конституенты нуля (макстермы). Пример 2.4. Записать КНФ для ФАЛ, заданной в примере 2.2. Решение. Составим таблицу конституент нуля (макстермов) для ФАЛ, заданной в примере 2.2. Таблица 2.7 Макстермы ФАЛ y(x2,x1,x0) Значение Макстермы x2 x1 x0 функции (M) M 0 = x2 + x1 + x0 y0=0 1 M 1 = x2 + x1 + x0 y1=0 1 M 2 = x2 + x1 + x0 y2=0 1 1 M 3 = x2 + x1 + x0 y3=1 y4=0 1 M 4 = x2 + x1 + x0 1 1 M 5 = x2 + x1 + x0 y5=1 1 1 M 6 = x2 + x1 + x0 y6=1 1 1 1 M 7 = x2 + x1 + x0 y7=1 21 Конъюнктивную нормальную форму, полученную суммированием конституент нуля (макстермов), также называют совершенной конъюнктивной нормальной формой (СКНФ). В общем случае СКНФ любой логической функции можно представить в следующей форме: q −1 F = ∏ ( fi + M i ) (2.13) i =0 где fi – значение функции (0 или 1), Mi – макстерм, соответствующие i-ому набору переменных; Рассмотренные методики позволяют получить математическую форму записи для самой функции. Иногда удобнее применять не саму ФАЛ, а ее инверсию. В этом случае при использовании вышеописанных методик для записи СДНФ необходимо выбирать нулевые, а для записи СКНФ – единичные значения функции. Пример 2.5. Для ФАЛ из примера 2.2 записать СДНФ и СКНФ инверсной функцией. Решение. Воспользовавшись таблицей 2.5, запишем СДНФ: СКНФ: y (x2 , x1 , x0 ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 y (x2 , x1 , x0 ) = (x2 + x1 + x0 ) ⋅ ( x2 + x1 + x0 ) ⋅ (x2 + x1 + x0 ) ⋅ ( x2 + x1 + x0 ) Описание ФАЛ в виде последовательности десятичных чисел. Иногда для сокращения записи ФАЛ представляют в виде последовательности десятичных чисел. При этом последовательно записывают десятичные эквиваленты двоичных кодов соответствующих конституент еденицы и нуля (минтермов и макстермов). Пример 2.6. Записать в виде последовательности десятичных чисел ФАЛ из примеров 2.3 и 2.4. Решение. В СДНФ из примера 2.3 первая конституента единицы (минтерм - x2 x1 x0 ) соответствует двоичному коду 011 (табл. 2.6). Десятичный эквивалент этого кода равен 3. Аналогично записываются все остальные конституенты: y (x2 x1 x0 ) = ∑ (3,5,6,7 ) . В СКНФ из примера 2.4 первая конституента нуля (макстерм x2 + x1 + x0 ) соответствует двоичному коду 000 (табл. 2.7). Десятичный эквивалент этого кода равен 0. Аналогично записывают все остальные конституенты: y ( x2 x1 x0 ) = ∏ (0,1,2,4) . Кубические комплексы. В последнее время широкое распространение получило так называемое кубическое представление ФАЛ. Такое представление использует ограниченное число символов и поэтому применяется при автоматизации процессов логического проектирования цифровых интегральных схем (ИС). 22 Основой кубической формы является представление каждого набора входных переменных в качестве n-мерного вектора. Вершины этих векторов геометрически могут быть представлены как вершины n-мерного куба. Отмечая точками вершины векторов, для которых ФАЛ равна единице, получаем геометрическое представление функции куба. Пример 2.7. Задана ФАЛ z ( x2 , x1 , x0 ) = ∑ (3,4,5,6,7) . Дать геометрическое представление в виде куба. Решение. Графическое решение задачи проиллюстрировано на рисунке 2.2. Рис. 2.4. Двоичный куб для Рис. 2.3. Единичный кубиФАЛ (см. пример ческий комплекс 2.8). ФАЛ (см. пример 2.8). Очевидно, что наборы переменных, расположенные на концах ребер куба, отличаются только одной переменной. Такие наборы (коды) принято называть соседними. Каждую функцию куба, в которой функция принимает единичное значение, называют нулевым кубом (0-кубом). Записывается 0-куб последовательностью образовавших его входных переменных, т.е. кодом, соответствующим конституенте единицы. Множество нулевых кубов образуют нулевой кубический комплекс K0 ФАЛ. Если два нулевых куба комплекса K0 отличаются только по одной координате (переменной), т.е. два набора переменных, для которых ФАЛ равна единице, являются соседними, то они образуют единичный куб (1-куб). Геометрически это соответствует ребру исходного n-мерного куба (рис. 2.3), 1-куб записывается последовательностью общих элементов образовавших его 0-кубов с прочерком несовпадающих элементов. Множество единичных кубов образует единичный кубический комплекс K1. Аналогично, если два единичных куба комплекса K1 отличаются только по одной координате (переменной), то эти единичные кубы образуют двоичный куб (2куб). Геометрически это соответствует грани исходного n-мерного куба (рис. 2.4). 2куб также записывается последовательностью общих элементов, образовавших его 1кубов с прочерком несовпадающих элементов, а множество двоичных кубов образуют двоичный кубический комплекс K2. И так далее. Пример 2.8. Для ФАЛ из примера 2.7 записать кубические комплексы. Решение. Нулевой кубический комплекс содержит пять членов по числу конституент единицы ФАЛ. K0= (011, 100, 101, 110, 111). Сравнивая записанные 0-кубы, можно увидеть, что 1-й и 5-й кубы Рис. 2.2. Геометрическое представление ФАЛ. 23 отличаются только первым членом. Поэтому они образуют 1-куб вида –11. Аналогично, 2-ой и 3-й 0-кубы образуют 1-куб 10- и т.д. Единичный кубический комплекс заданной ФАЛ будет иметь вид: K1= (-11, 10-, 11-, 1-1). Аналогично может быть получен и двоичный кубический комплекс, состоящий из одного 2-куба: K2= (1--). Из сказанного следует, что размерность куба (его ранг) определяется числом несовпадающих координат, т.е. числом прочерков в его записи. Объединение кубических комплексов K0, K1, …, Km для ФАЛ n-переменных образует ее кубический комплекс: K ( z ) = U (K 0 , K1 , K K m ) . Контрольные вопросы и упражнения к разделу 2 1. Что называется булевыми константами и переменными в алгебре логики? 2. Назовите основные операции булевой алгебры. Как они описываются с помощью таблиц истинности; с помощью алгебраических выражений. 3. Что отражают теоремы булевой алгебры? Сформулируйте теоремы Де-Моргана, законы ассоциативности, коммутативности, поглощения. 4. Какие функции алгебры логики называются полностью и частично определенными? Что такое факультативное значение функции и запрещенный код? 5. Приведите пример описания ФАЛ в словесной форме; в виде таблицы истинности; в виде алгебраического выражения; в дизъюнктивной и конъюнктивной нормальной формах; в виде последовательности чисел; в виде куба. 6. Что такое нулевой куб; единичный куб; двоичный куб; единичный и двоичный кубические комплексы; кубический комплекс? 7. Дайте определение ранга куба. 3. ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ И СХЕМЫ 3.1. Принцип двойственности Пользуясь ФАЛ, мы до сих пор ничего не говорили о структуре логического устройства, представляя его аналогично устройству на рис. 2.1 в виде некоторого «черного ящика». Однако ФАЛ однозначно определят и внутреннюю структуру логического устройства. Если мы располагаем элементарными узлами, реализующими основные логические операции, заданные постулатами в п. 2.1, то с их помощью можно построить логическую схему, выполняющую заданный алгоритм преобразования исходных логических переменных. В общем случае характер реальных логических переменных не имеет значения. Он может быть произвольным. В соответствии с перечнем логических операций различают три основных логических элемента (ЛЭ): И, ИЛИ, НЕ. Условные графические обозначения этих ЛЭ показаны на рисунке 3.1. Рис. 3.1. Условные графические изображения логических элементов. 24 Следует еще раз подчеркнуть, что число элементов И или ИЛИ может быть произвольным. Элемент НЕ имеет всегда только один вход. Для построения логической схемы необходимо ЛЭ, предназначенные для выполнения логических операций, указанных в ФАЛ, располагать от входа в порядке, определенном булевым выражением. Пример 3.1. Построить структурную схему логического устройства по ФАЛ из примера 2.3 (т.е. y ( x2 , x1 , x0 ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 ). Решение. Для реализации заданной ФАЛ в виде структурной логической схемы нам понадобится три ЛЭ, реализующих операцию НЕ, т.к. исходная ФАЛ формируется тремя переменными (x2, x1, x0), которые входят в нее как в прямом, так и в инверсном виде. Операция дизъюнкции должна быть выполнена четыре раза над тремя переменными, таким образом, для ее реализации нам понадобится четыре ЛЭ, реализующих операцию 3И. Последней выполняется операция конъюнкции над четырьмя выражениями, для реализации которой потребуется ЛЭ, реализующий операцию 4ИЛИ. Пример структурной логической схемы, реализующей заданную ФАЛ, приведен на рис. 3.2. операциями И и НЕ или операциями ИЛИ и НЕ. Введем понятие функционально полной системы ЛЭ. Функционально полной системой называется совокупность ЛЭ, позволяющая реализовывать логическую схему произвольной сложности. Таким образом, системы двух элементов И и НЕ, а также ИЛИ и НЕ наравне с системой из трех элементов (И, ИЛИ, НЕ) являются функционально полными. На практике широкое применение получили ЛЭ, совмещающие функции элементов указанных выше функционально полных систем. Это ЛЭ, реализующие операции штрих Шеффера (табл. 2.4, операция И-НЕ) и стрелка Пирса (табл. 2.4, операция ИЛИ-НЕ). По определению каждый из этих ЛЭ также образует функционально полную систему. Их условные графические изображения приведены на рис. 3.3. Рис. 3.3. Условные графические обозначения ЛЭ 2И-НЕ и 2ИЛИ-НЕ В качестве примера рассмотрим реализацию логических операций И, ИЛИ и НЕ с использованием только элемента ИЛИ-НЕ. Рис. 3.4. Реализация ЛЭ НЕ на элементе ИЛИ-НЕ Если ЛЭ 2ИЛИ-НЕ включен по схеме, показанной на рис. 3.4, то при подаче на его вход логической переменной А на его выходе получим логическое выражение вида Рис. 3.2. Структурная схема логического устройства, реализующая ФАЛ вида A + A , но согласно аксиоме (2.3) можем записать A + A = A . Таким образом, мы получили элемент, реализующий операцию логического отрицания (НЕ). y ( x2 , x1 , x0 ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 При сравнении таблиц истинности для операций И и ИЛИ (см. табл. 2.1), легко заметить, что если в условиях, определяющих операцию И, значения всех переменных и самой функции заменить инверсией, а знак логического умножения – знаком логического сложения, получим постулаты, определяющие операцию ИЛИ, и наоборот (см. теоремы Де-Моргана (2.9)): если если x1 ⋅ x0 = z , то x1 + x0 = z , x1 + x0 = z , то x1 ⋅ x0 = z . Это свойство взаимного преобразования постулатов операций логического сложения и умножения носит название принципа двойственности. Важным практическим следствием принципа двойственности является тот факт, что при записи логических выражений и, следовательно, построении логических схем, можно обойтись только двумя типами операций, например 25 Рис. 3.5. Реализация ЛЭ ИЛИ на элементах ИЛИ-НЕ Если на входы ЛЭ ИЛИ-НЕ поданы логические переменные А и В, тогда на его выходе получим выражение A + B . Для реализации операции конъюнкции получившееся выражение необходимо инвертировать, что можно реализовать, применив к нему операцию отрицания (второй элемент ИЛИ-НЕ в структурной логической схеме на рис 3.5). Таким образом, мы получили элемент, реализующий операцию конъюнкции (ИЛИ). 26 операции И-НЕ. Аналогично поступают при преобразовании ФАЛ к базису ЛЭ ИЛИ-НЕ. В этом случае в выражении оставляют только операции логического сложения и инверсии. Проиллюстрируем сказанное примером. Пример 3.2. Заданна ФАЛ z ( x) = x3 x0 + ( x3 x2 x0 )( x2 + x1 ) . Преобразовать к базисам ЛЭ И-НЕ и ИЛИ-НЕ. Решение. Базис ЛЭ И-НЕ (штрих Шеффера): Рис. 3.6. Реализация ЛЭ И на элементах ИЛИ-НЕ Если на входы структурной схемы, изображенной на рис. 3.6 подать логические переменные А и В, то на выходе мы будем иметь выражение A + B . Применяя теорему Де-Моргана (2.9) к этому выражению, получим - A + B = A ⋅ B , далее, последовательно применяя тождество (2.5) к А и В, запишем - A ⋅ B = A ⋅ B , т.е. данная структурная схема (рис. 3.6) реализует операцию дизъюнкции (И). На основе аналогичных рассуждений можно показать выполнение основных логических операций с использованием только элемента И-НЕ (рис. 3.7). z ( x) = x3 x0 + x3 x2 x0 ( x2 + x1 ) = x3 x0 x3 x2 x0 ( x2 + x1 ) = x3 x0 x3 x2 x0 x2 x1 = = ( x3 | x0 ) | (( x3 | x2 | x0 ) | ( x2 | x1 )). Базис ЛЭ ИЛИ-НЕ (стрелка Приса): z ( x) = x3 x0 + x3 x2 x0 ( x2 + x1 ) = x3 + x0 + x3 x2 x0 + x2 + x1 = [ ] = x3 + x0 + x3 + x2 + x0 + x2 + x1 = (x3 ↓ x0 ) ↓ (x3 ↓ x2 ↓ x0 ) ↓ (x2 ↓ x1 ) . Контрольные вопросы и упражнения к разделу 3 1. Приведите условные графические обозначения логических элементов И, ИЛИ и НЕ. Что такое функционально полная система логических элементов? 2. Как строится структурная схема логического устройства по ФАЛ? 3. В чем заключается принцип двойственности и каково его практическое значение для построения схем логических устройств? 4. Что такое функционально полная система и базис логических элементов? 5. Преобразовать ФАЛ вида z ( x ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 к базисам логических элементов Штрих Шеффера и Стрелка Пирса. 4. МИНИМИЗАЦИЯ ФУКЦИЙ АЛГЕБРЫ ЛОГИКИ 3.2. Синтез логических схем в заданном базисе логических элементов При построении логических схем обычно не пользуются функционально полной системой ЛЭ, реализующих все три основные логические операции: И, ИЛИ и НЕ. На практике с целью сокращения номенклатуры элементов пользуются функционально полной системой элементов, включающей только два элемента, выполняющих операции И-НЕ и ИЛИ-НЕ, или даже только один из этих элементов. Причем число входов этих элементов, как правило, задано. Поэтому вопросы синтеза логических устройств в заданном базисе ЛЭ имеют большое практическое значение. На основании примеров, рассмотренных в параграфе 3.1, любую ФАЛ можно записать в требуемом базисе ЛЭ. При этом используются два технических приема: двойное инвертирование исходного выражения или его части и применение теорем Де-Моргана. Если требуется привести ФАЛ к базису ЛЭ И-НЕ, то указанными приемами функция преобразуется к виду, содержащему только операции логического умножения и инверсии. Далее она переписывается через условные обозначения 4.1. Цели и общие принципы минимизации функций алгебры логики В предыдущем разделе было показано, что логическую схему, реализующую заданный алгоритм преобразования сигналов, можно синтезировать непосредственно по выражению, представленному в виде СДНФ или СКНФ. Однако полученная при этом схема, как правило, не оптимальна с точки зрения ее практической реализации. Поэтому исходные ФАЛ обычно минимизируют. Целью минимизации логической функции является уменьшение стоимости ее технической реализации. Следует отметить, что сам критерий, в соответствии с которым выполняется минимизация ФАЛ, далеко не однозначен и зависит как от типа решаемой задачи, так и уровня развития технологии. Так, в те времена, когда цифровые устройства строились на дискретных элементах, минимизация числа этих элементов и числа построенных на их основе элементарных логических узлов однозначно определяла и уменьшение стоимости технической реализации. С появлением больших и сверх больших интегральных схем (БИС и СБИС), стоимость которых определяется в основном площадью схемы на кристалле и мало зависит от числа входящих в нее транзисторов и других элементов, критерии минимизации ФАЛ претерпели существенные изменения. На первое место при проектировании самих ИС выдвигается требование регулярности их внутренней структуры и минимизация 27 28 Рис. 3.7. Реализация основных логических операций на базе элементов 2И-НЕ числа внешних соединений даже за счет увеличения числа элементов и внутренних соединений. Эти требования диктуются требованиями повышения надежности электронных средств. Однако при проектировании аппаратуры с применением БИС и СБИС требование уменьшения числа корпусов ИС и количества их соединений между собой по-прежнему остается весьма важным. Требование уменьшения числа элементарных ЛЭ, входящих в разрабатываемое устройство, в настоящее время также не потеряло своей актуальности. Объясняется это все более широким использованием при проектировании электронных средств программируемых логических СБИС широкого применения и полузаказных СБИС на основе базовых матричных кристаллов. Эти СБИС и БИС, как правило, содержат отдельные нескоммутированные между собой элементарные ЛЭ, например 2И-НЕ или 2ИЛИ-НЕ, или просто наборы транзисторов, резисторов и диодов, которые могут быть соединены между собой в соответствии с заданным алгоритмом обработки логических сигналов. Поскольку число элементов в одной СБИС задано из технологических соображений, то минимизация ФАЛ по критерию уменьшения числа используемых элементов позволяет на одном кристалле решать более сложные задачи логической обработки сигналов, т.е. в конечном счете уменьшать число требуемых ИС и связей между ними. Это снижает стоимость и повышает надежность электронной аппаратуры. Рассмотрим ряд методов, позволяющих провести минимизацию ФАЛ по критерию уменьшения числа элементарных ЛЭ. Наиболее просто и наглядно задача минимизации ФАЛ решается с использованием ее кубических представлений. Ранее было показано, что любая логическая функция n-переменных характеризуется своим кубическим комплексом K(y), образованным кубическими комплексами K0, K1, …, Kn-1. Из кубического комплекса K(y) всегда можно выделить множество кубов П(y) таких, что каждый член комплекса K0, т.е. вершина куба, будет включен по крайней мере в один куб из множества П(y). Множество кубов П(y) называется покрытием комплекса K(y), или покрытием логической функции. Вполне очевидно, что для любой ФАЛ существует несколько ее покрытий. В свою очередь, каждому покрытию П(y), так же как и самому комплексу, соответствует своя дизъюнктивная нормальная форма, получаемая логическим суммированием логических произведений, соответствующих выделенным кубам ФАЛ. Сложность полученной таким образом ДНФ принято характеризовать понятием «цена покрытия» (ЦП), которая равна сумме цен всех кубов, составляющих данное покрытие П(y): Ц П = Ц K . В свою очередь, цена одного r-куба ФАЛ n- ∑ переменных определяется как разность полного числа входных переменных и ранга соответствующего куба, т.е. равна числу переменных в соответствующей дизъюнкции: ЦK = n-r. Так, для ФАЛ трех переменных цена 0-куба равна трем, а 2куба — единице. В соответствии со сказанным, задача минимизации ФАЛ сводится к поиску покрытия П(y) кубического комплекса K(y), имеющего минимальную цену. Покрытие П(y) комплекса K(y), имеющее минимальную цену, называется покрытием Квайна, а соответствующая этому покрытию ДНФ — называется минимальной ДНФ (МДНФ). Пример 4.1. Минимизировать ФАЛ заданную в виде словесного описания в примере 2.1. Составить структурную схему логического устройства. 29 Решение. Как было показано в примере 2.3, СДНФ для данной ФАЛ запишется в виде y ( x2 , x1 , x0 ) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 . Запишем ее кубический комплекс (рис. 3.1): K(y) = (011, 101, 110, 111, 11-, 1-1, -11). Рис. 4.1. Геометрическое представление кубического комплекса для ФАЛ из примера 3.1 Рис. 4.2. Структурная схема логического устройства, реализующая МДНФ ФАЛ Нулевой кубический комплекс включает все вершины куба (рис. 4.1), поэтому образует покрытие функции: П1(y) = K0=(011; 101; 110; 111), найдем цену покрытия Ц П = 12. 1 Все вершины куба включаются также в единичный кубический комплекс K1, поэтому и он образует покрытие ФАЛ: П2(y) = K1= (11-; 1-1; -11), цена покрытия будет Ц П = 3. 2 Перебирая сочетания кубов различных рангов, можно получить и другие покрытия ФАЛ, но здесь очевидно, что П2(y) для данной ФАЛ будет иметь минимальную цену, т.е. является покрытием Квайна. Соответствующая этому покрытию МДНФ запишется в виде: y2 ( x2 , x1 , x0 ) = x2 x1 + x2 x0 + x1 x0 . Анализируя получившееся алгебраическое выражение для ФАЛ, можно сказать, что для реализации этой функции в виде структурной схемы потребуется 3 логических элемента 2И и один элемент 3ИЛИ (рис. 4.2), в отличие от структурной схемы представленной на рис 3.1, не потребуется ЛЭ реализующих операцию НЕ. Таким образом, полученная в результате минимизации функция и ее структурная схема проще. Техническая реализация такой схемы будет дешевле и надежней. 4.2. Минимизация функций алгебры-логики с использованием карт Вейча Данный метод базируется на табличном представлении ФАЛ. Он широко используется при ручной, без применения ЭВМ, минимизации ФАЛ, число переменных в которой обычно не превышает пяти. Карта Вейча – это прямоугольная таблица, число клеток в которой для ФАЛ n-переменных равно 2n, каждой из клеток поставлен в соответствие некоторый набор входных переменных, причем рядом расположенным клеткам соответствуют соседние наборы входных переменных (кодов), а в самих клетках записаны значения функций, определенные для этих кодов. Рассмотрим построение карт Вейча для функций двух, трех и четырех переменных. Карта Вейча функции двух переменных приведена на рис. 4.3. Она содержит четыре клетки и является плоской фигурой. Для удобства использования по краям 30 карты указаны значения входных переменных, которые для соответствующих строк и столбцов остаются постоянными. Набор переменных для заданной клетки таблицы определяется как совокупность аргументов, постоянных для строк и столбцов, на пересечении которых она расположена. x1 x1 f (x1 , x0 ) x0 f ( x1 , x0 ) f ( x1 , x0 ) f (x1 , x0 ) x0 Рис. 4.3. Карта Вейча функции двух переменных Карта Вейча функции трех переменных приведена на рис. 4.4. Она содержит восемь клеток. Наборы входных переменных, соответствующие крайним левому и правому столбцам, являются соседними. Поэтому данную карту удобно представить как поверхность цилиндра и она, в отличие от карты двух переменных, является объемной фигурой. x1 x0 x0 f ( x2 , x1 , x0 ) x1 f ( x2 , x1 , x0 ) x1 x1 f (x2 , x1 , x0 ) f ( x2 , x1 , x0 ) x2 f ( x2 , x1 , x0 ) f ( x2 , x1 , x0 ) f (x2 , x1 , x0 ) x2 x2 x2 f ( x2 , x1 , x0 ) Рис. 4.4. Карта Вейча функции трех переменных Карта Вейча функции четырех переменных приведена рис. 4.5. Она содержит 16 клеток. Очевидно, что наборы входных переменных, соответствующие крайним левому и правому столбцам, как и в карте для трех переменных, являются соседними. Кроме этого соседние коды содержатся в нижней и верхней строках карты. Поэтому данная карта тоже является объемной фигурой и может быть представлена как поверхность тора. x1 x1 x1 x1 x0 f (x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) x2 x0 f (x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) x2 x0 f (x3 , x2 , x1 , x0 ) f (x3 , x 2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) x2 x0 f ( x3 , x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) f ( x3 , x 2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 ) x2 x3 x3 x3 x3 Рис. 4.5. Карта Вейча функции четырех переменных Геометрически это можно представить как два тора, один из которых расположен в другом. Соседним кодам тут дополнительно соответствуют клетки, расположенные на разных торах одна под другой. Ввиду сложности работы с такими картами, данный способ редко используется при минимизации ФАЛ пяти переменных. 4.2.1. Минимизация полностью определенной функции алгебры логики При минимизации ФАЛ используют либо ее нулевые, либо единичные значения. В обоих случаях получают равносильные выражения, которые, однако, могут отличаться по числу членов (т. е. цене) и выполняемым логическим операциям. Алгоритм минимизации ФАЛ сводится к следующему. 1. На карте Вейча ФАЛ n-переменных выделяют прямоугольные области, объединяющие выбранные значения функции (лог. 0 или лог. 1). Каждая область должна содержать 2k клеток, где k – целое число. Выделенные области могут пересекаться, т.е. одна или несколько клеток могут включаться в различные области. 2. Каждой из выделенных областей соответствует k-куб исходной ФАЛ, который представляется самостоятельным логическим произведением переменных, значения которых в рамках выделенной области остаются постоянными. Каждое произведение содержит n-k переменных и носит название импликанты. 3. Из полученного множества выбирают минимальное число максимально больших областей, включающих все выбранные значения ФАЛ. 4. Логически суммируют импликанты, соответствующие выбранным областям. Полученная сумма образует МДНФ, т.е. является покрытием ФАЛ минимальной стоимости (покрытием Квайна). При объединении клеток с единичными значениями ФАЛ получают МДНФ самой функции, а при объединении клеток с нулевыми значениями ФАЛ - МДНФ функции, инверсной заданной. Последнее легко объясняется при помощи тождества (2.4). Очевидно, что если полностью определенная ФАЛ n-переменных принимает значение 1 на m наборах переменных, то на остальных 2n-m входных наборах ее значение равно нулю. Следовательно, объединение 0 значений согласно правилам записи ДНФ приведет к получению функции, инверсной заданной. Применяя к полученной инверсной минимальной форме теоремы Де-Моргана (2.9), получаем минимальную функцию, записанную в виде КНФ. Пример. 4.2. Минимизировать ФАЛ z ( x) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 . Решение. 1. По заданной ФАЛ составим карту Вейча. x1 x1 x1 x1 x0 1 1 x0 1 1 x2 x2 x2 x2 Еще более сложную форму имеет карта Вейча функции пяти переменных. Ее можно представить как две карты Вейча функции четырех переменных, расположенные одна над другой и отличающиеся лишь значением одной переменной. 31 32 2. Запишем кубические комплексы: K0= (111, 101, 110, 100), K1= (1-1, 1-0, 11-, 10-), K2= (1--). 3. Выделим три покрытия и запишем соответствующие им ДНФ: П1= (1-1, 1-0) → П2= (11-, 10-) → z ( x) = x2 x0 + x2 x0 z ( x) = x2 x1 + x2 x1 z ( x ) = x2 П3= (1--) → Последнее покрытие является покрытием минимальной стоимости и ему соответствует МДНФ. Легко видеть, что этому покрытию соответствует область из четырех клеток, объединяющая единичные значения ФАЛ и расположенная в центре карты Вейча. При объединении нулевых значений функции максимальная область соответствует 2-кубу (0--), для которого z ( x ) = x2 или z ( x) = x2 . В обоих случаях для минимальной ФАЛ получено одно и то же выражение. Пример 4.3. Минимизировать ФАЛ z ( x) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 + x2 x1 x0 . Решение. 1. Составим карту Вейча. x1 x1 x1 x1 x0 1 1 1 1 x0 1 x2 x2 x2 x2 Следует еще раз отметить, что так как карты Вейча для ФАЛ трех и четырех переменных являются объемными фигурами, то при формировании областей на таких картах могут объединятся крайние столбцы и строки, а на карте четырех переменных также четыре угловых клетки (рис. 4.5). 4.2.2. Минимизация недоопределенной функции алгебры логики Напомним, что недоопределенной называется ФАЛ, значения которой заданы не на всех наборах входных переменных. Существуют факультативные (не обязательные) значения функции на неоговоренных (запрещенных) входных кодах. Поэтому при минимизации недоопределенной ФАЛ ее факультативные значения доопределяются произвольно из условия получения на карте Вейча наименьшего числа максимально больших областей, что приводит к получению покрытия минимальной стоимости и простейшей технической реализации. Пример 4.4. Минимизировать ФАЛ, заданную следующей таблицей истинности: x2 1 1 1 1 x1 1 1 1 1 П1= (--1, 10-) или z ( x) = x0 + x2 x1 . П2= (-10, 0-0) или z ( x) = x1 x0 + x2 x0 . x1 x1 x1 x1 x0 - 1 - x0 1 - 1 - x2 x2 x2 x2 4. Воспользовавшись теоремами Де-Моргана (2.9) и тождеством (2.5), найдем: z ( x) = x1 x0 + x2 x0 = x1 x0 ⋅ x2 x0 = (x1 + x0 )⋅ (x2 + x1 ) = ( x1 + x0 ) ⋅ ( x2 + x0 ) . Согласно второму закону дистрибутивности (2.8) получим ФАЛ вида z ( x) = x0 + x2 x1 . Очевидно, что обе функции z(x) одинаковы. Из последнего примера видно, что при минимизации по нулевым и единичным значениям функции первоначально можно определить равносильные, но не всегда одинаковые выражения. Различной будет и их техническая реализация. Используя основные тождества и теоремы алгебры логики, их можно преобразовать к единому виду. Однако такое преобразование не всегда очевидно и требует достаточного навыка. Поэтому для нахождения наиболее простого технического решения желательно проводить минимизацию как для нулевых, так и для единичных значений ФАЛ и из полученных значений выбирать простейшее. 33 z(x) 1 1 1 Решение. 1. Составим исходную карту Вейча и выполним несколько возможных ее доопределений. Карта исходной функции имеет вид: 2. Запишем покрытие минимальной стоимости для единичных значений ФАЛ: 3. Запишем покрытие минимальной стоимости для нулевых значений ФАЛ: x0 1 1 1 1 2. Запишем выражения для единичных значений ФАЛ: z ( x) = x2 x1 x0 + x2 x1 x0 + x2 x1 x0 . Допустим z(000) = 1 и z(110) = 1, тогда карта Вейча примет вид: x1 x1 x1 x1 1 - x0 - x0 1 1 1 1 x2 x2 x2 x2 z ( x) = x0 + x2 x1 34 Допустим z(000) = 1, z(110) = 1 и z(011) = 1, тогда x1 x1 Допустим z(101) = 0, тогда: x1 x1 x1 x0 1 1 - x0 - x0 1 1 1 1 x0 1 x2 x2 x2 x2 x2 z ( x) = x1 + x0 z ( x) = x1 x0 Допустим z(000) = 1, z(110) = 1 и z(101) = 1, тогда: x1 x1 x1 1 1 - x0 1 1 1 1 x2 x2 x2 x2 x1 x1 x1 1 1 x0 1 x0 1 1 1 - x2 x2 x2 x2 z ( x) = x2 + x1 3. Минимизация ФАЛ для нулевых значений приводит к выражениям: z ( x) = x2 x1 x0 или z ( x) = x2 + x1 + x0 . Допустим z(000) = 0, тогда: z ( x) = x2 x1 x1 - x1 x0 - 1 x0 1 - 1 x2 x2 x2 x2 - 1 - x2 x2 x2 или z ( x) = x1 + x0 . x1 x1 x1 x0 1 - x0 1 - 1 - x2 x2 x2 x2 или z ( x) = x2 + x0 4.2.3. Минимизация системы функций алгебры логики Если логическое устройство имеет N выходов, то его поведение описывается системой, состоящей из N ФАЛ. Минимизация структуры такого устройства может быть выполнена с использованием вышеприведенных методов при раздельной минимизации N структур, на выходе каждой из которых формируется только один выходной сигнал. Однако с точки зрения всего устройства такая структура, как правило, не будет оптимальной. С точки зрения минимизации всей структуры необходимо, чтобы цепь формирования каждого выходного сигнала была выполнена не минимальным, а некоторым оптимальным способом, обеспечивающим, в конечном счете, минимальность общей структуры устройства. Минимизация в этом случае обеспечивается за счет использования общих цепей формирования сигнала для получения нескольких выходных функций. Последнее достигается выделением на картах Вейча различных выходных функций одинаковых областей. или согласно теореме Де-Моргана 35 Данный пример наглядно иллюстрирует, что при различном доопределении ФАЛ можно получить различные результаты минимизации. Однако любая из полученных ФАЛ, несмотря на их различную техническую реализацию, обеспечивает выполнение алгоритма, заданного исходной таблицей истинности. Допустим z(011) = 1, z(101) = 1 и z(110) = 1, тогда: x1 x1 x1 z ( x) = x2 x0 z ( x) = x2 + x0 . x1 x1 1 Допустим z(011) = 0, тогда: x1 x0 x1 x1 z ( x) = x2 + x1 . 36 Пример 4.5. Минимизировать структуру устройства, алгоритм работы которого задан следующей таблицей истинности: x2 1 1 1 1 x1 1 1 1 1 x0 1 1 1 1 z2 1 1 1 1 z1 1 1 1 1 z0 1 1 1 1 Решение. Нарисуем карты Вейча для каждой ФАЛ, входящей в заданную систему. Минимизируем данную систему ФАЛ по каждому выходу отдельно по известному алгоритму, как это показано на рис. 4.6. Рис. 4.6. Карты Вейча для системы ФАЛ, пример 4.5 Используя приведенные на рис. 3.6 карты Вейча, для заданной таблице истинности можно записать следующую систему минимальных ФАЛ: z0 = x1 x0 + x2 x1 , z1 = x1 x0 + x2 x0 + x2 x1 , z2 = x2 x1 + x2 x0 . Техническая реализация данной системы потребует семь элементов 2И, два элемента 2ИЛИ и один элемент 3ИЛИ, т.е. всего десять элементов. Нетрудно заметить, что полученные выражения содержат общие члены и x2 x0 . x1 x0 Поэтому техническую реализацию устройства можно упростить. При использовании общих для нескольких элементов выходов для реализации потребуется: пять элементов 2И, два элемента 2ИЛИ и один элемент 3ИЛИ, т.е. всего восемь элементов. Анализ приведенных карт Вейча показывает, что на входных кодах 010, 100 и 110 все три функции принимают единичное значение. Поэтому можно записать: z0 = x1 x0 + x2 x0 + x2 x1 = x0 (x2 + x1 ) + x2 x1 , z1 = x1 x0 + x2 x0 + x2 x1 = x0 ( x2 + x1 ) + x2 x1 , z2 = x1 x0 + x2 x0 + x2 x1 = x0 (x2 + x1 ) + x2 x1. элемент, что, в конечном счете, приводит к упрощению ее технической реализации. Таким образом, выделение при минимизации системы ФАЛ общих областей на картах Вейча позволят получить наиболее простую ее техническую реализацию. При этом следует иметь ввиду, что общие области могут выделятся не на всех картах, а лишь на части из них. Как правило, это приводит к упрощению технической реализации. 3.3. Минимизация функций алгебры-логики на ЭВМ методом Квайна и Мак-Класски На практике рассмотренные ранее методы минимизации ФАЛ с использованием карт Вейча ограничивается числом переменных не более пяти. Это объясняется двумя основными причинами: • при увеличении числа переменных метод теряет свою наглядность, что снижает эффективность его применения; • так как выбор покрытий производится по большей части интуитивно, то конечный результат минимизации сильно зависит от индивидуального опыта разработчика, что препятствует применению для минимизации ФАЛ ЭВМ. При увеличении числа переменных для минимизации ФАЛ используются методы, обладающие однозначностью алгоритма, что является предпосылкой применения ЭВМ. К таким методам относится метод Квайна и Мак-Класки. Алгоритм отыскания МДНФ этим методом сводится к следующему. 1. Находят покрытие П(z) заданной функции. Для этого формируют кубический комплекс ФАЛ и в каждом i-ом кубическом комплексе отмечают кубы (импликанты), не образовавшие i+1-й кубический комплекс. Отмеченные импликанты, называемые простыми, образуют покрытие заданной ФАЛ. 2. Строят таблицу покрытий матрицы Квайна. Строки указанной таблицы соответствуют простым импликантам, а столбцы – 0-кубам (конституентам единицы) ФАЛ. На пересечении i-й строки и j-го столбца ставится метка, если импликанта i покрывает конституенту j. Отметим, что импликанта i покрывает конституенту j в случае, если она отличается от нее независимыми аргументами. 3. Определяю покрытие минимальной стоимости, для этого: а) выделяют ядро Квайна. Если 0-куб заданной ФАЛ покрывается только одной простой импликантой, то последняя является существенной и входит в ядро Квайна и, следовательно, в покрытие минимальной стоимости; б) из таблицы вычеркивают столбцы и строки, покрытые импликантами ядра Квайна. Если в полученной после вычеркивания таблице содержатся простые импликанты, они также включаются в ядро Квайна с последующим вычеркиванием соответствующих строк и столбцов; в) сжимают таблицу по столбцам, для чего из нее вычеркивают столбцы, в которые полностью входит любой из оставшихся столбцов; г) сжимают таблицу по строкам, для чего из нее вычеркивают строки, которые полностью включаются в любую из оставшихся строк. Последовательно сжимая таблицу по строкам и столбцам, получают циклическую таблицу, импликанты которой должны входить в покрытие ФАЛ минимальной стоимости. На пересечении i-х строк циклической таблицы и импликант, образующих ядро Квайна, получают МДНФ заданной функции. Проиллюстрируем применение описанного алгоритма на примере. Реализация этой схемы потребует четыре элемента 2И и четыре элемента 2ИЛИ, т.е. всего также восемь элементов. Однако из схемы исключен трехвходной 37 38 Пример 4.6. Минимизировать ФАЛ z(x) = Σ(0, 1, 2, 4, 5, 7, 8, 10, 12, 14, 15). Решение. Цена покрытия исходной ФАЛ ЦП= 44. 1. Сформируем кубический комплекс K(z). Формирование кубического комплекса K(z) удобно выполнять при помощи разбиения конституент ФАЛ на группы, содержащие одинаковое количество единиц. При таком представлении кубы более высокого ранга могут образовать только кубы, находящиеся в расположенных рядом группах. В рассматриваемом примере для ФАЛ четырех переменных можно выделить пять групп, представив их в виде таблицы. Ранг куба 0-куб 1-куб 1 0000 2 0001 0010 0100 1000 0-01 -010 010-100 10-0 1-00 1--0 1--0 00000-0 0-00 -000 2-куб Номер группы 3 0101 1010 1100 0-00-0--00 0-0-0-0 --00 4 0111 1110 01-1 1-10 11-0 5 1111 -111 111- 0000 * * * 0001 Простые импликанты 01-1 -111 111--00 1--0 0-кубы ФАЛ 0111 * * 1100 * * Простые импликанты -111 1--0 * 0100 * * 0-кубы ФАЛ 0101 0111 1000 * * * 1010 1100 1110 1111 * * * * * * * * 0111 39 * * * * 1100 * 1110 1111 * * * * * * Полученная таблица больше не может быть сжата ни по строкам, ни по столбцам. При этом импликанта 111- является лишней, так как она не покрывает ни одну из оставшихся конституент единицы. Полученная после ее исключения таблица и является циклической. 6. Просуммировав импликанты циклической таблицы и простые импликанты, получим ФАЛ минимальной стоимости. z ( x) = x3 x1 + x2 x0 + x2 x1 x0 + x3 x0 . Алгоритм сжатия по строкам и столбцам можно пояснить следующим образом. Из множества импликант, полученных после исключения существенных, необходимо найти такое их минимальное подмножество, которое обеспечит покрытие всех оставшихся в таблице конституент единицы. Поэтому, если существует i-я импликанта, которая покрывает множество 0-кубов Vi, которое включает множество Vj, покрываемое импликантой j, то импликанта j является лишней. Описанный алгоритм без каких-либо изменений позволяет минимизировать ФАЛ любого числа переменных, в том числе и с применением ЭВМ. * * * 1111 0-кубы ФАЛ 111- 0010 1110 Оставшаяся таблица может быть сжата по столбцам, так как первый столбец полностью входит в четвертый, а второй столбец – в третий. На основании этого из таблицы вычеркиваются третий и четвертый столбцы. Для заполнения таблицы каждый из кубов левого столбца поочередно сравнивается с кубами правого столбца. Если сравниваемая пара образовала куб более высокого ранга, последний записывается в соответствующий столбец таблицы. 2. Кубы, не образовавшие куб более высокого ранга, являются простыми импликантами и формируют покрытие ФАЛ П(z) = (01-1; -111; 111-; 0-0-; --00; -0-0; 1--0). 3. С использованием П(z) построим таблицу покрытий Квайна. Прост. импл. 01-1 -111 1110-0--00 -0-0 1--0 4. Согласно полученной таблице простыми импликантами являются 0-0- и -0-0, так как только первая покрывает 0-куб 0001 и только вторая покрывает 0-куб 0010. 5. В оставшейся после вычеркивания существенных импликант и покрытых ими конституент единицы таблице больше нет существенных импликант. Поэтому произведем сжатие по столбцам и строкам. Первоначальное сжатие по столбцам не выполняется, так как в таблице отсутствуют столбцы входящие в любой из оставшихся. Таблица сжимается по строкам, так как первая строка полностью входит во вторую, а четвертая строка полностью входит в пятую. Поэтому из таблицы вычеркиваем строки с номерами один и четыре. * 40 Контрольные вопросы и упражнения к разделу 4 1. В чем заключается цель и принципы минимизации логических устройств, реализуемых на БИС и СБИС? 2. Чем характеризуется сложность ДНФ? 3. В чем заключается минимизация ФАЛ с помощью карт Вейча? 4. Представьте карты Вейча функции двух, трех и четырех переменных. 5. К чему сводится алгоритм минимизации ФАЛ? Что такое импликанта и покрытие Квайна? 6. В чем заключается минимизация недоопределенной ФАЛ? 7. В чем заключается минимизация системы ФАЛ? 8. К чему сводится алгоритм минимизации ФАЛ методом Квайна и Мак-Класки? 9. Минимизируйте ФАЛ вида z(x) = Σ(3,5,6,7) при помощи карт Вейча. 41 II. ЦИФРОВЫЕ ЛОГИЧЕСКИЕ УСТРОЙСТВА Цифровые логические устройства могут быть классифицированы по различным признакам. Так, в общем случае (как это показано на рис. 2.1) на входе логического устройства действуют n, а на выходе – m переменных, т.е. присутствуют соответственно n- и m-разрядные коды. Поэтому логические устройства могут быть классифицированы по способу ввода-вывода переменных (информации). С этой точки зрения они подразделяются на последовательные, параллельные и последовательно-параллельные (смешанные). Последовательным называется устройство, в котором входные переменные подаются на вход, а выходные переменные снимаются с выхода не одновременно, а последовательно, разряд за разрядом. Параллельным называется устройство, в котором все разряды входных переменных подаются на вход, и все разряды выходных переменных снимаются с выхода одновременно. В последовательно-параллельных устройствах входные и выходные переменные представлены в различных формах. Либо на вход переменные подаются последовательно символ за символом, а с выхода они снимаются одновременно, либо наоборот. По принципу действия все логические устройства делятся на два класса: комбинационные и последовательностные. Комбинационными устройствами, или автоматами без памяти, называют логические устройства, выходные сигналы которых однозначно определяются только действующей в настоящий момент на входе комбинацией переменных и не зависят от значений переменных, действовавших на входе ранее. Последовательностными устройствами, или автоматами с памятью, называют логические устройства, выходные сигналы которых определяются не только действующей в настоящий момент на входе комбинацией переменных, но и всей последовательностью входных переменных, действовавших в предыдущие моменты времени. Этот тип устройств часто называют цифровыми автоматами. 5. ТИПОВЫЕ ФУНКЦИОНАЛЬНЫЕ УЗЛЫ КОМБИНАЦИОННЫХ ЛОГИЧЕСКИХ УСТРОЙСТВ 5.1. Мультиплексоры и демультиплексоры Мультиплексором называется комбинационное логическое устройство, предназначенное для управляемой передачи данных от нескольких источников информации в один выходной канал. Типовое применение мультиплексора — это передача информации от нескольких разнесенных в пространстве источников (датчиков) информации на вход одного приемника. Предположим, измеряется температура окружающей среды в нескольких помещениях и результаты этих измерений должны быть введены в одно регистрирующее устройство, например, ЭВМ. При этом, так как температура изменяется медленно, для получения достаточной точности совсем не обязательно измерять ее постоянно. Достаточно иметь информацию через некоторые фиксированные промежутки времени. Главное при этом, чтобы промежуток между двумя измерениями был существенно меньше постоянной времени, характеризующей изменение температуры в контролируемом помещении. Именно эту функцию, т.е. подключение различных источников информации к одному приемнику по заданной команде, и выполняет мультиплексор. Информацию, разнесенную в пространстве, он преобразует к виду с разделением во времени. 42 Согласно определению, мультиплексор должен иметь один выход и две группы входов: информационные и адресные. Код, подаваемый на адресные входы, определяет, какой из информационных входов в данный момент подключен к выходному выводу. Поскольку n-разрядный двоичный код может принимать 2n значений, то если число адресных входов мультиплексора равно n, число его информационных входов должно равняться 2n. Мультиплексор обычно снабжается дополнительным инверсным выходом Q и входом разрешения работы E. Если на вход разрешения работы E подан активный сигнал (E = 1), выходной сигнал мультиплексора постоянен и не зависит от его входных сигналов. Таблица истинности, отображающая работу мультиплексора с двумя адресными входами, имеет следующий вид (табл. 5.1): Таблица 5.1 Таблица истинности для мультиплексора с двумя адресными входами E A1 A0 Q Q 1 - - 1 D0 D0 1 D1 D1 1 D2 D2 1 1 D3 D3 Функция алгебры логики, описывающая работу мультиплексора, имеет вид Q = D0 A1 A0 E + D1 A1 A0 E + D2 A1 A0 E + D3 A1 A0 E (5.1) Логическая схема мультиплексора, соответствующая этой ФАЛ, и условное графическое обозначение мультиплексора на примере интегральной схемы (ИС) типа 555КП7 показаны на рис. 5.1 (а, б). При передаче информации от нескольких источников по общему каналу с разделением по времени нужны не только мультиплексоры, но и устройства обратного назначения, распределяющие информацию, полученную из одного канала между несколькими приемниками. Эту задачу решают демультиплексоры. Рис. 5.1. Логическая схема мультиплексора (а) и его условное графическое обозначение (б); условное графическое изображение демультиплексора (в) Демультиплексором называется комбинационное логическое устройство, предназначенное для управляемой передачи данных от одного источника информации в несколько выходных каналов. Согласно данному определению, демультиплексор в общем случае имеет один информационный вход, n адресных входов и 2n выходов. Таблица истинности, описывающая работу демультиплексора, снабженного двумя адресными входами и входом разрешения работы Е, имеет вид Таблица 5.2 Таблица истинности демультиплексора с двумя адресными входами E A1 A0 Q0 Q1 Q2 Q3 1 D 1 D 1 D 1 1 D Данной таблице соответствует следующая система ФАЛ: ⎧Q0 = DA1 A0 E = D ↓ A1 ↓ A0 ↓ E , ⎪ ⎪Q1 = DA1 A0 E = D ↓ A1 ↓ A0 ↓ E , ⎨ ⎪Q2 = DA1 A0 E = D ↓ A1 ↓ A0 ↓ E , ⎪Q = DA A E = D ↓ A ↓ A ↓ E. 1 0 1 ⎩ 3 (4.2) Пользуясь системой уравнений (4.2), можно синтезировать логическую схему демультиплексора. На рис. 4.1 (в) показано условное графическое обозначение демультиплексора. 5.2. Преобразователи кодов В цифровой технике применяются различные виды кодирования информации. Так, при выполнении операций в ЭВМ обычно применяют несколько разновидностей двоичного кода (прямой, обратный, дополнительный, двоично-десятичный и т.д.). При передаче информации по линиям связи удобно использовать другие виды кодов, позволяющие, например, уменьшать вероятность появления ошибки или даже 43 44 исправлять их в дальнейшем. Примерами таких кодов являются коды, построенные по принципу 2 из 5, коды с проверкой четности или нечетности, коды Хемминга. Некоторые виды этих кодов были рассмотрены в первом разделе. В связи с этим всегда стоит задача преобразования информации одного кода в другой. Эту задачу на аппаратном уровне решают комбинационные устройства преобразователи кодов. Преобразователем кода называется комбинационное устройство, предназначенное для изменения вида кодирования информации. Как и всякое комбинационное устройство, преобразователь кода характеризуется таблицей истинности, ставящей в соответствие кодам, подаваемым на вход, коды, снимаемые с выхода устройства. Следует заметить, что в этой таблице в общем случае число разрядов входного и выходного кодов может не совпадать. Главное - она должна давать однозначное соответствие различных кодов. Данная таблица является основанием для синтеза логической структуры конкретного преобразователя кодов. В качестве примера преобразователя кодов, выпускаемых в виде ИС, можно привести схемы, обеспечивающие преобразование информации из двоичного в двоично-десятичный код. Частным случаем преобразователей кода являются шифраторы и дешифраторы. Шифраторы и дешифраторы. Шифратором, или кодером, называется комбинационное логическое устройство для преобразования чисел из десятичной системы счисления в двоичную. Входам шифратора последовательно присваиваются значения десятичных чисел, поэтому подача активного логического сигнала на один из входов воспринимается шифратором как подача соответствующего десятичного числа. Этот сигнал преобразуется на выходе шифратора в двоичный код. Согласно сказанному, если шифратор имеет n выходов, число его входов должно быть не более чем 2n. Шифратор, имеющий 2n входов и n выходов, называется полным. Если число входов шифратора меньше 2n, он называется неполным. Рассмотрим работу шифратора на примере преобразователя десятичных чисел от 0 до 9 в двоично-десятичный код. Таблица истинности, соответствующая этому случаю, имеет вид (табл. 5.3) Таблица 5.3 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 Q3 Q2 Q1 Q0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⎧Q3 = x8 + x9 , ⎪Q = x + x + x + x , ⎪ 2 4 5 6 7 ⎨ Q x x x x = + + + 2 3 6 7, ⎪ 1 ⎪⎩Q0 = x1 + x3 + x5 + x7 + x9 . (5.3) Полученная система ФАЛ характеризует работу шифратора. Логическая схема устройства, синтезированная согласно системе уравнений (5.3), приведена на рис. 5.2 (а). Так как число входов данного устройства меньше 2n= 16, имеем неполный шифратор. Используя таблицу истинности (табл. 5.3) для Q3, Q2, Q1 и Q0 запишем следующую систему ФАЛ: Рис. 5.2. Логическая схема шифратора десятичных чисел (а); устройство ввода информации с клавиатуры (б) Нетрудно заметить, что в шифраторе рассматриваемого типа подаваемый на вход x0 сигнал, не используется. Поэтому отсутствие сигнала на любом из входов x0,…,x9 трактуется схемой как наличие на входе нулевого сигнала. Основное применение шифратора в цифровых системах — это введение первичной информации с клавиатуры. При нажатии любой клавиши на соответствующий вход шифратора подается сигнал «логическая 1», который и преобразуется на выходе в двоично-десятичный код. Вариант устройства ввода информации показан на рис 5.2. (б). Дешифратором, или декодером, называется комбинационное логическое устройство для преобразования чисел из двоичной системы счисления в десятичную. Согласно определению дешифратор относится к классу преобразователей кодов. Здесь также понимается, что каждому входному двоичному числу ставится в соответствие сигнал, формируемый на определенном выходе устройства. Таким образом, дешифратор выполняет операцию, обратную шифратору. Если число адресных входов дешифратора n связано с числом его выходов m соотношением m=2n, то дешифратор называют полным. В противном случае, т. е. если m<2n, дешифратор называют неполным. Поведение дешифратора описывается таблицей истинности аналогичной таблице истинности шифратора (табл. 5.3), только в ней входные и выходные сигналы меняются местами. В соответствии с данной таблицей, так как выходной сигнал равен 1 только на одном единственном наборе входных переменных, т.е. для одной конституенты единицы, алгоритм работы дешифратора описывается системой уравнений вида 45 46 ⎧ x0 = Q3Q2Q1Q0 , ⎪ ⎪ x1 = Q3Q2Q1Q0 , ⎨ ⎪ x2 = Q3Q2Q1Q0 , ⎪......................... ⎩ Система ФАЛ, соответствующая приведенной таблице истинности, имеет вид: F= = x1 x0 + x1 x0 = x1 ⊕ x0 = F< F> , (5.4) (5.6) F> = x1 x0 = F= F< . и так далее, где Qi – значение логической переменной на i-ом входе устройства. В общем случае эта система имеет вид: xi = (Q3Q2Q1Q0 )i , F< = x1 x0 = F= F> , (5.5) где xi – сигнал на i-м выходе дешифратора; (Q3Q2Q1Q0)i – конституента единицы, соответствующая двоичному коду i-ой десятичной цифры. Нетрудно заметить, что ФАЛ дешифратора (5.4) отличается от ФАЛ мультиплексора (5.2) только наличием в последней дополнительного множителя, соответствующего значению сигнала на информационном входе D. Поэтому при D=l демультиплексор функционирует как дешифратор. Обратное преобразование дешифратора в демультиплексор требует введения вспомогательных ЛЭ 2И, выполняющих операцию логического умножения между общим сигналом информационного входа D и соответствующим логическим произведением адресных сигналов (Q3Q2Q1Q0). Микросхемы дешифраторов часто снабжаются входом разрешения работы Е (входом стробирования). Наличие этого входа позволяет на основе готовых ИС при необходимости увеличения разрядности входного кода строить структуры дешифраторного дерева. Анализируя приведенные выражения с точки зрения минимизации системы ФАЛ, отметим, что, используя выходные переменные, удобнее было бы получить значения F> и F<, а F= - реализовать как их функцию. Однако ввиду того, что выражение для определения F= имеет в цифровой технике большое самостоятельное значение, на нем следует остановиться более подробно. Оно носит название операции исключающее ИЛИ-НЕ или инверсия от суммы по модулю два (см. Ч. I, табл. 2.3). Пример реализации этой операции с использованием элементов И, ИЛИ и НЕ, а также её условное графическое обозначение приведены на рис. 5.3. На рис. 5.4 дана структурная логическая схема, соответствующая таблице истинности цифрового компаратора. 5.3. Цифровые компараторы Цифровым компаратором называется комбинационное логическое устройство, предназначенное для сравнения чисел, представленных в виде двоичных кодов. Число входов компаратора определяется разрядностью сравниваемых кодов. На выходе компаратора обычно формируется три сигнала: • F= - равенство кодов, • F< - если числовой эквивалент первого кода больше второго, • F> - если числовой эквивалент первого кода меньше второго. Работу компаратора при сравнении двух одноразрядных кодов поясняет таблица истинности (табл. 5.4). Таблица 5.4 Таблица истинности компаратора одноразрядных кодов x1 x0 F= F> F< 1 1 1 1 1 1 1 1 Рис. 5.3. Схемная реализация операции Рис. 5.4. Логическая схема одноразрядИсключающее ИЛИ-НЕ ного компаратора. На практике часто приходится сталкиваться с задачей сравнения много разрядных двоичных кодов. Записав таблицу истинности, можно синтезировать логическую схему соответствующего устройства. Однако при увеличении числа входных переменных сделать это ввиду громоздкости получаемой таблицы весьма непросто. В данной ситуации удобно воспользоваться методами так называемого блочного конструирования, или декомпозиции задачи. Суть такого подхода состоит в разбиении сложной задачи на ряд более простых, решение которых может быть выполнено доступными средствами. Далее, с использованием полученных результатов, производится решение исходной задачи. Проиллюстрируем данный подход на примере построения цифрового компаратора многоразрядных двоичных кодов. За основу примем схему компаратора одноразрядных двоичных слов. Очевидно, что результат сравнения 2-разрядных двоичных слов можно записать через результаты сравнения одноразрядных слов. Соответствующая система ФАЛ в этом случае будет иметь вид: Анализ таблицы истинности показывает, что при любой комбинации входных сигналов на выходе компаратора может быть сформирован только один активный (единичный) логический сигнал. Поэтому, при любой разрядности входных кодов достаточно, используя входные сигналы, сформировать только любые два из выходных сигналов. Третий сигнал всегда может быть получен по двум известным. 47 F> = F1> + F1= F0= , F= = F1= F0= , F< = F= + F> . 48 Аналогично для трех разрядных кодов получим: Используя приведенную таблицу, легко записать систему ФАЛ, описывающих алгоритм операции арифметического сложения F= = F2= F1= F0= , s = x1 x0 + x1 x0 = x1 ⊕ x0 , p = x1 x0 . F> = F2= + F2= F1> + F2= F1= F0> , F< = F= + F> . В общем случае для n-разрядных двоичных кодов можно записать: F= = Fn −1= Fn − 2 = K F0= , F> = Fn −1> + Fn −1= Fn − 2> + Fn −1= Fn − 2= K F1= F0> , (5.7) F< = F= + F> . Таким образом, с использованием цифровых компараторов, имеющих ограниченную разрядность входных слов, на основании системы ФАЛ (5.7) всегда можно построить устройство требуемой разрядности. 5.4. Сумматоры Сумматором называется комбинационное логическое устройство, предназначенное для выполнения операции арифметического сложения чисел, представленных в виде двоичных кодов. Термин сумматор охватывает широкий спектр устройств, начиная с простейших логических схем, до сложнейших цифровых узлов. Общим для всех этих устройств является арифметическое сложение чисел, представленных в двоичной форме. Рассмотрим более подробно некоторые конкретные схемотехнические решения, предназначенные для реализации поставленной задачи. Алгоритм двоичного сложения Для начала получим ФАЛ, описывающие операции арифметического сложения двух одноразрядных двоичных кодов x1 и x0. Алгоритм ее выполнения поясняется таблицей истинности (табл. 5.5). В графе s приведено значение результата сложения (суммы), а в графе р - полученное при этом значение переноса в старший разряд. Следует обратить внимание на отличия результатов, получаемых при арифметическом и логическом сложениях. При логическом сложении в последней строке столбца s присутствовало бы значение 1. Это отличие результатов данных операций не позволяет применить для арифметического суммирования элемент ИЛИ, а требует разработки специализированного устройства. Значение сигнала переноса, равного единице в последней строке таблицы 5.5, говорит о том, что результат, полученный при выполнении операции арифметического сложения, в этом случае не может быть представлен двоичным кодом, разрядность которого равна разрядности слов слагаемых. Для представления результата необходимо слово, имеющее на один разряд больше, чем коды слагаемых. Таблица 5.5. Таблица истинности сложения двух одноразрядных двоичных кодов x1 x0 s p 1 1 1 1 1 1 1 49 (5.8) (5.9) Функция, описываемая выражением (5.8), очень часто встречается при разработке цифровых устройств. Ее называют функцией Исключающее ИЛИ (см. Ч. I, табл. 2.3), или суммой по модулю два. Таким образом, для суммирования двух двоичных одноразрядных кодов необходимо выполнить логическую операцию Исключающее ИЛИ. Обратная ей функция Исключающее ИЛИ-НЕ определяется как (см. Ч. I, табл. 2.3): s = x1 ⊕ x0 = x1 x0 + x1 x0 . (5.10) Логические элементы, выполняющие операции Исключающее ИЛИ и Исключающее ИЛИ-НЕ, всегда имеют только два входа, т. е. операции всегда выполняются только над двумя переменными. Таблица 5.6 Таблица истинности сложения разрядов многоразрядных двоичных кодов x1 x0 p-1 s p 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Таблица 5.5 применима только для сложения одноразрядных двоичных кодов или младших разрядов многоразрядных слов. Таблица сложения старших разрядов многоразрядных двоичных слов должна быть дополнена переменной возможного переноса из более младшего разряда (табл. 5.6). ФАЛ, описывающие результаты сложений, в этом случае будут иметь вид ( ) s = ( x1 ⊕ x0 ) p1 + x1 ⊕ x0 p−1 , p = x1 x0 + ( x1 ⊕ x0 ) p−1 . (5.11) (5.12) Из выражения (5.11) следует, что для получения суммы двух разрядов необходимо сначала выполнить операцию Исключающее ИЛИ над исходными слагаемыми x1 и х0 и затем еще одну операцию Исключающее ИЛИ над результатом первой операции Исключающее ИЛИ и сигналом переноса из предыдущего разряда. Для получения сигнала переноса также необходимо воспользоваться результатом операции Исключающее ИЛИ над слагаемыми x1 и x0. Классификация сумматоров Классификация сумматоров может быть выполнена по различным признакам. Рассмотрим наиболее часто встречающиеся из них. 50 По числу выводов различают: полусумматоры, одноразрядные сумматоры, многоразрядные сумматоры. • Полусумматором называется устройство, предназначенное для сложения двух одноразрядных кодов, имеющее два входа и два выхода и формирующее из сигналов входных слагаемых сигналы суммы и переноса в старший разряд. • Одноразрядным сумматором называется устройство, предназначенное для сложения двух одноразрядных кодов, имеющее три входа и два выхода, и формирующее из сигналов входных слагаемых и сигнала переноса из младших разрядов сигналы суммы и переноса в старший разряд. • Многоразрядным сумматором называется устройство, предназначенное для сложения двух многоразрядных кодов, формирующее на выходе код суммы и сигнал переноса в случае, если результат сложения не может быть представлен кодом, разрядность которого совпадает с разрядностью кодов слагаемых. В свою очередь, многоразрядные сумматоры подразделяются на последовательные и параллельные. В последовательных сумматорах операция сложения выполняется последовательно разряд за разрядом, начиная с младшего. В параллельных все разряды входных кодов суммируются одновременно. Различают комбинационные сумматоры - устройства, не имеющие собственной памяти, и накапливающие сумматоры, снабженные собственной внутренней памятью, в которой аккумулируются результаты выполненной операции. При этом каждое очередное слагаемое прибавляется к уже имевшемуся в устройстве значению. По способу тактирования различают синхронные и асинхронные сумматоры. В синхронных сумматорах время выполнения операции арифметического суммирования двух кодов не зависит от вида самих кодов и всегда остается постоянным. В асинхронных сумматорах время выполнения операции зависит от вида слагаемых. Поэтому по завершении выполнения суммирования необходимо вырабатывать специальный сигнал завершения операции. В зависимости от используемой системы счисления различают двоичные, двоично-десятичные и другие типы сумматоров. Двоичный полусумматор Согласно определению, выходные сигналы двоичного полусумматора должны соответствовать системе ФАЛ (5.8) и (5.9). Для ее технической реализации необходимы логические элементы И и Исключающее ИЛИ. Так как ранее элемент Исключающее ИЛИ не был описан, рассмотрим возможность его построения на yже известных элементах. Для этого преобразуем выражение (5.5) к базису И-НЕ воспользовавшись техническими приемами, описанными в параграфе 3.2 части I s = x1 ⊕ x0 = x1 x0 + x1 x0 = x1 x0 + x1 x0 = x1 x0 ⋅ x1 x0 = ( x1 | x0 ) ⋅ ( x1 | x0 ) = ( x1 | x0 ) | ( x1 | x0 ). Техническая реализация полученного выражения приведена рис. 5.5. На этом же рисунке показано условное графическое обозначение элемента Исключающее ИЛИ. 51 Рис. 5.5. Структурная схема реализации Рис. 5.6. Полусумматор (а) и его операции Исключающее ИЛИ (а) и ее условное обозначение (б) условное обозначение (б) С использованием сказанного легко можно синтезировать логическую схему двоичного полусумматора (рис. 5.6 (а)). Условное графическое обозначение двоичного полусумматора показано на рис. 5.6 (б). Одноразрядный сумматор Функционирование одноразрядного сумматора определяется системой ФАЛ (5.11) и (5.12). Техническая реализация данной ФАЛ может быть выполнена на ЛЭ любого типа. Рассмотрим, например построение одноразрядного сумматора с использованием схем двоичных полусумматоров (рис. 5.7 (а)). Очевидно, что для этой цели необходимо два полусумматора и элемент ИЛИ. Следует отметить, что если синтезировать схему одноразрядного сумматора непосредственно по табл. 5.6 относительно элементарных ЛЭ, можно получить более простое техническое решение. Рис. 5.7. Одноразрядный сумматор (а) и его условное обозначение (б) Условное графическое обозначение одноразрядного сумматора приведено на рис. 5.7 (б). Многоразрядный сумматор параллельного действия В этом сумматоре согласно данному ранее определению операции суммирования должны выполняться одновременно по всем разрядам исходных двоичных чисел. Из этого следует, что такой сумматор должен иметь отдельные аппаратные средства для выполнения суммирования в каждом разряде. Рассмотрим приведенную на рис. 5.8 типовую структуру 4-х разрядного сумматора, выполненного с использованием трех одноразрядных сумматоров и одного полусумматора. Разряды кодов слагаемых подаются на соответствующие входы сумматоров, выходы суммы которых подсоединяются к первым входам ЛЭ И, используемых в качестве выходных ключей, на вторые входы которых подается сигнал Z, определяющий момент считывания результата. Выход сигнала переноса сумматора нулевого разряда подается вход переноса сумматора первого разряда и т.д. 52 Рис. 5.9. Логическая схема 2-2-3-4-И-4ИЛИ-НЕ (а) и ее условное графическое обозначение (б) Рис. 5.8. Структурная схема параллельного многоразрядного сумматора с последовательным переносом Из сказанного следует, что для получения на выходе сигнала, равного реальной сумме входных кодов, необходимо, чтобы сигнал переноса последовательно сформировался на выходах сумматоров всех разрядов. Следовательно, не зависимо от того, что для суммирования в каждом разряде используется отдельный сумматор, реальное время выполнения операции в данной схеме определяется последовательным переносом сигнала P из разряда в разряд. Поэтому результат, который может быть снят с выхода схемы через время, равное времени суммирования в одном разряде, не будет являться реальным значением искомой суммы. Для исключения получения ложного результата на выходе схемы установлены элементы И. Сигнал Z на входах этих элементов должен появляться не ранее, чем после последовательной передачи сигнала переноса по всем разрядам сумматоров. Следует отметить, что реально схемы многоразрядных сумматоров строятся только с применением одноразрядных сумматоров, что позволяет, используя их последовательное включение, увеличивать разрядность кодов слагаемых. 5.5. Логические элементы, реализующие сложные функции При разработке сложных логических устройств часто приходится сталкиваться с последовательным выполнением однотипных операций типа И-ИЛИ-НЕ над различным числом переменных. Для упрощения технической реализации и уменьшения числа внешних соединений, что ведет к повышению надежности устройства, в серийно выпускаемых сериях ИС содержатся элементы, выполняющие подобные последовательности логических операций. В качестве примера на рис. 4.5 приведены структурная схема и условное графическое обозначение ИС типа 555ЛР2. Эта схема выполняет операцию 2-2-3-4-И-4ИЛИ-НЕ. 53 Контрольные вопросы и упражнения к разделу 5 1. Каковы назначение и структурная схема мультиплексора? 2. Каково назначение демультиплексора? Составьте структурную схему демультиплексора. 3. Каково назначение преобразователя кодов? 4. Каковы назначение и логическая схема шифратора? 5. Приведите условную схему устройства ввода информации и клавиатуры. 6. Приведите схему двоично-десятичного дешифратора. 7. Каковы назначение и логическая схема цифрового компаратора? 8. Запишите ФАЛ, реализующие арифметическое суммирование одноразрядных двоичных кодов. 9. Составьте таблицу истинности для элемента Исключающие ИЛИ. 10. Составьте таблицу истинности для элемента Исключающие ИЛИ-НЕ. 11. Чем отличаются полусумматор и одноразрядный сумматор? 12. В чем основное отличие многоразрядных сумматоров параллельного и последовательного действий? 13. Составьте схему ЛЭ, реализующую сложную функцию четырнадцати переменных вида 2-3-4-5-И-4ИЛИ-НЕ. 6. ТРИГГЕРНЫЕ УСТРОЙСВА Особенностью последовательностных логических устройств является зависимость выходного сигнала не только от действующих в настоящий момент времени на входе логических переменных, но и от тех значений переменных, которые действовали на входе в предыдущие моменты времени. Очевидно, что для выполнения этого условия значения переменных должны быть запомнены логическим устройством. Функцию запоминания значений логических переменных в цифровых схемах выполняют так называемые триггеры. Таким образом, триггерный элемент, выполняя функции памяти, является неотъемлемой частью любого последовательсностного устройства. Рассмотрим основные принципы построения и функционирования наиболее распространенных триггерных элементов. Триггером называется устройство, способное формировать два устойчивых значения выходного сигнала и скачкообразно изменять эти значения под действием внешнего управляющего сигнала. Именно способность формировать на выходе два 54 устойчивых значения сигнала, которые могут поддерживаться без изменения сколь угодно длительный промежуток времени, и позволяет применять триггер в качестве элемента памяти. В общем случае триггер содержит собственно элемент памяти и некоторую входную комбинационную схему, преобразующую входные сигналы триггера в сигналы, требуемые для управления элементом памяти. Простейший триггер состоит только из элемента памяти, который может быть реализован на основе усилителя, охваченного глубокой положительной обратной связью (ПОС). В частности, роль триггера может выполнять операционный усилитель с цепью положительной обратной связи. На рис. 6.1 приведены принципиальная схема и передаточная характеристика гистерезисного компаратора. Очевидно, что если на его входе действует напряжение − U вых R2 (R1 + R2 ) < U вх < + U вых R2 (R1 + R2 ) , выходной m m сигнал компаратора неизменен и определяется только предыдущим значением входного сигнала, удовлетворяющего неравенству U вх > U max m R2 (R1 + R2 ) . Рис. 6.1. Принципиальная схема (а) и передаточная характеристика (б) гистерезисного компаратора В качестве базовых узлов, на основе которых может быть построен триггер, могут использоваться и элементы И-НЕ или ИЛИ-НЕ, передаточная характеристика которых подобна характеристике инвертирующего усилителя. Так как для построения триггера исходный усилитель должен быть охвачен цепью ПОС, необходимо взять два элемента. В этом случае простейший триггер, включающий только непосредственно элемент памяти, имеет вид, показанный на рис. 6.2. Такой элемент содержит два информационных входа, на которые подаются входные переменные x1 и x0, и два выхода, с которых снимаются сигналы y1 и y0, причем, если y0= 1, то y1= 0, (6.1) y0= 0, то y1= 1. Выражения (6.1) называются постулатом триггера. При описании триггера также пользуются понятием активного логического уровня. Для изменения выходного сигнала триггера, или, как принято говорить, для изменения его состояния, на вход схемы рис. 6.2 (а), выполненной на элементах ИНЕ, следует подать сигнал х = 0. Для переключения триггера (рис. 6.2 (б)), выполненного на элементах ИЛИ-НЕ, требуется сигнал x = 1. Для обоих триггеров (рис. 6.2), если x0= 0, а x1= 1, то y0= 1 и y1= 0. Однако в триггере на рис 6.2 (а) активным определяющим сигналом будет x0= 0, а в триггере на рис 6.2 (б) – x1= 1. 55 Рис. 6.2. Схемы простейших триггеров на элементах 2И-НЕ (а) и 2ИЛИ-НЕ (б) При описании работы триггера приняты следующие соглашения: • если Q = 1, а установлен; Q = 0, то триггер находится в состоянии установки, или просто если Q = 0, а Q = 1, то триггер находится в сброшенном состоянии, или просто сброшен. Существующие типы триггеров могут быть классифицированы по различным признакам. Наиболее часто триггеры классифицируют по типу используемых информационных входов. Различают следующие типы основных информационных входов триггера: R – раздельный вход сброса триггера (Q = 0); S – раздельный вход установки триггера (Q = 1); K – вход сброса универсального триггера (Q = 0); J – вход установки универсального триггера (Q = 1); T – счетный вход триггера; D – информационный вход переключения триггера в состояние, соответствующее логическому уровню на этом входе; C – управляющий или синхронизирующий вход. Кроме этих основных входов некоторые триггеры могут снабжаться входом V. Вход V блокирует работу триггера, и он сколь угодно долго может сохранять ранее записанную в него информацию. С точки зрения типа используемых входов различают RS-, D-, T-, JK-, VD- и VT- триггеры. По моменту реакции на входной сигнал триггеры подразделяют на асинхронные и синхронные. Асинхронный триггер изменяет свое состояние непосредственно в момент изменения сигнала на его информационных входах, т.е. его непосредственная реакция на изменение входного сигнала подобна реакции комбинационного элемента. Синхронный триггер изменяет свое состояние лишь в строго определенные (тактовые) моменты времени, соответствующие действию активного сигнала на его синхронизирующем входе C, и не реагирует на любые изменения информационных сигналов при пассивном значении сигнала на входе C. По виду активного логического сигнала, действующего на информационных входах, триггеры различают на статические - управляемые уровнем, и динамические - управляемые перепадом входного сигнала. При этом сами входы могут быть прямыми и инверсными. Для переключения триггера на его прямой вход необходимо подать сигнал x, а на инверсный — сигнал x . • 56 Так, определение «синхронный RS-триггер с инверсными статическими входами» означает, что рассматриваемый триггер имеет три информационных входа: вход установки S, вход сброса R и синхронизирующий вход C; переключение триггера происходит в моменты времени, определяемые появлением активного логического сигнала на входе синхронизации (C = 0), причем для переключения на входы R или S необходимо подать низкий логический уровень, т. е. сигнал лог. 0 (R = 0 или S = 0). Такие входы соответственно обозначают C , R и S . Для описания работы триггера аналогично комбинационным схемам могут быть использованы словесное описание, таблицы истинности, логические выражения. Особенностью такого описания является использование в качестве дополнительной входной переменной значения сигнала Qn, т. е. предыдущего значения выходного сигнала триггера. Однако наиболее часто для описания работы триггера используют таблицы переходов, определяющие, какие логические сигналы необходимо подать на его информационные входы для перехода из заданного состояния Qn в заданное состояние Qn+1. 6.1. Одноступенчатые триггеры Асинхронный RS-триггер снабжен только двумя информационными входами: входом сброса R и входом установки S. По сути это простейший элемент памяти, который может быть реализован на элементах И-НЕ или ИЛИ-НЕ (рис. 6.2). В зависимости от этого данный триггер обладает либо инверсными, либо прямыми Таблица 6.1 Таблица переходов RS-триггера на элементах И-НЕ Qn Qn+1 R Таблица 6.2 Таблица переходов RS-триггера на элементах ИЛИ-НЕ S Qn Qn+1 R S 1 1 1 1 1 1 1 1 1 1 1 1 1 1 информационными входами. Опишем поведение асинхронных RS-триггеров рис. 6.2 с использованием таблиц переходов (табл. 6.1 и 6.2). Из приведенных таблиц следует, что триггер на элементах И-НЕ снабжен инверсными, а на элементах ИЛИ-НЕ – прямыми информационными входами. Причем эти входы статические. Условные обозначения данных триггеров с учетом типа используемых информационных входов приведены соответственно на рис. 6.3 (а, б). Отметим еще одну особенность рассмотренных триггеров. Допустим, что на оба информационных входа триггера подан активный логический сигнал. Например, для триггера рис. 6.3 (а) R = S = 0. Тогда, согласно рис. 6.2 (а), Q = Q = 1 , что противоречит постулатам (6.1), и при одновременном снятии информационных сигналов (R = S = 1) состояние триггера будет непредсказуемо. Следовательно, при использовании схем рис. 6.2 в качестве элемента памяти подача на оба информационных входа активных логических сигналов запрещена, хотя сам факт подачи такой комбинации сигналов вполне допустим. Для получения математического выражения, описывающего работу триггера данного типа, составим карту Вейча Qn+1 R R R R Qn 10 1 1 Qn 10 1 S S S S Согласно определению входов, данному в начале настоящего раздела, для триггера с прямыми информационными входами при S = 1 имеем Qn+1= 1. Аналогично для R = 1 имеем Qn+1= 0. Если R = S = 0 , т.е. на входах действуют пассивные логические уровни, состояние триггера остается неизменным: Qn+1= Qn. Полученная карта подтверждает сделанный ранее вывод о недопустимости одновременной подачи на информационные входы R и S двух активных логических уровней (R = S = 1), так как в этом случае выходной сигнал Qn+1 одновременно должен принимать два взаимоисключающих значения (0 и 1). Определяя возникшие факультативные значения выходной функции Qn+1 для R = S = 1 как сигнал лог. 1, получаем следующую ФАЛ: Qn +1 = S + Qn R . Qn +1 = S + Qn R . (6.3) Синхронный RS-триггер может быть получен на базе асинхронного RS-триггера введением дополнительной логической схемы, которая формировала бы на его входах активные логические уровни только при наличии дополнительного сигнала синхронизации. Синтезируем такую схему. Предположим, что триггер снабжен прямым входом синхронизации. Информационные входы R- и S-триггера тоже прямые. В этом случае таблица истинности (табл. 6.3) дополнительной схемы будет иметь вид: Рис. 6.3. Условное графическое изображение асинхронных RS-триггеров с инверсными (а) и прямыми (б) информационными входами 57 (6.2) Для триггера с инверсными информационными входами аналогично можно получить 58 Таблица 6.3 Таблица истинности формирования управляющих сигналов синхронного RS-триггера C Rвх Sвх Rвых Sвых 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 С использованием полученной таблицы минимизируем ФАЛ для Sвых и Rвых. Карты Вейча для этого случая имеют вид Sвых Rвых R R R R C 1 1 C S S S S R R R R C 1 1 C S S S S Рис. 6.4. Структурные схемы синхронных RS-триггеров на основе асинхронных триггеров с прямыми (а) и инверсными (б) входами Синхронные RS-триггеры могут быть дополнены асинхронными установочными входами, сигналы которых подаются непосредственно на элемент памяти (рис. 6.5 (а)) и поэтому обладают более высоким приоритетом, чем сигналы синхронных входов. При использовании для построения синхронного триггера однотипных логических элементов (И-НЕ или ИЛИ-НЕ) его синхронные и асинхронные входы управляются различными активными логическими уровнями. В случае элементов И-НЕ для синхронных входов активными является сигнал лог.1, а для асинхронных входов – лог. 0. Условное графическое изображение синхронного RS-триггера с прямыми информационными и инверсными установочными входами показан на рис. 6.5 (б). Откуда получаем, что Sвых= CS, Rвых= CR. Подставив полученные значения Sвых и Rвых в выражение (6.3) получим ФАЛ, описывающую работу синхронного RS-триггера Qn +1 = S + Qn R = CS + Qn CR = CS + Qn (C + R ) = = CS + Qn C + Qn R = CS + Qn C + Qn R (C + C ) = = C (S + Qn R ) + QnC (1 + R ). Окончательно будем иметь Qn +1 = C Qn + C (S + Qn R ). (6.4) Из анализа полученного выражения можно сделать следующие выводы: данная ФАЛ содержит два слагаемых; первое слагаемое представляет логическое произведение активного логического уровня сигнала синхронизации на ФАЛ, описывающую работу асинхронного триггера; • второе слагаемое представляет логическое произведение пассивного логического уровня сигнала синхронизации на предыдущее состояние триггера. Следует отметить, что аналогичную структуру имеют ФАЛ для всех синхронных триггеров. Структурные схемы синхронных RS-триггеров, удовлетворяющих выражению (6.4) приведены на рис. 6.4. Рис. 6.5. Структурная схема (а) и условное графическое обозначение (б) синхронного RS-триггера с входами асинхронной установки Следует отметить, что полученная структура синхронного триггера при условии C = 1 функционирует как асинхронный RS-триггер. D-триггер обычно снабжен только одним информационным входом. Этот вход D, информация с которого по определению входа переписывается на выход триггера только по сигналу синхронизации. Из сказанного следует, что D-триггер может быть только синхронным. В соответствии со сказанным, таблица переходов для D-триггера приведена в табл. 6.4. 59 60 • • C 1 1 1 1 D-триггер также может быть снабжен дополнительными входами асинхронной установки. С учетом входа блокировки V и инверсных асинхронных входов установки R и S ФАЛ D-триггера имеет вид Таблица 6.4 Таблица переходов D-триггера Qn Qn+1 D 1 1 1 1 1 1 1 1 1 1 1 1 [ ) Qn +1 = C Qn + C (S ′ + Qn R′) = C Qn + C D + Qn D = C Qn + CD(1 + Qn ), или Qn +1 = C Qn + CD . Структурная схема, удовлетворяющая полученной ФАЛ, графическое изображение D-триггера, приведены на рис 6.6 (а, б). (6.5) и условное Рис. 6.6. Структурная схема (а) и условное графическое изображение (б) D-триггера Разновидностью D-триггера является VD-триггер. Этот триггер дополнительно снабжен входом разрешения работы V, который блокирует его работу. По сути, действие данного входа аналогично действию входа C. Поэтому структурно этот вход может быть выполнен, например, как объединение дополнительных входов элементов И-НЕ входной логики триггера (рис. 6.6 (а)). При V=1 поведение триггера полностью соответствует выражению (6.5). При V=0 триггер хранит записанную ранее в него информацию: Qn+1≡ Qn. 61 (6.6) 6.2. Двухступенчатые триггеры T-триггер, или, как его называют, счетный триггер, согласно определению входов должен изменять свое состояние по каждому активному логическому сигналу, действующему на информационном входе T. Данному алгоритму работы соответствует таблица переходов (табл. 6.5), в которой активным считается сигнал лог. 1 и логическое выражение вида Так как информация на выходе D-триггера остается неизменной вплоть до прихода очередного импульса синхронизации, данный триггер часто называют триггером с запоминанием информации, или триггером защелкой. Синтезируем структуру D-триггера на основе синхронного RS-триггера. Очевидно, что для реализации алгоритма работы, описанного табл. 6.4, сигналы на его R и S входах должны быть связаны с сигналом на D-входе следующими соотношениями: R′ = D , S ′ = D . Подставим эти соотношения в ФАЛ RS-триггера и получим выражение, описывающее работу D-триггера ( ] Qn +1 = V (CQn + CD ) + V Qn + S R . Qn +1 = QnT + QnT . (6.7) Это выражение характеризует работу асинхронного T-триггера. Используя (6.7) и замечания, сделанные при рассмотрении синхронного RS-триггера, можно получить выражение для синхронного T-триггера: Qn +1 = (QnT + QnT )C + C Qn . (6.8) Таблица 6.5 Таблица переходов T-триггера Qn+1 Qn T 1 1 1 1 1 1 Реализация данного режима работы с использованием простейшего элемента памяти требует подачи на последний для каждого последующего подключения инверсных значений входных сигналов. Такой режим обеспечивается введением в RS- или D-триггер цепей дополнительной обратной связи (рис. 6.7) Рис. 6.7. Асинхронные T-триггеры на основе RS (а) и D-триггеров (б) Полученные структуры соответствуют алгоритму работы T-триггера. Однако на практике они не могут обеспечить его надежное функционирование. Объясняется это тем, что в данном случае элемент памяти одновременно должен выполнять две взаимоисключающие функции. С одной стороны, он должен быть источником информации, а с другой, - ее приемником. Очевидно, что одновременное выполнение этих функций одним триггером невозможно, так как прием новой информации 62 автоматически означает потерю старой. Поэтому при идеальном быстродействии используемых ЛЭ приведенные структуры неработоспособны. Неработоспособны данные структуры и при использовании элементов, обладающих собственной инерционностью, либо внешних цепей задержки (рис. 6.7). Объясняется это следующим: если к моменту изменения сигналов на входах R, S или D сигнал Т еще не снят, происходит следующее переключение триггера. В результате устройство начинает функционировать как генератор незатухающих колебаний. Для их устранения необходимо либо использовать дополнительный элемент памяти, запоминающий новые значения сигналов R, S или D и подающий их на информационные входы основного элемента памяти только после снятия активного сигнала со входа Т, либо искусственно ограничивать длительность сигнала T. Эти принципы реализованы в так называемых двухступенчатых триггерах и триггерах с динамическим управлением. В двухступенчатом триггере противоречия между процессами хранения старой и приемом новой информации решены введением второго запоминающего элемента. При этом новая информация формируется сначала только во входной ступени триггера при сохранении старой информации в выходной его ступени. Когда новое состояние входной ступени сформировано и снят активный уровень сигнала со входа Т, происходит ее перезапись в выходную ступень устройства. Таким образом, двухступенчатый триггер фактически состоит из двух последовательно соединенных триггеров - ведущего и ведомого (рис. 6.8 (а)). Для устранения режима автоколебаний синхронизация работы ведущего и ведомого триггеров осуществляется инверсными логическими уровнями. Часто двухступенчатый триггер называют MS-триггером (от английских слов master и slave—хозяин и раб). Следует отметить, что по структуре двухступенчатого могут быть построены любые типы триггеров. таблица переходов (табл. 6.6) в предположении, что его активным является сигнал лог. 1 имеет следующий вид: Таблица 6.6 Таблица переходов JK-триггера Qn+1 Qn J K 1 1 1 1 1 1 Эта таблица отражает данное ранее определение входов J и K, которые при подаче на них активного входного сигнала соответственно устанавливают и сбрасывают JK-триггер. Составив карту Вейча для приведенной таблицы, можно получить аналитическое выражение, описывающее работу асинхронного и синхронного JKтриггеров: Qn +1 = JQn + K Qn , Qn +1 = C (JQn + K Qn ) + C Qn . (6.9) Из таблицы переходов следует, что при подаче на информационные входы J и K сразу двух активных логических уровней триггер работает как счетный. Следовательно, структурная схема данного триггера должна повторять схему Tтриггера, т.е. должна содержать дополнительные цепи обратной связи. Поэтому структура JK-триггера базируется на структуре MS-триггера или триггера с динамическим входом. Поскольку введение обратных связей решает задачу исключения запрещенных комбинаций входных сигналов, входы J и K могут функционировать как входы R и S RS-триггера. Рис. 6.8. Двухступенчатый T-триггер (а) и условное графическое обозначение двухступенчатого RS-триггера (б) Из сказанного следует, что использование двухступенчатых триггеров, выполненных по структурной схеме рис. 6.8 (а), позволяют обеспечить высокую надежность функционирования триггеров с внутренними цепями обратной связи. На принципиальных схемах двухступенчатые триггеры обозначаются сдвоенной буквой (TT), как это показано на рис. 6.8 (б). JK-триггер является наиболее универсальным триггером, так как на его основе могут быть выполнены любые из описанных ранее типов триггеров. В отличие от RSтриггера JK-триггер не имеет запрещенных комбинаций входных сигналов, и его Рис. 6.9. Структурная схема JK-триггера Выполненная с учетом сделанных замечаний структурная схема JK-триггера приведена на рис. 6.9. Очевидно, что всегда на вход одного из логических элементов 3И-НЕ с выхода триггера поступает активный логический сигнал. Вследствие этого при любых комбинациях входных сигналов непосредственно на входах первого RSтриггера не могут появиться два активных логических уровня. 63 64 Ранее уже отмечалось, JK-триггер является универсальным и позволяет построить на своей основе все рассмотренные ранее типы триггеров. Сказанное иллюстрируется на рис. 6.10. Следует отметить, что JK-триггер, аналогично ранее рассмотренным, может дополнительно снабжаться входами асинхронной установки R и S, сигналы на которых имеют приоритет над сигналами остальных входов. Рис. 6.10. Построение триггеров на основе JK-триггера: (а) – синхронный RSтриггер; (б) – D-триггер; (в) – синхронный T-триггер; (г) – асинхронный RS-триггер; (д) – асинхронный T-триггер 6.3. Триггеры с динамическим управлением Все рассмотренные типы триггеров являются триггерами со статическим управлением. Это накладывает определенные требования на вид сигнала синхронизации. Так как активным логическим уровнем на входе синхронизации рассмотренных ранее триггеров является сигнал C=1, то на интервале действия этого сигнала они беспрепятственно воспринимают любое изменение сигналов на своих информационных входах. Поэтому для записи определенной информации сигнал на информационных входах триггера должен оставаться неизменным на всем интервале действия активного логического сигнала на входе синхронизации. На практике такое требование приводит к дополнительным трудностям при проектировании цифровых устройств и их усложнению. От указанного недостатка свободны триггеры с так называемым динамическим управлением. Суть такого управления заключается в том, что в качестве активного логического сигнала выступает не сам статический уровень, а его изменение. Другими словами, переключение триггера происходит в течение короткого промежутка времени вблизи фронта или среза импульса синхронизации. Если триггер реагирует на фронт импульса, т.е. на перепад сигнала от лог. 0 к лог. 1, то считают, что он снабжен прямым динамическим входом. Если же триггер реагирует на срез импульса, т.е. на перепад сигнала от лог. 1 к лог. 0, то считают, что он снабжен инверсным динамическим входом. Обозначение на принципиальных электрических схемах таких входов показано на рис. 6.11. 65 Рис. 6.11. Обозначение входов синхронизации триггеров: (а) – прямой динамический; (б) – инверсный динамический Здесь следует отметить, что триггер с динамическим управлением не чувствителен к изменению информационных сигналов на интервалах действия сигналов C = 1 и C = 0. Переключение происходит по изменению сигнала синхронизации. Строго говоря, переключение триггера происходит не непосредственно по фронту или срезу импульса синхронизации. Для гарантированной записи информации она должна оставаться неизменной на информационных входах на некотором интервале времени в окрестности изменения сигнала синхронизации. ПродолжительРис. 6.12. Условное графическое ность этого интервала времени обозначение JK-триггера с объедиопределяется реальными задержками в ненными операцией И входами J и K выбранных логических элементах. На практике ИС триггеров часто снабжаются несколькими однотипными входами, например S, R, J, K, объединенными по входу операцией И. Такое исполнение существенно упрощает схемы устройств, проектируемых с применением данных микросхем. В качестве примера на рис. 6.12 приведено условное графическое обозначение JK-триггера, имеющего по три входа J и K, объединенных логической операцией И. Контрольные вопросы и упражнения к разделу 6 1. Каково назначение и состав триггерных устройств? 2. Приведите принципиальную схему и передаточную характеристику гистерезисного компаратора, построенного на основе операционного усилителя. 3. Опишите принцип работы гистерезисного компаратора. 4. Что называется постулатом триггера? 5. По каким признакам классифицируют триггеры? 6. Дайте классификацию триггеров по типам информационных входов. 7. Что означает определение: «синхронный RS-триггер с инверсными статическими входами»? 8. Какой тип триггера называют триггером защелкой? 9. Почему JK-триггер является наиболее универсальным? 10. Чем различаются между собой одно- и двухступенчатые триггеры различных типов? 11. Проиллюстрируйте выполнение триггеров различных типов на основе JKтриггера. 12. Каковы особенности триггеров с динамическим управлением? 66 7. ФУНКЦИОНАЛЬНЫЕ УЗЛЫ ПОСЛЕДОВАТЕЛЬНОСТНЫХ ЛОГИЧЕСКИХ УСТРОЙСТВ 7.1 Регистры Регистром называется последовательностное устройство, предназначенное для записи, хранения и (или) сдвига информации, представленной в виде многоразрядного двоичного кода. В соответствии с данным определением в общем случае регистр может выполнять следующие микрооперации над кодовыми словами: 1. установка в исходное состояние (запись нулевого кода); 2. запись входной информации в последовательной форме; 3. запись входной информации в параллельной форме; 4. хранение информации; 5. сдвиг хранимой информации вправо или влево; 6. выдача хранимой информации в последовательной форме; 7. выдача хранимой информации в параллельной форме. Любой N-разрядный регистр состоит из N однотипных ячеек - разрядных схем, выходной сигнал каждой из которых ассоциируется с весовым коэффициентом соответствующего разряда двоичного кода. При этом каждая разрядная схема, как любое последовательностное устройство, состоит из триггерной подсистемы (элемента памяти) и некоторой комбинационной схемы, преобразующей входные воздействия и состояния триггерной подсистемы в выходные сигналы регистра. Регистры могут быть классифицированы по различным признакам. Рассмотрим основные из них. По способу приема информации регистры подразделяют на: • параллельные (статические), в которые информация записывается и считывается только в параллельной форме; • последовательные (сдвигающие), в которые информация записывается и считывается только в последовательной форме; • последовательно-параллельные, в которые информация записывается или считывается как в параллельной, так и в последовательной формах. По числу каналов передачи информации регистры подразделяют на: • парафазные, в которых информация записывается и считывается в прямом и обратном кодах; • однофазные, в которых информация записывается и считывается либо в прямом, либо в обратном коде. По способу тактирования регистры подразделяют на: • однотактные, управляемые одной управляющей последовательностью импульсов; • многотактные, управляемые несколькими управляющими последовательностями импульсов. Параллельный регистр предназначен для выполнения только 1-ой, 3-ей, 4-ой и 7-ой из перечисленных микроопераций над кодовыми словами, т.е. обрабатывает информацию только в параллельной форме. Поэтому образующие его разрядные схемы не связаны между собой. Простейший параллельный регистр может быть выполнен на RS-триггерах (рис. 7.1). 67 Он содержит N триггеров, входы синхронизации которых объединены между собой. На его входы x N −1 , K , x0 и x N −1 , K x0 информация подается в прямом и обратном кодах, а с выходов QN-1, …, Q0 снимается только в обратном коде. Следовательно, согласно приведенной выше классификации, это однотактный регистр с парафазными входами и однофазным инверсным выходом. Запись информации в такой регистр выполняется за один такт синхронизации. Рис. 7.1. Схема параллельного регистра Если для записи в данном регистре используется только прямой или обратный входной код, то запись информации выполняется за два такта синхронизации. По первому такту необходимо сбросить или установить все триггеры регистра (подачей на соответствующие входы активного логического уровня), а по второму - записать в регистр новую информацию. Если в данной структуре RS-триггеры заменить на D-триггеры, получим однотактный регистр с однофазным входом. Очевидно, что быстродействие такого регистра при использовании однофазного входного сигнала будет в два раза выше, так как для записи информации необходим только один импульс синхронизации. Сдвигающий регистр. Параллельный (сдвигающий) регистр является, как правило, универсальным и может выполнять все доступные для регистров микрооперации. Для этого разрядные схемы, входящие в его состав, соединены между собой. Рассмотрим построение такого регистра на примере однотактного сдвигающего регистра с возможностью параллельной записи информации (рис. 7.2 (а)). Для упрощения на рис. 7.2 (а) показаны только две разрядные схемы регистра. Рис. 7.2. Фрагмент структурной схемы сдвигающего регистра (а); условное графическое обозначение сдвигающего регистра (б) 68 Выбор режима работы регистра определяется значением сигнала входе s/p. При сигнале s/p = 0 элемент DD1 2И-НЕ, формируя на своем выходе сигнал лог. 1, не зависимо от сигнала синхронизации, поданного на вход С, блокирует синхронное переключение триггеров разрядных схем регистра. Одновременно выходной сигнал инвертора DD2 преобразует элементы 2И-НЕ DD3 и DD5 в инверторы и сигналы, присутствующие на входах параллельной записи информации D, переписываются в триггеры разрядных схем. Элементы DD4 и DD6 в данном режиме также работают как инверторы, предотвращая возможность одновременной подачи на асинхронные входы R- и S-триггеров двух активных логических уровней. Если s/p= 1, параллельная запись информации становится невозможной, так как логические элементы DD3-DD6 не зависимо от сигналов на входах параллельной записи D формируют на асинхронных входах R- и S-триггеров пассивные логические сигналы. Одновременно элемент DD1 2И-НЕ превращается в инвертор, и по фронту импульса синхронизации информация со входа V (вход последовательного приема информации) записывается в триггер первой разрядной схемы регистра. В триггер второй разрядной схемы переписывается информация из первой разрядной схемы и т.д. Регистр выполняет прием информации в последовательном виде и сдвиг ранее записанной в него информации влево (из младшего разряда в старший). Условное графическое изображение 4-х разрядного регистра сдвига показано на рис. 7.2 (б). Если регистр выполняет операцию сдвига информации из старшего разряда в младший, то на его условном графическом обозначении стрелка указывает вправо. Если стрелки показывают в обе стороны, то это значит, что регистр является реверсивным, и направление сдвига информации определяется управляющим сигналом. Следует отметить, что в сдвигающих регистрах используются только двухступенчатые триггеры или триггеры с динамическим управлением. Это гарантирует сдвиг информации строго на один разряд по каждому импульсу синхронизации. При использовании других триггеров процесс сдвига становится неуправляемым и за один импульс синхронизации информация может быть сдвинута на несколько разрядов. Организация межрегистровых связей. В реальных цифровых устройствах информация, подлежащая обработке, хранится в регистрах. Обработка информации предполагает передачу ее из регистра в регистр. Эта передача может быть выполнена различными способами. В простейшем случае между всеми регистрами может быть организована индивидуальная связь. Этот способ реализует пространственное разделение цепей передачи информации, при котором обмен между несколькими регистрами может производиться одновременно, что обеспечивает получение максимально высокого быстродействия ее обработки. Однако при большом числе регистров реализация данного способа наталкивается на большие технические трудности ввиду громоздкости линий связи. В микропроцессорных системах обмен информацией между несколькими регистрами осуществляется по последовательному принципу. При этом используется единственная линия связи (общая шина DB - Date Bus). К этой шине подключены входы и выходы всех регистров. При этом реализуется принцип разделения информации во времени, при котором в каждый конкретный момент обмен возможен только между двумя регистрами. Путь передачи информации в каждый конкретный момент определяется значениями управляющих сигналов. 7.2. Счетчики Счетчиком называется последовательностное устройство, предназначенное для счета входных импульсов и фиксации их числа в двоичном коде. Счетчики так же, как и сдвиговые регистры, строятся на основе N однотипных связанных между собой разрядных схем, каждая из которых в общем случае состоит из триггера и некоторой комбинационной схемы, предназначенной для формирования сигналов управления триггером. В цифровых схемах счетчики могут выполнять следующие микрооперации над кодовыми словами: 1) установка в исходное состояние (запись нулевого кода); 2) запись входной информации в параллельной форме; 3) хранение информации; 4) выдача хранимой информации в параллельной форме; 5) инкремент – увеличение хранящегося кодового слова на единицу; 6) декремент – уменьшение хранящегося кодового слова на единицу. Основные параметры и классификация счетчиков. Основным статическим параметром счетчика является модуль счета М, который характеризует максимальное число импульсов, после прихода которого счетчик устанавливается в исходное состояние. Основным динамическим параметром, определяющим быстродействие счетчика, является время установления выходного кода tk, характеризующее временной интервал между моментом подачи входного сигнала и моментом установления нового кода на выходе. Счетчики могут классифицироваться по многим параметрам. Рассмотрим основные из них. По значению модуля счета счетчики подразделяют на: • двоичные, модуль счета которых равен целой степени числа 2 (M= 2n); • двоично-кодированные, в которых модуль счета может принимать любое, не равное целой степени числа 2 значение. По направлению счета счетчики подразделяют на: • суммирующие, выполняющие микрооперацию инкремента над хранящимся кодовым словом; • вычитающие, выполняющие микрооперацию декремента над хранящимся кодовым словом; • реверсивные, выполняющие в зависимости от значения управляющего сигнала над хранящимся кодовым словом либо микрооперацию декремента, либо инкремента. По способу организации межразрядных связей счетчики делятся на: • счетчики с последовательным переносом, в которых переключение триггеров разрядных схем осуществляется последовательно один за другим; • счетчики с параллельным переносом, в которых переключение всех триггеров разрядных схем осуществляется одновременно по сигналу синхронизации; • счетчики с комбинированным последовательно-параллельным переносом, при котором используются различные комбинации способов переноса. 69 70 Двоичные счетчики. Для определения структуры двоичного счетчика рассмотрим последовательность двоичных чисел, ограничившись для простоты 3-разрядным кодом (табл. 7.1). Таблица 7.1 Таблица 3-разрядных двоичных чисел C Q1 Q2 Q3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Так как в счетчике значения Q ассоциируются с выходными сигналами соответствующих триггеров, то для получения счетчика с модулем счета М=8 необходимо как минимум три триггера. Рассматривая табл. 7.1, нетрудно заметить, что Q0, соответствующее младшему разряду двоичного числа, изменяет свое значение с приходом каждого импульса синхронизации; Q1 - с приходом каждого второго импульса синхронизации, а Q2 - с приходом каждого четвертого импульса. Данный алгоритм можно легко реализовать, используя асинхронные Т-триггеры, причем синхронизацию каждого последующего триггера осуществляют выходным сигналом предыдущего, а переключение первого триггера, формирующего значение Q0, непосредственно последовательностью синхроимпульсов. Временные диаграммы, поясняющие такой алгоритм работы, приведены на рис. 7.3. Рис. 7.5. Схема трехразрядного суммирующего счетчика с последовательным переносом Сказанное справедливо, если для синхронизации каждого последующего асинхронного Т-триггера использовать прямой выход предыдущего триггера (вывод Q). Если для этой цели использовать инверсный выход триггера, то суммирующий счетчик реализуется на Т-триггерах с прямыми динамическими входами, а вычитающий - на Т-триггерах с инверсными динамическими входами. Таким образом, в счетчиках на синхронных Т-триггерах направление счета зависит как от того, какой из выходов используется для синхронизации последующего триггера, так и от типа входа синхронизации. В табл. 7.2 приведены все возможные комбинации соединения триггеров с различными типами входов синхронизации и получаемые при этом виды счетчиков. Таблица 7.2 Зависимость типа выполняемой микрооперации от вида межразрядных связей Используемый выход Тип входа Т Q Q Прямой динамический Декремент Инкремент Инверсный динамический Инкремент Декремент Из сказанного также следует, что направление счета счетчика может изменяться путем изменения вида межразрядных связей. Последнee легко достигается включением в состав каждой разрядной схемы счетчика мультиплексора (рис. 7.6). Рис. 7.3. Временные диаграммы Рис. 7.4. Временные диаграммы работы работы суммирующего счетчика вычитающего счетчика Из таблицы и временных диаграмм также следует, что для организации микрооперации инкремента переключение каждого последующего триггера должно происходить в момент изменения выходного сигнала предыдущего триггера из 1 в 0, т.е. по срезу импульса. Следовательно, для суммирующего счетчика последовательно включенные асинхронные Т-триггеры должны быть снабжены инверсными динамическими входами (рис. 7.5). Если исходные асинхронные Т-триггеры снабжены прямыми динамическими входами, то счетчик превращается в вычитающий и выполняет микрооперацию декремента. Временные диаграммы, поясняющие данный режим работы, приведены на рис. 7.4. Рис. 7.6. Фрагмент структурной схемы реверсивного счетчика Сигнал на входе V данного счетчика определяет вид межразрядных связей, а следовательно, и тип получаемого счетчика. Временные диаграммы, поясняющие работу такого счетчика при различных значениях сигнала V, приведены на рис. 7.7. 71 72 выходного кода готов к следующему переключению, то при реализации данного алгоритма для подготовки счетчика к следующему переключению должно пройти некоторое время tпод. Это время необходимо для формирования нового сигнала переноса и определяется временем задержки распространения логических элементов И (tпод= tэл), использующихся в цепях формирования сигналов pi. Так как это время всегда меньше времени установления выходного кода одиночного триггера, быстродействие полученного счетчика всегда выше быстродействия счетчика с последовательным переносом. Рис. 7.7. Временные диаграммы работы реверсивного счетчика Все рассмотренные раньше счетчики являются счетчиками с последовательным переносом, так как переключение каждого последующего триггера может произойти только после переключения предыдущего. Данный тип счетчика отличается простотой внутренней структуры. Однако следствием такой организации является большое время установления выходного кода, которое к тому же не остается постоянным в процессе работы и зависит от конкретного значения его выходного кода. Максимальное значение tk наблюдается в случае необходимости переключения всех триггеров счетчика, например при изменении выходного кода со значения 111 … в 000 … или наоборот. Численно t k max = Nt k .tr , (7.1) где N – число разрядов счетчика; tk.tr – время переключения (установления выходного кода) одного разряда счетчика. Уменьшить время установления выходного кода счетчика можно при условии, что все триггеры его разрядных схем будут переключаться одновременно. Для этого необходимо отказаться от применения асинхронных триггеров в пользу синхронных и сформировать сигналы, регламентирующие требуемый порядок переключения триггеров разрядных схем до прихода импульса синхронизации. Для получения алгоритма переключения триггеров разрядных схем вернемся еще раз к таблице последовательности двоичных чисел (см. табл. 7.1). Анализируя таблицу, нетрудно заметить, что переключение каждого последующего триггера при приходе очередного импульса синхронизации происходит только тогда, когда все предыдущие триггеры установлены, т. е. на выходах присутствуют единичные сигналы. Математически данный алгоритм можно записать следующей ФАЛ: Qi ,n +1 = Qi ,n pi + Qi ,n pi = Qi ⊕ pi , (7.2) Рис. 7.8. Фрагмент схемы счетчика с параллельным переносом Счетчики, реализующие описанный алгоритм работы, называются счетчиками с параллельным переносом. Следует отметить, что в счетчиках с параллельным переносом направление счета не зависит от того, какой (прямой или инверсный) динамический вход имеют триггеры, составляющие его разрядные схемы. Направление счета определяется исключительно тем, какой (прямой или инверсный) выход триггера используется для формирования сигнала переноса. Так, счетчик, схема которого показана на рис. 7.8, будет суммирующим. Если же для формирования сигнала переноса будут использованы инверсные выходы триггеров разрядных схем, счетчик будет вычитающим (табл. 7.3). Таблица 7.3 Зависимость типа операции, реализуемой счетчиком с параллельным переносом, от вида межразрядных связей Сигнал связи Выполняемая микрооперация Qi Инкремент Qi Декремент где Qi,n+1 – значение i-го разряда выходного кода счетчика в (n+1)-й момент времени; Qi,n – значение i-го разряда выходного кода счетчика в n-й момент времени; pi= Q0,nQ1,n … Qi-1,n – сигнал переноса. Итак, для одновременного переключения триггеров всех разрядных схем в счетчике необходимо сформировать сигнал переноса. Схемотехническая реализация такого алгоритма переключения приведена на рис. 7.8. Следует отметить, что в данной структуре триггер, формирующий сигнал Q0, по прежнему остался асинхронным. Поэтому его входной сигнал T ≡ 1. Очевидно, что в данной схеме время установления выходного кода tk max будет равно времени переключения одного триггера tk тр. Однако если счетчик с последовательным переносом непосредственно после установления нового значения Следовательно, и при использовании параллельного переноса введением в разрядные схемы мультиплексоров на элементах 2Х2/И-ИЛИ можно легко построить реверсивный счетчик. Сложность практической реализации счетчиков с параллельным переносом состоит в том, что при увеличении числа разрядов пропорционально увеличивается число входов логических элементов И, используемых в цепях формирования сигнала переноса. Поэтому при увеличении числа разрядов используют структуры счетчиков с комбинированным, как правило, последовательно-параллельным или параллельно-параллельным переносом. Двоично-кодированные счетчики. Как уже отмечалось ранее, двоичнокодированный счетчик имеет модуль счета, отличный от целой степени числа 2. 73 74 Примером такого счетчика может служить счетчик с модулем счета 10, т. е. двоично-десятичный счетчик. При построении таких счетчиков получили распространение в основном два метода: метод исключения лишних состояний; метод управляемого сброса. Первый метод заключается в использовании методики синтеза последовательностных устройств (который будет рассмотрен в следующем разделе). Полученная в этом случае схема однозначно определяет виды связей между ее отдельными элементами и не может быть оперативно изменена. Любое изменение требует выполнения в полном объеме всего цикла проектирования. Поэтому такой подход используется только при проектировании часто встречающихся устройств, выпускаемых большими партиями. В иных случаях его применение становится экономически нецелесообразным. На практике, как правило, желательно иметь схему полуфабрикат, которая без особых сложностей и дополнительных элементов позволила бы гибко изменять алгоритм работы устройства. Этого легко добиться, если разрядные схемы счетчика строить с учетом возможности предварительной асинхронной установки исходного состояния. Используя счетчики с входами предварительной установки, можно построить устройство с любым наперед заданным модулем счета. Для этого используют метод управляемого сброса. Идея данного метода состоит в принудительном формировании сигнала сброса триггеров разрядных схем двоичного счетчика при появлении на его выходе кода, совпадающего с требуемым модулем счета М. Проиллюстрируем сказанное на примере преобразования двоичного 4-разрядного счетчика со сквозным переносом в двоично-десятичный счетчик (рис. 7.9). Рис. 7.9. Использование метода управляемого сброса для преобразования двоичного счетчика в двоично-десятичный Для этого необходимо на входы дополнительного логического элемента 4ИНЕ подать комбинацию выходных сигналов разрядных схем, соответствующую коду 1010, т. е. Q3Q2Q1Q0 . В этом случае при появлении на выходе одиннадцатого по счету выходного кода (1010) элемент 4И-НЕ через время, равное времени его задержки распространения, сформирует сигнал сброса и на выходе счетчика установится нулевой код. На рис. 7.10 приведены временные диаграммы, иллюстрирующие работу такого счетчика. 75 Рис. 7.10. Временные диаграммы работы двоично-десятичного счетчика, реализующего метод управляемого сброса Следует подчеркнуть, что при использовании метода управляемого сброса на выходе счетчика на время t1, равное сумме времени задержки распространения сигнала в дополнительном элементе 4И-НЕ и времени установления выходного кода счетчика по входу R, устанавливается лишнее выходное состояние. Это является платой за универсальность метода. Если по условию работы счетчика даже кратковременное появление на его выходе лишнего состояния является недопустимым, при проектировании необходимо пользоваться методом исключения лишних состояний, например, по выходному коду М-1 формировать управляющие сигналы, обеспечивающие по следующему импульсу синхронизации сброс всех триггеров счетчика. Контрольные вопросы и упражнения к разделу 7 1. По каким признакам можно провести классификацию регистров? Приведите классификацию регистров. 2. Приведите структурные схемы и условные обозначения параллельного, сдвигающего и реверсивного регистра. Опишите принцип их работы. 3. Назовите основные параметры и признаки классификации счетчиков. 4. Каким образом достигается повышение быстродействия счетчиков? 5. Как осуществляется предварительная установка счетчиков? 6. В чем суть метода управляемого сброса? 8. БАЗОВЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ Значениям логических функций и аргументов в электрических схемах могут быть поставлены в соответствие различные характеристики токов или напряжений. Это могут быть как их некоторые установившиеся величины, так и параметры электрических импульсов. В соответствии с этим различают потенциальный и импульсный способы представления логических переменных. При потенциальном способе представления значениям лог. 0 и лог. 1 ставят в соответствие два различных уровня напряжения или тока. В зависимости от того, какой именно из этих уровней конкретно ставят в соответствие значениям 0 и 1, различают положительную и отрицательную логики. В положительной логике значению лог. 1 ставят в соответствие большее, а значению лог. 0 - меньшее значение напряжения или тока. В отрицательной логике наоборот - большим значениям электрического сигнала соответствуют значения лог. 0, меньшим - значения лог. 1. Это определение справедливо для любой полярности 76 Рис. 8.1. Потенциальный способ представления лог. 0 и лог. 1: а – положительная логика; б – отрицательная логика При импульсном способе представления значению лог. 1, например, может быть поставлен в соответствие сам факт наличия импульса или его положительный перепад, а значению лог. 0 - отсутствие импульса или его отрицательный перепад. Следует отметить, что при потенциальном способе представления значение логической переменной может быть определено в любой произвольный момент времени. При импульсном же представлении это может быть сделано только в строго определенные дискретные моменты времени. Другими словами, при потенциальном представлении возможен как синхронный, так и асинхронный съем информации. При импульсном же представлении возможен только синхронный съем информации. Это определяет преимущества и недостатки указанных методов представления логических переменных. В настоящем лекционном курсе ограничимся рассмотрением базовых логических элементов, реализующих потенциальный способ представления логических переменных, т.к. он получил наиболее широкое практическое распространение. На начальном этапе развития цифровой электроники было разработано большое число всевозможных схемотехнических решений, реализующих основные логические операции. Однако широкое практическое использование получили только некоторые из них. Эти элементы наилучшим образом сочетают ряд важных для потребителя и изготовителя характеристик. В настоящее время при разработке ИС наибольшее распространение получили следующие базовые логические элементы (БЛЭ): • транзисторно-транзисторная логика (ТТЛ); • эмиттерно-связанная логика (ЭСЛ); • интегрально-инжекционная логика (И2Л); • логика на однотипных полевых транзисторах (n-МОП и p-МОП); • логика на комплектарных полевых транзисторах (КМОП). Первые три типа используют биполярные транзисторы, последние два – полевые. Распространение нескольких типов логики, выполняющих одни и те же логические функции, объясняется различием их основных характеристик, что в зависимости от технических требований условий эксплуатации позволяет строить электронные средства с требуемыми параметрами. Самыми распространенными на сегодняшний день являются ИС, реализующие ТТЛ и ее разновидности. Этот тип ИС, судя по прогнозам специалистов, останется наиболее массовым и в ближайшем будущем. Интегральные схемы данного типа обладают средним быстродействием (Fmax = 20 ... 50 МГц) и средней потребляемой мощностью. Интегральные схемы, реализующие ЭСЛ, являются наиболее быстродействующими, но мощность, потребляемая этими элементами, превышает мощность элементов ТТЛ. Однако гибкость ее схемотехнических решений позволяет достаточно просто реализовывать сложные логические функции. Базовые элементы И2Л были разработаны специально для использования в БИС. Их отличает высокая, недоступная для ТТЛ и ЭСЛ степень интеграции, пониженное напряжение питания, простота согласования с элементами ТТЛ и возможность регулировать в широких пределах быстродействие путем изменения потребляемой мощности. Особенностью ИС, выполненных на полевых транзисторах, является малая потребляемая мощность. Однако по быстродействию эти элементы пока уступают логике на биполярных транзисторах. Данный тип логики также обладает высокой помехоустойчивостью. В сравнении с биполярными транзисторами полевые транзисторы имеют меньшие размеры и проще в изготовлении, что позволяет разместить на единице площади кристалла больше элементов. В соответствии с этими особенностями область их применения ограничивается функционально сложными устройствами невысокого быстродействия и малого токопотребления. Прогнозы специалистов показывают, что по мере совершенствования технологии, направленной на повышение их быстродействия, этот класс ИС постепенно станет самым массовым. В первую очередь это касается ИС КМОП. 8.1. Основные требования к базовым логическим элементам В реальных цифровых устройствах электрические сигналы, отображающие значения логических переменных, проходят через большое число последовательно соединенных однотипных электронных блоков, реализующих их преобразование в соответствии с аксиомами основных логических операций. Для надежного функционирования таких схем необходимо, чтобы каждый отдельный электронный блок, не зависимо от своего расположения в схеме и различных комбинаций входных сигналов и выходных нагрузок, безошибочно выполнял заданную логическую функцию. При этом должна гарантироваться передача неискаженного сигнала, соответствующего требуемому значению логической переменной. Возникшие в процессе преобразования искажения, во-первых, не должны влиять на работу устройства, если они лежат в пределах некоторых допустимых зон изменения этого сигнала, и, во-вторых, самоустраняться по мере дальнейшего преобразования сигнала. Функциональная сложность реальных логических устройств, множество различных сочетаний входных сигналов и нагрузок, а также использование при их изготовлении гибридной и полупроводниковой технологий, не позволяют 77 78 используемого напряжения или любых направлениях протекания токов. Из рис. 8.1 (а) видно, что при положительной логике и условии Uвых≥ 0 значению лог. 1 соответствует большее по абсолютному значению напряжение, в то время как при Uвых< 0 большее абсолютное напряжение соответствует значению лог. 0. Однако с учетом знака уровни, показанные на рис. 8.1 (а, б), полностью соответствуют данному выше определению типов логики. Важно отметить, что если некоторое логическое устройство относительно положительной логики реализует операцию И, то относительно отрицательной логики это будет операция ИЛИ, и наоборот. рассчитывать на индивидуальную регулировку и настройку каждого отдельного элементарного электронного блока. Поэтому для надежной работы реальных цифровых устройств необходимо, чтобы все входящие в его состав элементарные электронные блоки обладали рядом фундаментальных свойств, к основным из которых относятся: • совместимость уровней входных и выходных сигналов; • нагрузочная способность; • формирующее свойство (свойство квантования сигнала); • помехоустойчивость. Совместимость уровней входных и выходных сигналов. Для совместного использования большого числа логических элементов, выполненных, например, в виде ИС, должно гарантироваться согласование уровней сигналов, отображающих значения логических переменных. Это означает, что установившиеся отклонения выходного напряжения ЛЭ, вызванные действием различных внешних дестабилизирующих факторов и собственным разбросом параметров входящих в его состав элементов, не должны превышать некоторые заданные значения (рис. 8.2). Таким образом, должны выполняться неравенства 1 1 U min ≤ U (1t ) ≤ U max , (8.1) U min ≤ U (0t ) ≤ U max . где U(t) – текущее значение формирование на выходе сигнала, выходного напряжения ЛЭ. Следовательно, 1 U max < U ( t ) < U min (8.2) не удовлетворяющего системе неравенств (8.1), недопустимо. Для повышения надежности работы цифровых устройств допустимая область изменения входного сигнала ЛЭ, распознаваемая как соответствующий логический уровень, должна быть шире выходной 1, 0 1, 0 U вых max < U вх max , 1, 0 1, 0 U вых min > U вх min . Нагрузочная способность ЛЭ характеризует его способность получать сигнал от нескольких источников информации и одновременно быть источником информации для ряда других элементов. При этом его входные и выходные сигналы должны удовлетворять неравенствам (8.1) и (8.3). Для численной характеристики нагрузочной способности ЛЭ используются два коэффициента: коэффициент объединения по входу и коэффициент разветвления по выходу. Коэффициент объединения по входу Коб численно равен максимальному числу выходов однотипных ЛЭ, которые могут быть подключены ко входу данного ЛЭ, не вызывая при этом искажений формы и амплитуды его сигнала, выходящих за границы зон отображения уровней лог. 0 и лог. 1. Коэффициент разветвления по выходу Краз численно равен максимальному числу входов однотипных ЛЭ, которые могут быть подключены к выходу данного ЛЭ, не вызывая при этом искажений формы и амплитуды его сигнала, выходящих за границы зон отображения уровней лог. 0 и лог. 1. Типовые значения коэффициентов Коб= 2...8, Краз= 4…10. В выпускаемых сериях ИС существуют элементы с повышенной нагрузочной способностью, для которых Краз= 20…30. Квантование сигнала. При прохождении электрического сигнала по цепочке последовательно включенных ЛЭ его амплитуда и форма не должны претерпевать недопустимых изменений. Для этого каждый ЛЭ должен обладать формирующими свойствами. Сигнал, установившийся после прохождения по цепочке по последовательно включенных ЛЭ (рис. 8.3(а)), называют стандартным, или асимптотическим. Формирующее свойство ЛЭ определяется видом его амплитудной передаточной характеристики (АПХ), под которой понимают зависимость его выходного напряжения от входного: Uвых= f(Uвх). Рассмотрим формирующее свойство ЛЭ с использованием амплитудной передаточной характеристики инвертирующего усилителя, приведенной на рис. 8.3 (б). (8.3) Таким образом, допустимая область изменения входных сигналов ЛЭ должна включать область изменения выходных сигналов (рис. 8.2). Рис. 8.2. Области отображения входных и выходных сигналов 79 Рис. 8.3. Цепочка последовательно соединенных ЛЭ 2И-НЕ (а) и формирование сигнала на ее выходе (б) 80 Точка «0» данной характеристики соответствует пересечению характеристики ЛЭ с прямой Uвых= Uвх. Точки А и В получены как пересечения характеристики ЛЭ с прямой, перпендикулярной к зависимости Uвых= Uвх в точке 0. Следует отметить, что полученные в результате такого построения значения напряжений UA и UB являются асимптотическими. Предположим, что на вход первого ЛЭ цепочки (рис. 8.3(а)) подан сигнал U0, лежащий на участке характеристики, соответствующей работе этого элемента в качестве усилителя, т. е. в области, не удовлетворяющей неравенству (8.2). Используя приведенную на рис. 8.3(б) амплитудную передаточную характеристику, найдем значение сигнала U4, которое установится на выходе четвертого ЛЭ. При этом U4>U0. Очевидно, что с увеличением числа последовательно включенных ЛЭ (n → ∞) выходное напряжение Un, снимаемое с выхода последнего в цепочке элемента, будет стремиться к значениям UA или UB. Следовательно, исходный искаженный сигнал, пройдя через цепочку из последовательно включенных ЛЭ, стремится к своему асимптотическому значению. Напряжение, соответствующее точке 0 амплитудной передаточной характеристики (АПХ) ЛЭ, называют напряжением порога квантования Uкв. Если U = Uкв, то сигнал, пройдя через цепочку последовательно включенных ЛЭ, строго говоря, не претерпит никаких изменений. Таким образом, Uкв делит характеристику ЛЭ на две области, соответствующие зонам отображения сигналов лог. 0 и лог. 1. Если U > Uкв, то этот сигнал воспринимается как сигнал лог. 1, если U < Uкв - то как сигнал лог. 0. Следует заметить, что точка 0 является точкой неустойчивого равновесия, и любое сколь угодно малое отклонение напряжения от значения Uкв приведет к формированию на выходе цепочки элементов сигнала UA или UB. Амплитудная передаточная характеристика реального ЛЭ существенно нелинейна, что обеспечивает быстрое формирований асимптотических значений логических сигналов. Помехоустойчивость ЛЭ. Очевидно, что даже кратковременное искажение логических сигналов в силу формирующих свойств ЛЭ может привести к потере истинности получаемых результатов. Поэтому ЛЭ должны обладать высокой помехоустойчивостью. Под помехоустойчивостью понимается свойство нечувствительности ЛЭ к отклонениям его входных сигналов от асимптотических значений. Эти отклонения обычно вызываются действием различных помех на логическое устройство. Степень их влияния во многом определяется типом используемых схемотехнических решений. Помехи в цифровых устройствах носят, как правило, характер кратковременных импульсов. Принято различать внешние и внутренние помехи. К первым относятся помехи, вызванные внешними воздействиями: электромагнитное воздействие промышленной сети электропередачи, силовых переключателей и электродвигателей, городского транспорта и т. п. Уменьшить влияние этих помех можно как конструктивными, так и схемотехническими средствами, например экранированием или соответствующим выбором уровней лог. 0 и лог. 1. Ко вторым относятся помехи, амплитуда и длительность которых зависит от амплитуды и длительности перепадов напряжений на выходах самих ЛЭ, а также видом и длиной соединительных линий между ними. 81 Зона помехоустойчивости ЛЭ определяется по его АПХ. Уровень допустимой входной помехи для комбинационных устройств задается как разность между порогом квантования и соответствующим асимптотическим уровнем сигналов лог. 0 и лог. 1. В соответствии с этим различают уровни помехи по сигналам лог. 0 и лог. 1, которые находятся из соотношений: U помk = U кв − U B , 1 U помk = U кв − U A . (8.4) Если U(t)пом < Uпом к, то на выходе ЛЭ появится сигнал, амплитуда помехи в котором меньше, чем на входе, и в силу формирующих свойств при прохождении по цепочке последовательно включенных ЛЭ сигнал помехи быстро затухнет. Последовательностные устройства, как было показано ранее, содержат внутренние цепи обратной связи. Поэтому для их надежного функционирования необходимо, чтобы в процессе работы модуль коэффициента передачи разомкнутого контура не превышал единицу. В противном случае возможно лавинообразное переключение устройства в новое устойчивое состояние, что приведет к потере информации. Поэтому в таких устройствах допустимая амплитуда помехи меньше, чем в комбинационных, и определяется выражениями (рис. 8.4): U помП = U П0 − U B , 1 U помП = U 1П − U A , (8.5) где U П0 и U 1П - входные напряжения, соответствующие точкам характеристики, для которых dU вых dU вх = −1 (см. рис. 8.4). При определении реальной зоны помехоустойчивости необходимо учитывать существующий разброс АПХ ЛЭ. Последнее еще больше уменьшает допустимую амплитуду сигнала помехи. Следует отметить, что допустимая амплитуда помехи также зависит от ее длительности. Эту зависимость определяет характеристика импульсной помехоустойчивости, связывающая допустимую амплитуду помехи с ее длительностью (рис. 8.5). 82 • Рис. 8.4. Зона импульсной помехоустойчивости ЛЭ Рис. 8.5. Характеристика импульсной помехоустойчивости Из приведенной зависимости следует, что для ЛЭ существует некоторая граничная длительность tпом = t2, начиная с которой допустимая амплитуда сигнала помехи начинает увеличиваться относительно уровней, рассчитанных с использованием выражений (8.4) и (8.5). При очень малых длительностях tпом < t1 ЛЭ перестает быть чувствительным к сигналу помехи любой амплитуды. 8.2 Базовые логические элементы транзисторно-транзисторной логики (ТТЛ) Схемотехнически большинство ИС, входящих в состав серий ТТЛ, выполнено на основе комбинаций двух базовых схем: элемента И-НЕ (Штрих Шеффера) и расширителя по ИЛИ. фазорасщепителя на транзисторе VT2, резисторе R2 и цепи нелинейной коррекции R3, R4 и VT3; • двухтактного выходного усилителя на транзисторах VT4 и VT5, резисторе R5 и диоде VDn. Расширитель по ИЛИ (рис. 8.6 (б)) по сути, повторяет первые два каскада элемента И-НЕ и содержит входной многоэмиттерный транзистор VT1 с резистором R1 и транзистор VT2 фазорасщепителя. Объединение элементов И-НЕ и расширителя по ИЛИ путем соединения точек а и б позволяет получить ЛЭ, реализующий последовательность операций ИИЛИ-НЕ. Объединение элементов И-НЕ и расширителя по ИЛИ путем соединения точек а и б позволяет получить ЛЭ, реализующий последовательность операций И-ИЛИ-НЕ. Рассмотрим работу элемента И-НЕ (рис. 8.6(а)). Предположим, что хотя бы один вход элемента х0, ..., xn-1 непосредственно подключен к общей шине, т. е. на него подано напряжение лог. 0. В этом случае многоэмиттерный транзистор VT1 оказывается насыщенным током, протекающим от источника питания через резистор R1. Напряжение на его коллекторе будет мало отличаться от нулевого. Поэтому транзистор VT2 фазорасщепителя оказывается запертым. Так как эмиттерный ток транзистора VT2 практически равен нулю, будет заперт и транзистор VT5. Ток, протекающий через резистор R2, втекает в базу транзистора VT4, насыщая его. Поэтому напряжение, присутствующее на выходе y ЛЭ, близко к напряжению питания и определяется выражением 1 (8.6) U вых = U П − I вых R5 − U КЭVT 4 − U YD . n Таким образом, при наличии на любом из входов схемы напряжения низкого уровня напряжение на его выходе будет иметь высокий уровень. Предположим теперь, что на все входы ЛЭ подан высокий уровень напряжения. В этом случае все эмиттерные переходы многоэмиттерного транзистора VT1 оказываются запертыми. При этом его коллекторный переход сместится в прямом направлении, и по цепи, состоящей из резистора R1, коллекторного перехода транзистора VT1 и последовательно соединенных эмиттерных переходов транзисторов VT2 и VT5, будет протекать ток. Этот ток насытит транзисторы VT2 и VT5, и на выходе y ЛЭ установится низкое напряжение, численно равное напряжению насыщения транзистора VT5: (8.7) U вых = U КЭVT 5 = I вых rвыхVT 5 . Рис. 8.6. Принципиальная электрическая схема ЛЭ И-НЕ (а), принципиальная электрическая схема расширителя по ИЛИ серии ТТЛ (б) Элемент И-НЕ (рис. 8.6 (а)) может быть представлен последовательным соединением трех каскадов: • входного многоэмиттерного транзистора VT1 с резистором R1 и диодами VD0 – VDn-1, реализующих логическую операцию И; Так как транзистор VT2 насыщен, присутствующее на его коллекторе напряжение оказывается недостаточным для прямого смещения двух последовательно включенных p-n-переходов (эмиттерный переход VT4 и диод VDn). Транзистор VT4 будет заперт. Таким образом, если на всех входах схемы присутствует высокое напряжение, на выходе БЛЭ будем иметь напряжение низкого уровня. Из приведенного описания следует, что в общем случае параллельное соединение нескольких выходов таких элементов недопустимо, так как формирование на них сигналов различных уровней приведет к выходу из строя транзисторов выходного усилителя мощности. Параллельно можно соединять выходы только синхронно работающих элементов. Для положительной логики описанный алгоритм работы соответствует определению операции И-НЕ: 83 84 y = x0 x1 K xn −1. (8.8) Рассмотрим более подробно назначение отдельных элементов схемы. Выполнение выходного каскада по двухтактной схеме позволяет решить одновременно две задачи: • повысить быстродействие элемента. Нагрузка БЛЭ, как правило, носит емкостной характер, и применение двухтактного выходного каскада позволяет увеличить ток перезаряда емкости нагрузки; • снизить потребление. В установившемся режиме лог. 0 через выходной каскад протекает только ток нагрузки. Во входной цепи многоэмиттерного транзистора VT1 включены дополнительные диоды VD0 – VDn-1, которые защищают элемент от появления на его входе недопустимых напряжений обратной полярности. Нелинейная цепь коррекции R3, R4 и VT3 позволяет увеличить быстродействие элемента и приблизить его АПХ к прямоугольной. Последнее улучшает формирующие свойства элемента. Рассмотрим ее работу. Принцип действия данной цепи основан на зависимости ее сопротивления от состояния транзистора VT5. Если этот транзистор заперт, то транзистор нелинейной цепи коррекции VT3 также заперт. Суммарное сопротивление цепи, шунтирующей эмиттерный переход транзистора VT5, в основном определяется сопротивлением резистора R3, которое велико. Поэтому на начальном этапе формирования на выходе элемента напряжения лог. 0 весь эмиттерный ток транзистора VT2 втекает в базу транзистора VT5, что форсирует его включение. После включения VT5 насыщается и VT3, шунтируя эмиттерный переход транзистора VT5 низкоомным сопротивлением резистора R4. Это, во-первых, уменьшает степень насыщения транзистора VT5 и, вовторых, при последующем выключении увеличивает ток, удаляющий из базовой области этого транзистора избыточный заряд неосновных носителей. Оба этих фактора способствуют снижению времени рассасывания транзистора VT5, что повышает быстродействие элемента. Следует отметить, что в момент переключения БЛЭ в его выходной цепи протекает так называемый «сквозной ток», обусловленный тем, что в течение интервала рассасывания запираемого транзистора оба транзистора выходного двухтактного усилителя оказываются насыщенными. Это приводит к тому, что ток потребления элемента имеет явно выраженный импульсный характер. Поэтому с увеличением частоты переключения среднее значение тока, потребляемого элементом, растет. Растет и его суммарная потребляемая мощность. Кроме этого, протекание импульсов тока за счет действия индуктивности соединительных проводов (Lпр на рис. 8.7) может привести к появлению ложных срабатываний соседних элементов (внутренние помехи). Для ограничения величины «сквозного тока» в коллекторную цепь VT4 включен резистор R5. Однако чрезмерное увеличение сопротивления этого резистора, во-первых, увеличивает мощность, рассеиваемую в элементе, и, во-вторых, уменьшает его нагрузочную способность. Поэтому для исключения действия помех шины питания должны выполняться с малой собственной индуктивностью и по всей длине шунтироваться дополнительными конденсаторами Cдоп с малой паразитной индуктивностью (как правило, керамическими) (рис. 8.7). Использование такого технического решения позволяет свести к минимуму действие на устройство внутренних помех. обычно она измеряется в пикоджоулях (мВт⋅нс). По мере совершенствования схемотехники и технологии энергия Wτ уменьшается. По имеющейся на сегодняшний день статистике уменьшение происходит со скоростью полтора порядка за десять лет. Уровень Wτ свидетельствует о том, что на данном этапе развития технологии и схемотехники увеличение быстродействия ИС всегда связанно с увеличением потребляемой мощности и, наоборот, снижение потребляемой мощности одновременно ведет к падению быстродействия. Степень интеграции N характеризует число элементарных ЛЭ (обычно двухвходовых), расположенных на одном кристалле ИС. Численное значение N определяется выражением (8.10) N = lg K , где K – количество элементов в ИС. В настоящий момент существуют ИС 6-й степени интеграции. Все ИС ТТЛ, выпускаемые отечественной промышленностью в настоящий момент можно разделить на следующие группы: • стандартные – серия 155; 85 86 Рис. 8.7. Шунтирование шины питания БЛЭ ТТЛ дополнительными конденсаторами Следует отметить еще одну особенность применения БЛЭ ТТЛ. Согласно приведенному алгоритму работы, если вход элемента остается неподключенным к источнику сигнала, можно считать, что на него подан сигнал лог. 1. Однако на практике неиспользуемые входы элементов ТТЛ рекомендуется не оставлять свободными, а через дополнительный резистор Rдоп подключать к выводу +Uп. В противном случае, элемент будет обладать большим входным сопротивлением в состоянии лог. 1, что резко увеличивает вероятность воздействия на него помех, и снижает надежность работы логического устройства. Обычно один резистор используется для подключения нескольких входов ЛЭ. В этом случае его сопротивление может быть найдено из условия Rдоп ≤ U п − U вх min , nI вх max где n – число входов БЛЭ, подключаемых к резистору. Интегральные параметры БЛЭ определяют уровень развития и совершенства технологии и схемотехники, а также качество ИС. Рассмотрим два из них – энергию переключения и степень (уровень) интеграции. Энергия переключения определяется как произведение средней мощности, потребляемой ЛЭ, на среднее время задержки распространения импульса (8.9) Wτ = Pпотрtз ср , • • быстродействующие с диодами Шотки – серии 530, 531, 1531; маломощные с диодами Шотки – серии 533, 555, 1533. Элементы всех этих серий практически выполнены по единой схеме. Основное различие данных серий заключается в их быстродействии и потребляемой мощности. Типовые параметры БЛЭ различных серий ТТЛ приведены в таблице 8.1. Напряжение всех БЛЭ ТТЛ равно +5В ± 5% или +5В ± 10% в зависимости от типа исполнения. Таблица 8.1 Типовые параметры БЛЭ различных серий ТТЛ tз ср Pпотр U1вых U0вых I1вых I0вых Серия ИС (нс) (мВт) (В) (В) (мА) (мА) К155 10 10 2,4 0,4 -0,4 16 К531 3 20 2,7 0,5 -1,0 20 К555 10 2,0 2,7 0,5 -0,4 8,0 U0вх max U1вх min I0вых I1вых fmax Серия ИС Kраз (В) (В) (мА) (мА) (МГц) К155 0,8 2,0 -1,6 0,04 10 10 К531 0,8 2,0 -2,0 0,05 10 50 К555 0,8 2,0 -0,36 0,02 10 10 8.3. Базовые логические элементы эмиттерно-связанной логики (ЭСЛ) Причиной появления БЛЭ ЭСЛ явилось желание повысить быстродействие цифровых устройств. Это желание привело к использованию в них совершенно отличного от ТТЛ схемотехнического решения. Как было показано выше, основными причинами инерционности ключей, выполненных на биполярных транзисторах, являются время рассасывания неосновных носителей из его базовой области и постоянная времени перезаряда выходной емкости. Если время рассасывания транзистора при работе последнего в активной области может быть полностью исключено, то от влияния постоянной времени перезаряда выходной емкости транзистора полностью избавиться не представляется возможным. Это влияние лишь можно уменьшить путем увеличения коллекторного тока транзистора, как это сделано в БЛЭ ТТЛ серии 531. При неизменном постоянном токе перезаряда выходной емкости транзистора длительность его перехода из состояния, классифицируемого как лог. 0, в состояние, классифицируемое как лог. 1, и обратно может быть уменьшена только за счет уменьшения логического перепада. Такое решение позволяет повысить быстродействие. Однако дается оно за счет снижения помехоустойчивости БЛЭ, что требует создания схем, при прочих равных условиях, менее подверженных воздействию помех. Этот принцип и используется при построении БЛЭ ЭСЛ. Основой БЛЭ ЭСЛ является токовый ключ, выполненный на транзисторах (рис. 8.8). На базу одного из них, например VT2, подано некоторое постоянное опорное напряжение Uоп. Изменение напряжения, подаваемого на вход x0 ниже или выше Uоп, приводит к перераспределению постоянного тока Iэ, заданного токостабилизирующим резистором Rэ, между транзисторами VT1 и VT2. При этом транзисторы не попадают в режим насыщения и, следовательно, в ключе принципиально отсутствует интервал рассасывания их неосновных носителей. Таким образом, особенностью БЛЭ ЭСЛ является постоянство потребляемого тока не зависимо от значения выходного сигнала ключа. 87 Рис. 8.8. Принципиальная электрическая схема токового ключа БЛЭ ЭСЛ Эта особенность выгодно отличает БЛЭ ЭСЛ от БЛЭ ТТЛ, в котором в момент переключения ток, потребляемый элементом, резко возрастает, создавая внутренние помехи, ухудшающие помехозащищенность цифрового устройства. Нетрудно заметить, что общей шиной для элемента является шина +Uп, в результате чего все потенциалы точек схемы отрицательны относительно общей шины. Однако в схеме токового ключа так же, так и в схемах ТТЛ, реализован принцип положительной логики, при котором большему выходному напряжению соответствует сигнал лог. 1, а меньшему - сигнал лог. 0 (см рис. 8.1). Быстродействие токового ключа весьма велико, так как, во-первых, транзисторы принципиально не заходят в область насыщения и, во-вторых, мал логический перепад напряжений между значениями лог. 0 и лог. 1. Последнее реализовано выбором малых сопротивлении резисторов RК1 и RК2 схемы, что крайне полезно точки зрения уменьшения постоянной времени перезаряда выходной емкости транзистора. С токового ключа снимаются одновременно два сигнала - прямой и инверсный, связанные с сигналом x0 на входе схемы соотношениями: y1 = x0 , y0 = x0. (8.11) Следует отметить, что схемотехнически токовый ключ на рис. 8.8 повторяет схему дифференциального усилителя постоянного тока. Выходное напряжение, снимаемое с выходов y1 и y0, всегда больше UОП, так как транзисторы VT1 и VT2 всегда работают в ненасыщенном режиме. Поэтому непосредственное последовательное включение нескольких таких ключей невозможно. Для этого необходим согласующий каскад. В качестве такого согласующего каскада используются схемы эмиттерных повторителей, включенных между выходами токового ключа и выходами элемента. Полная схема БЛЭ, выполненного на основе токового ключа, приведена на рис. 8.9 (элемент серии 500). Базовый элемент получен путем замены входного транзистора VT1 токового ключа группой параллельно включенных транзисторов VT1-VTn. Функционально схему БЛЭ можно разбить на три узла: • токовый ключ на транзисторе VT1-VTn+1 и резисторе Rn+2; • источник эталонного напряжения, включающий параметрический стабилизатор на элементах Rn+4, VD1, VD2, Rn+5 и эмиттерный повторитель на VTn+2 и Rn+3; • выходные эмиттерные повторители на транзисторах VTn+3 и VTn+4. Цепь нагрузок транзисторов VTn+3 и VTn+4 вынесена из ИС, что способствует снижению рассеиваемой в ней мощности и расширению функциональных 88 возможностей. Диоды VD1, VD2 в задающей цепи источника эталонного напряжения служат для термокомпенсации напряжения UOП. Из сказанного следует, что рассмотренная схема реализует по выходу y2 операцию ИЛИ-НЕ, а по выходу y1 – операцию ИЛИ y1 = (x0 + x1 + L + xn −1 ), (8.15) y2 = ( x0 + x1 + L + xn −1 ). Рис. 8.9. Принципиальная электрическая схема БЛЭ ЭСЛ ИС серии 500 Принцип действия и функциональные возможности БЛЭ ЭСЛ. Предположим, что на все входы схемы рис. 8.9 x0, …, xn-1 подано напряжение, близкое к –Uп. Тогда транзисторы VT1 - VTn будут заперты. Весь ток резистора Rn+2 протекает через транзистор VTn+1, к выводу базы которого приложено напряжение Uоп. Этот транзистор поддерживается в активном режиме работы за счет действия глубокой последовательной отрицательной обратной связи по току. Если не учитывать обратные токи коллекторных переходов транзисторов VT1 - VTn, через резистор Rn протекает только базовый ток транзистора VTn+2 выходного эмиттерного повторителя. Следовательно, напряжение на выходе близко к нулевому (8.12) U y 2 = − I Б VT Rn − U БЭ VT . n +3 n +3 Численно напряжение Uy2 примерно равно –0,9 В. Через резистор Rn+1 кроме базового тока транзистора VTn+4 протекает ток I К VTn+1 , примерно равный IЭ. Эти токи создают на резисторе Rn+1 падение напряжения, равное ⎡ (I h ) ⎤ U Rn+1 = I К n+1 + I Б n+1 ⋅ Rn +1 = ⎢ Э 21Э + I Б n+4 ⎥ ⋅ Rn +1 ≈ I Э Rn +1. ⎣ (h21Э + 1) ⎦ ( ) Это напряжение преобразуется выходным эмиттерным повторителем на транзисторе VTn+4 в выходное напряжение Uy1, определяемое выражением (8.13) U y1 ≈ −U БЭVT − I Э Rn+1. Резисторы R0 - Rn-1, включенные между базами транзисторов VT1 - VTn и выводом -Uп, обеспечивают запертое состояние этих транзисторов при отсутствии входного сигнала. Это позволяет не беспокоиться о подключении неиспользуемых входов ИС к выводам источника питания. Особенностью схемотехнического построения элементов ЭСЛ является использование для подключения общей шины собственно токового переключателя и выходных эмиттерных повторителей различных выводов ИС. Потребляемый ток, протекающий в этих цепях, имеет качественно различный характер. Как было отмечено ранее, в принципе работы токового ключа заложено потребление принципиально постоянного тока, так как его работа связана с перераспределением тока эмиттерного резистора RЭ (см. рис. 8.8). Эмиттерные же повторители потребляют импульсный ток. К тому же для улучшения частотных свойств сопротивления резисторов, подключаемых к выводам y1 и y2 ИС, выбираются весьма малыми (Rвнеш = 75 ... 100 Ом). Поэтому совместное питание этих цепей из-за малой величины логического перепада может приводить к ложному срабатыванию соседних элементов, т. е. к появлению сбоев при обработке информации (внутренних помех). Разделение цепей питания позволяет устранить этот недостаток. Раздельное питание токовых ключей и выходных эмиттерных повторителей позволяет дополнительно решить задачу снижения мощности, рассеиваемой в реальной аппаратуре. Так как выходное напряжение элемента лежит в диапазоне -0,9 ... -1,7 В, то для питания внешних резисторов может быть использовано напряжение, не превышающее 2 В. Такое решение при малых сопротивлениях Rвнеш позволяет значительно уменьшить бесполезные потери мощности. Способы повышения быстродействия БЛЭ ЭСЛ. Инерционность, обусловленная временем рассасывания биполярного транзистора, в БЛЭ ЭСЛ отсутствует, поэтому повышение быстродействия может быть достигнуто уменьшением входной емкости и суммарной емкости коллекторного узла схемы. Данный способ реализован в так называемых элементах Э2СЛ. Идея их построения состоит в отказе от применения эмиттерных повторителей в выходной цепи элемента и переносе их в его входную цепь. При этом емкость нагрузки эмиттерного повторителя, т.е. собственно входная емкость токового переключателя при пересчете в его входную цепь, уменьшается в h21Э раз (Cвх= Cн/h21Э). Элемент такого типа обладает уменьшенной энергией переключения. Таблица 8.2 n+ 4 Численно напряжение Uy1 примерно равно –1,7 В. Если хотя бы на один из входов схемы x0, …, xn-1 подано напряжение, превышающее по уровню Uоп (-1,3 В), соответствующий транзистор VT перейдет в активный режим работы. Его ток будет равен току IЭ, что приведет к смене уровней выходного напряжения U y 2 = −U БЭ VTn+3 − I Э Rn , U y1 = − I Б VTn+4 Rn + 4 − U БЭ VTn+4 . 89 (8.14) Тип элемента ЭСЛ Э2СЛ МЭСЛ Серия 500 1500 - Основные параметры БЛЭ ЭСЛ tзр ср Pпотр Uпом (нс) (мВт) (мВ) 2 25 130…160 Uлп (В) 0,8 Uп (В) 5,2 0,5…0,8 0,5…0,8 0,6 0,4 5,2 2…3 5 5 90 130…160 40…50 Другим способом повышения быстродействия является уменьшение уровня логического перепада и напряжения питания. Это решение использовано при разработке так называемой малосигнальной ЭСЛ (МЭСЛ). Однако так как при этом сильно падает помехоустойчивость БЛЭ, данное решение находит применение только при разработке СБИС. При этом входные и выходные сигналы самой ИС находятся на стандартном уровне ТТЛ. Типовые характеристики БЛЭ ЭСЛ различных типов приведены в табл. 8.2. 8.4. Базовые логические элементы на МДП-транзисторах В 1962 г. с использованием планарной технологии был разработан МДП-транзистор с изолированным затвором. Это положило начало новому схемотехническому направлению – разработке ИС МДП. В первую очередь это были логические ИС и ИС запоминающих устройств. Широкому распространению МДП-схемотехники способствовали следующие ее особенности: • более простая технология изготовления (короче технологический цикл изготовления), что способствует повышению процента выхода годных изделий; • меньшие геометрические размеры прибора и более простые технические решения, что при одинаковой с биполярной ИС площади кристалла позволяет разместить на нем более сложную по выполняемым функциям схему или при одинаковой функциональной сложности получить меньшую площадь кристалла, что также способствует повышению выхода годных изделий (меньше влияние дефектов исходного полупроводника). Вместе с тем при разработке ИС МДП приходится учитывать следующие особенности данного класса приборов: 1. МДП-транзистор обладает худшими ключевыми свойствами по сравнению с биполярным транзистором. Это выражается в большем выходном сопротивлении и, следовательно, большем остаточном напряжении во включенном состоянии; 2. производная выходной характеристики МДП-транзистора dI С dU СИ при малых напряжениях UС имеет явно выраженную зависимость от напряжения UЗИ (рис. 8.10 (а)), в то время как аналогичная производная для выходных характеристик биполярного транзистора практически постоянна (рис. 8.10 (б)). Вследствие этого остаточное напряжение на включенном МДП-транзисторе сильно зависит от управляющего напряжения. Применительно к логическим схемам это означает сильную зависимость напряжения лог. 0 от напряжения лог. 1. Ослабить эту зависимость можно уменьшением абсолютного тока стока во включенном состоянии, что требует использования в ключе на МДП-транзисторе высокоомной нагрузки; 3. необходимость применения собственной высокоомной нагрузки при фиксированной емкости (входной емкости аналогичного элемента) увеличивает постоянную времени, определяющую длительности фронта и спада выходного напряжения ЛЭ. Это приводит к падению его быстродействия; 4. в силу рассмотренных выше особенностей (нестабильность выходных логических уровней) для обеспечения достаточной помехоустойчивости ЛЭ на МДП-транзисторах должны работать при больших величинах логического перепада. Это также способствует падению быстродействия элемента. Следует отметить, что необходимость применения высокоомной нагрузки имеет и положительное свойство, выражающееся в уменьшении рассеиваемой в ключе на МДП-транзисторе мощности. 91 Рис. 8.10. Статические характеристики МДП (а) и биполярного (б) транзисторных ключей Схемотехника базовых логических элементов nМОП и pМОП типов. Схемотехнические решения, используемые при построении ИС МДП, направлены на устранение вышеописанных недостатков элементарного ключа. Поэтому при построении ИС схема ключа с нагрузочным резистором не используется. Широкое применение нашла схема ключа с нагрузочным МДП-транзистором. Это дополнительно позволяет упростить технологию изготовления ИС, так как из схемы исключаются все пассивные элементы (резисторы) и она строится только на однотипных элементах - МДП-транзисторах. В зависимости от типа используемого транзистора различают ИС nМОП и pМОП типов. Рассмотрим построение БЛЭ с использованием nМОП-транзисторов. На рис. 8.11 (а, б) приведены принципиальные электрические схемы двухвходовых БЛЭ, реализующих операции 2И-НЕ и 2ИЛИ-НЕ. Рис. 8.11. Принципиальные электрические схемы БЛЭ на МДП-транзисторах, реализующих операции 2И-НЕ (а) и 2ИЛИ-НЕ(б) 92 Обе схемы содержат по три транзистора, из которых VT1 выполняет роль активной нагрузки, a VT2 и VT3 являются собственно транзисторными ключами, реализующими логические операции. В схеме рис. 8.11(а), реализующей логическую операцию И-НЕ, транзисторы VT2 и VT3 включены последовательно. Поэтому для появления на выходе схемы низкого напряжения на затворы обоих транзисторов необходимо подать высокое напряжение, достаточное для протекания тока активной нагрузки. В схеме рис. 8.11(б) транзисторы VT2 и VT3 включены параллельно. Поэтому при подаче на затвор любого из них высокого напряжения на выходе будет сформировано напряжение низкого уровня. Увеличение числа входных переменных элемента требует увеличения количества последовательно или параллельно включенных транзисторов. Поэтому, используя описанный принцип с минимальными схемотехническими затратами, можно легко построить логический элемент с требуемым числом входов. Схемотехника базовых логических элементов КМОП-типа. Увеличение быстродействия ИС МДП требует увеличения токов перезаряда емкостей нагрузки. Однако это ограничивается ростом потребляемой мощности и увеличением нестабильности выходных логических уровней. Преодолеть указанное противоречие можно либо технологическим путем, создавая транзисторы с меньшей входной емкостью, либо схемотехническим путем, применяя схему ключа на транзисторах с каналами различного типа (комплементарные транзисторы). Подобные ключи, с одной стороны, позволяют значительно увеличить токи перезаряда емкости нагрузки, а с другой - максимально уменьшить мощность, рассеиваемую в элементе. Заметим, что ключ на комплементарных транзисторах при правильном выборе параметров входящих в него элементов в статическом режиме работы практически не потребляет мощность от источника питания. Потребляемая элементом мощность в статическом режиме тождественно равна мощности, отдаваемой им в нагрузку. А так как нагрузкой элемента являются входные цепи аналогичных элементов, носящие чисто емкостный характер, то мощность, отбираемая от источника питания, расходуется только в динамическом режиме на перезаряд этой емкости, т. е. имеет минимально возможное значение. Схемотехнически БЛЭ КМОП-типа повторяют схемы элементов nМОП и pМОП-типов. Отличие состоит в том, что всегда используются пары транзисторов. При этом если для реализации заданной логической функции транзисторы с каналом n-типа включаются последовательно, то парные им транзисторы p-типа включаются параллельно, и наоборот. В качестве примера на рис. 8.12 приведены принципиальные электрические схемы, реализующие логические операции 2И-НЕ и 2ИЛИ-НЕ. Для упрощения на приведенных схемах не показаны элементы входных и выходных цепей ключа. 93 Рис. 8.12. Принципиальные электрические схемы БЛЭ КМОП-типа, реализующие функции 2И-НЕ (а) и 2ИЛИ-НЕ (б) К особенностям схем БЛЭ следует также отнести отсутствие дополнительного нагрузочного транзистора. Его роль выполняет один из транзисторов ключа. Анализ схем позволяет сделать важный практический вывод о том, что аналогично БЛЭ ТТЛ для БЛЭ КМОП параллельное включение нескольких их выходов запрещено. Следует также отметить, что КМОП-элементы обладают высокой помехоустойчивостью — до 40% напряжения питания. В таблице 8.3 приведены наиболее важные параметры БЛЭ КМОП. Таблица 8.3 Основные параметры БЛЭ КМОП U1вых min U0вых min tзр ср Fmax Iпотр Uп Cвх Kраз (В) (В) (нс) (МГц) (мкА) (В) (пФ) 3 … 15 30 (Cн=15 пФ) 1 0,1 50 5 8 0,3 100 (Cн=100 пФ) (9) 8.5. Базовые логические элементы интегрально-инжекционной логики (И2Л) Для повышения технологичности изготовления желательно при разработке ИС применять схемотехнические решения, использующие только однотипные элементы, например, транзисторы. Этот путь, как было показано ранее, реализован в ИС МДП, что наряду с другими достоинствами является причиной их широкого распространения. Однако, как уже отмечалось, ключ на биполярных транзисторах на сегодняшний день обладает лучшими как ключевыми, так и частотными свойствами. Это является предпосылкой к постоянному поиску новых схемотехнических решений для реализации биполярных ИС. Такой поиск привел к почти одновременной разработке фирмами Philips и IBM элемента интегральной инжекционной логики (И2Л). Срез топологии и соответствующая ему принципиальная электрическая схема БЛЭ И2Л приведены рис. 8.13 (а, б). 94 Рис. 8.13. Срез топологии (а) и принципиальная электрическая схема БЛЭ (б) И2Л Особенностью элементов И2Л является: 1) отсутствие резисторов, что резко упрощает технологию производства ИС; 2) использование токового принципа питания, при котором в ИС задается не напряжение, а ток, который непосредственно инжектируется в область полупроводника, образующего структуру одного из транзисторов; 3) пространственное совмещение в кристалле полупроводника областей, функционально принадлежащих различным транзисторам. При этом структура располагается как по горизонтали (планарно), так и по вертикали. Такое решение позволяет отказаться от применения специальных решений для отделения областей, принадлежащих различным элементам, как это необходимо делать в элементах ТТЛ и ЭСЛ; 4) малое значение логического перепада, что позволяет максимально увеличить быстродействие элемента. В приведенной схеме (рис. 8.13(б)) многоколлекторный транзистор VT2 выполняет функцию инвертирования входного сигнала, а транзистор VT1 генератора (инжектора) базового тока транзистора VT2. К особенностям элемента следует отнести и постоянство тока инжектора во всех режимах работы элемента. Ток инжектора задается резистором R, который, как правило, выполняется общим на группу элементов. Из рис. 8.13(а) видно, что транзистор VT1 образован планарной структурой, а многоколлекторный транзистор VT2 - вертикальной структурой. Причем, так как площадь каждого коллектора транзистора VT2 меньше площади его эмиттера, этот транзистор, по сути, работает в инверсном режиме, что способствует уменьшению его напряжения насыщения. Все сказанное позволило разместить весь элемент И2Л на площади, занимаемой в схеме ТТЛ одним многоэмиттерным транзистором. Важной особенностью элемента И2Л является возможность, варьируя ток инжектора в широких пределах, изменять его быстродействие. Реально ток инжектора может изменяться от 1 нА до 1 мА, т. е. на 6 порядков. А поскольку при заданной схемотехнике энергия переключения элемента - величина постоянная, в таких же пределах может изменяться и быстродействие элемента. Важно, что для этого не требуется никаких схемотехнических изменений в элементе. Принцип действия схемы И2Л заключается в следующем. Допустим, внешний сигнал на входе элемента (база транзистора VT2) отсутствует, что соответствует сигналу лог. 1. В этом случае ток инжектора, втекая в базу транзистора VT2, насыщает его. На его коллекторах, а следовательно, и на выходных выводах элемента присутствует напряжение низкого уровня, равное напряжению насыщения транзистора VT2. Реально это 0,1 В ... 0,2 В. Если база транзистора VT2 непосредственно или через насыщенный транзистор подключена к общей шине, то выполняется условие Uвх
«Цифровая электроника» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 661 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot