Функциональные узлы комбинационных цифровых устройств
ЦИФРОВЫЕ И МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА
Конспект лекций
для студентов специальностей
2-45 01 33 – Сети телекоммуникаций
2-45 01 32 – Системы радиосвязи, радиовещания и телевидения
В 5 частях
Часть 2
Функциональные узлы комбинационных цифровых устройств
Минск
УДК 81.332
ББК 32.97
Ц75
Рекомендовано к изданию
кафедрой информатики и вычислительной техники
03 ноября 2011 г., протокол № 3
Составитель
В. И. Богородов, преподаватель высшей категории кафедры информатики и вычислительной техники
Рецензент
Е. В. Новиков, канд. техн. наук, доцент
кафедры информатики и вычислительной техники
Ц75 | Цифровые и микропроцессорные устройства : конспект лекций для студентов специальностей 2-45 01 03 – Сети телекоммуникаций, 2-45 01 02 – Системы радиосвязи, радиовещания и телевидения. В 5 ч. Ч. 2 : Функциональные узлы комбинациооных цифровых устройств / сост. В. И. Богородов. – Минск : УО ВГКС, 2011. – 47 с. ISBN Рассматриваются общие принципы построения комбинационных цифровых устройств, способы схемотехнической реализации логических функций, а также узлы комбинационных цифровых устройств. Предназначено для студентов и преподавателей колледжа. УДК 81.332 ББК 32.97 |
ISBN©Учреждение образования
Высший государственный
колледж связи, 2011
ВВЕДЕНИЕ
Во второй части конспекта лекций рассматриваются общие принципы построения комбинационных цифровых устройств (КЦУ), а также способы борьбы с «опасными состязаниями» и способы схемотехнической реализации логических функций.
Приводятся условные графические обозначения (УГО) функциональных узлов КЦУ по ГОСТ 2.743-91 ЕСКД, указывается их определение, назначение, принцип построения и работы.
В конспекте обсуждаются способы наращивания разрядности дешифраторов-демультиплексоров, мультиплексоров, компараторов; указываются достоинства и недостатки различных вариантов схемотехнической реализации функциональных узлов КЦУ, даются примеры их практического применения в цифровой схемотехнике, а также рассмотрены примеры микросхем стандартной логики.
ФУНКЦИОНАЛЬНЫЕ УЗЛЫ КОМБИНАЦИОННЫХ
ЦИФРОВЫХ УСТРОЙСТВ
Общие принципы построения комбинационных цифровых устройств. Способы борьбы с «опасными состязаниями»
Как известно, функциональные узлы цифровых устройств (ЦУ) делятся на комбинационные и последовательностные. Выходные сигналы КЦУ зависят только от текущего значения входных сигналов (аргументов). Предыдущие значения аргументов значения не имеют. При поступлении входных сигналов в КЦУ начинаются переходные процессы. После их завершения на выходах КЦУ устанавливаются выходные сигналы, на которые характер переходных процессов влияния не оказывает. С этой точки зрения переходные процессы в КЦУ не опасны. Но в цифровых устройствах КЦУ работают совместно с ПЦУ, что кардинально меняет ситуацию. Во время переходных процессов на выходе КЦУ появляются временные сигналы, не предусмотренные таблицей истинности и называемые рисками. После окончания переходных процессов они исчезают, и выходные сигналы КЦУ приобретают значения, предусмотренные логическими функциями, описывающими работу устройства. Однако во время переходных процессов риски могут быть восприняты элементами памяти ПЦУ, необратимое изменение состояния которых может радикально изменить работу цифрового устройства, несмотря на исчезновение сигналов рисков на выходах КЦУ после завершения переходных процессов. Это явление называется «опасными состязаниями» и появляется из-за того, что к выходному логическому элементу сигналы поступают неодновременно из-за различных задержек сигналов в разных цепях схемы.
Различают статические и динамические риски. Статические риски – это кратковременное изменение сигнала, который должен был бы оставаться неизменным (единичным или нулевым). Если согласно логике работы КЦУ состояние выхода должно измениться, но вместо однократного перехода происходят многократные, то имеют место динамические риски. При динамических рисках первый и последний переходы всегда совпадают с алгоритмическими, предусмотренными логикой работы схемы. Статические риски такого свойства не имеют и считаются более опасными.
Простейший пример на рисунке 1 соответствует выработке функции «константа 1» по формуле . В статике при любом значении x на одном из входов элемента И-НЕ имеется логический нуль, обеспечивающий единичное значение на выходе. При переходных процессах возможен статический риск.
Рисунок 1 – Логическая схема, поясняющая механизм возникновения статического риска в КЦУ (а) и временные диаграммы ее работы (б, в и г)
Не учитывая задержку элемента 3, которая здесь не играет роли, рассмотрим временные диаграммы переходных процессов для случаев равенства задержек элементов 1 и 2 (рисунок 1 а), а также их неравенства, показанные на рисунке 1 в и г. Из временных диаграмм следует, что при различных задержках элементов возникает статический риск после положительного или отрицательного перепадов входного сигнала в зависимости от того, задержка какого элемента больше.
Для исключения возможных сбоев в работе ЦУ из-за «опасных состязаний» имеются два пути.
Первый путь состоит в синтезе схем, свободных от рисков, и требует сложного анализа процессов в схеме и введения избыточных логических элементов для выравнивания задержек в различных цепях схемы с целью исключения рисков. Этот путь редко используется на практике.
Второй путь, основной для современной цифровой схемотехники, предусматривает запрещение восприятия сигналов КЦУ элементами памяти ПЦУ на время переходных процессов. Прием информации с выходов КЦУ разрешается только специальным сигналом синхронизации, подаваемым на элементы памяти после окончания переходных процессов в КЦУ. Таким образом, исключается воздействие ложных сигналов на элементы памяти. Такие ЦУ называются синхронными.
Для определения временного интервала, на котором проходят переходные процессы, следует оценить задержки на путях распространения сигналов от входов к выходам КЦУ. В общем случае нужно оценить задержку сигнала на самом коротком и на самом длинном путях.
Способы схемотехнической реализации логических функций
Схемотехническая реализация логических функций возможна различными способами. В современной цифровой схемотехнике имеются следующие средства:
– логические блоки, собираемые из логических элементов некоторого базиса (SLC, Small Logic Cells). Синтез КЦУ на логических блоках SLC, т.е. на вентильном уровне, является самым традиционным и изученным (термином «вентиль» называют базовые логические элементы, например, элементы И-НЕ с двумя-тремя входами);
– логические блоки в виде последовательности матриц логических элементов И и ИЛИ (PLA, Programmable Logic Array; PAL, Programmable Array Logic). Логические блоки с матрицами элементов И и ИЛИ воспроизводят системы логических функций и имеют параметры: число входов (число аргументов воспроизводимых функций), число выходов (число функций) и число термов (конъюнкций). Если сложность логической функции превышает возможности логического блока, то функцию следует минимизировать с целью сокращения числа термов;
– универсальные логические блоки на основе мультиплексоров (рассмотрены ниже после ознакомления с мультиплексорами);
– логические блоки табличного типа (LUTS, Look-Up Tables). В этом случае совершенная дизъюнктивная нормальная форма (СДНФ) является окончательным выражением логической функции. Табличный блок представляет собой память, в которой имеется столько ячеек, сколько необходимо для хранения всех значений функций, т.е. 2n, где n – число аргументов функции. Набор аргументов является адресом той ячейки, в которой хранится значение функции на этом наборе. СДНФ как раз и содержит все адреса, по которым нужно хранить единичные значения функции. Если логическая функция выражена в какой-либо сокращенной форме, то ее следует перевести в СДНФ. Если требуется воспроизвести n функций, то в каждой ячейке следует хранить n бит (по одному биту для каждой функции).
Дешифраторы
Дешифратором называется КЦУ, которое служит для преобразования n-разрядных слов из двоичного позиционного кода в двоичный унитарный код. Унитарным называется двоичный код, в котором каждое слово содержит единицу только в одном из своих разрядов, а в остальных разрядах имеет нули. Таким образом, в зависимости от входного двоичного кода на выходе дешифратора возбуждается одна и только одна из выходных цепей.
Из сказанного следует, что двоичный дешифратор, имеющий n входов, должен иметь 2n выходов. Такой дешифратор называется полным. Если часть входных наборов не используется, то дешифратор называется неполным, и у него число выходов меньше 2n. Например, неполный дешифратор, имеющий четыре входа и десять выходов, называется десятичным. Такой дешифратор является частным случаем полного двоичного дешифратора на четыре входа и шестнадцать выходов и выполняет дешифрацию двоичнокодированных десятичных цифр.
Принцип построения двоичных дешифраторов рассмотрим на примере синтеза полного дешифратора на два входа (n = 2). Условное графическое обозначение (УГО) такого дешифратора со входом разрешения представлено на рисунке 2.
УГО дешифратора представляет собой прямоугольник с буквами DC во внутреннем поле (от англ. Decoder). Входы дешифратора принято обозначать их двоичными весовыми коэффициентами, следовательно, на вход x1 подается младший разряд (МР) входного слова. Кроме информационных входов, дешифратор обычно имеет один или более входов разрешения работы, обозначаемых как (от англ. Enable). При наличии разрешения по этому входу ( ) дешифратор выполняет свою функцию, при его отсутствии ( ) все выходы дешифратора пассивны (таблица 1). Если входов разрешения несколько, то общий сигнал разрешения работы образуется как конъюнкция сигналов отдельных входов. Часто дешифратор имеет инверсные выходы. В этом случае только один выход имеет нулевое значение, а все остальные – единичное.
Рисунок 2 – Условное графическое обозначение двоичного дешифратора со входом разрешения
Принцип работы данного дешифратора поясняется следующей таблицей истинности (таблица 1).
Таблица 1 – Таблица истинности двоичного дешифратора
Логические аргументы | Логические функции | |||||
x2 | x1 | y0 | y1 | y2 | y3 | |
x | x | |||||
Примечание – Знаком «x» обозначен произвольный сигнал (0 или 1). |
По данным таблицы 1 запишем систему логических функций (конъюнкций) в СДНФ, описывающих работу дешифратора:
(1)
Минимизация в данном случае не нужна вследствие простоты полученных выражений.
Схемотехническая реализация дешифратора представляет собой совокупность конъюнкторов (или логических элементов И-НЕ в дешифраторах с инверсными выходами), не связанных между собой. Каждый конъюнктор (или элемент И-НЕ) вырабатывает одну из выходных функций (рисунок 3). На рисунке 3 дешифратор снабжен инверторами для выработки парафазных входных сигналов из однофазных (прямых), причем прямая входная переменная непосредственно в схеме не используется, а вырабатывается повторно как двойная инверсия от входной. Это сделано для того, чтобы максимально разгрузить источник входного сигнала и повысить быстродействие устройства.
В схеме дешифратора на рисунке 3 проведена проверка правильности функционирования для входного слова 11 при наличии разрешения работы ( ). Так как возбужден выход y3, то схема работает в соответствии с таблицей истинности (таблица 1).
Быстродействие такого дешифратора оценивается величиной TDC (1) = 3 tзд. ЛЭ, а затраты оборудования ЕDC (1) = 17 условных транзисторов.
Примечание - Как известно, затраты оборудования, или сложность схемы по Квайну, оцениваются общим числом входов всех логических элементов либо числом условных транзисторов.
Схема дешифратора на рисунке 3 называется одноступенчатой (без учета инверторов) или прямоугольной. Возможность строить многоступенчатые дешифраторы появляется при числе входных переменных n ≥ 3. Очевидно, что осуществление принципа многоступенчатости приводит к уменьшению быстродействия. Вместе с тем значительно уменьшаются затраты оборудования и снижаются требования к конъюнкторам по числу входов. Идея многоступенчатого построения дешифратора исходит из того, что в алгебре логики действует сочетательный (ассоциативный) закон и любую элементарную конъюнкцию ранга r ≥ 3 можно представить в виде двух (или нескольких) конъюнкций меньшего ранга, например:
(2)
Рисунок 3 – Логическая схема двоичного дешифратора со входом разрешения
Рассмотрим методику построения двухступенчатого дешифратора при n = 4. В качестве исходного примем классическое описание одноступенчатого дешифратора системой логических функций, заданных в СДНФ:
(3)
Введем новые обозначения:
(4)
Подставим функции (4) в равенства (3). Получим
(5)
Из логических функций (4) и (5) следует, что логическая схема двухступенчатого дешифратора при n = 4 состоит из двух двухвходовых одноступенчатых дешифраторов и линейки из 2n = 16 двухвходовых конъюнкторов (рисунок 4). При наличии входа разрешения работы выходные конъюнкторы должны быть трехвходовыми (цепи для организации входа разрешения работы показаны на рисунке 4 штриховой линией).
Быстродействие такого дешифратора оценивается величиной TDC (2) = = 4 tзд. ЛЭ, а затраты оборудования ЕDC (2) = 81 условных транзисторов.
Рисунок 4 – Упрощенная логическая схема двухступенчатого дешифратора при n = 4
Конкретные расчеты показывают, что при n=4 затраты оборудования на одноступенчатый вариант дешифратора со входом разрешения составляют ЕDC (3) = 89 условных транзисторов. При больших величинах n экономия оборудования получается весьма существенной. При необходимости дешифраторы можно строить и с большим числом ступеней.
В сериях интегральных микросхем стандартной логики представлены дешифраторы с числом входов n = 2, 3 и 4.
Например, микросхема 1554ИД14 содержит два дешифратора «2-4» с разрешающими входами и инверсией на выходе [5].
Из малоразрядных дешифраторов можно построить схему, эквивалентную дешифратору большей разрядности. Для этого входное слово делится на поля. Разрядность поля младших разрядов соответствует числу входов имеющихся дешифраторов. Оставшееся поле старших разрядов служит для получения сигналов разрешения работы одного из дешифраторов, декодирующих поле младших разрядов.
На рисунке 5 приведена схема дешифрации пятиразрядного двоичного кода с помощью дешифраторов на три и два входа.
Для получения нужных 32 выходов составляется столбец из четырех дешифраторов «3-8». Дешифратор «2-4» принимает два старших разряда входного слова. Возбужденный нулевой выход этого дешифратора разрешает работу одного из дешифраторов столбца. Выбранный дешифратор столбца расшифровывает три младших разряда входного слова.
Каждому входному слову соответствует возбуждение только одного выхода. Например, при дешифрации слова x16x8x4x2x1=11001(2)=25(10) на входы дешифратора первого яруса поступает код 11, возбуждающий его выход номер три, что разрешает работу дешифратора DC4.
На входах DC4 действует код 001, поэтому нуль появится на его первом выходе, т.е. на выходе y25 схемы в целом, что и требуется.
Общее разрешение или запрещение работы схемы осуществляется по входу дешифратора первого яруса DC5.
Рисунок 5 – Схема наращивания разрядности двоичного дешифратора
Шифраторы
Шифратором называется КЦУ, которое преобразует двоичные слова из унитарного кода в позиционный.
Таким образом, шифрация является операцией, обратной дешифрации. При возбуждении одного из входов шифратора на его выходе формируется двоичный код номера возбужденной входной линии. Двоичный шифратор имеет 2n входов и n выходов.
Приоритетные шифраторы выполняют более сложную операцию. При работе ЭВМ и в других устройствах часто решается задача определения приоритетного претендента на использование какого-либо ресурса. Несколько конкурентов выставляют свои запросы на обслуживание, которые не могут быть удовлетворены одновременно. Нужно выбрать того, кому предоставляется право первоочередного обслуживания. Простейший вариант решения указанной задачи – присвоение каждому источнику запросов фиксированного уровня приоритета. Например, группа восьми запросов R7-R0 (R от англ Request) формируется так, что высший приоритет имеет источник R7, а далее уровень приоритета уменьшается от номера к номеру. Самый младший приоритет у источника R0: он будет обслуживаться только при отсутствии всех других запросов. Если имеется одновременно несколько запросов, то обслуживается запрос с наибольшим номером Приоритетный шифратор вырабатывает на выходе двоичный номер старшего запроса.
Принцип построения двоичных шифраторов рассмотрим на примере синтеза полного шифратора на два выхода (n = 2). УГО такого шифратора представлено на рисунке 6.
УГО шифратора представляет собой прямоугольник с буквами CD во внутреннем поле (от английского Coder). Принцип работы данного двоичного шифратора поясняется следующей таблицей истинности (таблица 2).
Рисунок 6 – Условное графическое обозначение двоичного шифратора
Таблица 2 – Таблица истинности двоичного шифратора
Логические аргументы | Логические функции | ||||
y0 | y1 | y2 | y3 | x2 | x1 |
По данным таблицы 2 запишем логические функции в СДНФ, определяющие работу шифратора:
(6)
Очевидно, что в таблице 2 двенадцать наборов аргументов запрещены, следовательно, значения функций x1 и x2 на этих наборах являются неопределенными. Как известно, наличие неопределенностей может привести к улучшению минимизации функций. Построим карты Карно для функций x1 и x2 (рисунок 7).
Рисунок 7 – Карты Карно для двоичного шифратора
Карты Карно позволяют получить минимальные формы исходных функций:
(7)
Полученный результат минимизации можно распространить на любую функцию, описывающую некоторый шифратор. Таким образом, из логической функции (7) и таблицы 2 следует, что логическая функция для выходов шифратора представляет собой дизъюнкцию входных аргументов yi (i=0,1,2,3), для которых значение функции равно единице.
Логическая схема двоичного шифратора, построенная по функциям (7), показана на рисунке 8.
В схеме шифратора на рисунке 8 проведена проверка правильности функционирования, если возбужден вход y2.
Так как на выходе шифратора слово 10, то схема функционирует в соответствии с таблицей истинности (таблица 2).
Рисунок 8 – Логическая схема двоичного шифратора
Быстродействие такого шифратора оценивается величиной задержки одного дизъюнктора TCD = tзд. ЛЭ, а затраты оборудования ЕCD = 4 условных транзистора.
Если шифратор имеет инверсные входы, то возбужденный вход имеет нулевое значение, а все остальные – единичное.
В сериях интегральных микросхем стандартной логики имеются приоритетные шифраторы восьмиразрядных и десятиразрядных слов. Например, микросхема К555ИВ1 схемотехники ТТЛШ содержит приоритетный шифратор «8-3» (рисунок 9).
Шифратор К555ИВ1 имеет инверсные информационные входы y0 – y7 и выходы x1, x2, x4, т.е. на выходах формируется обратный код. Нулевое значение сигнала на разрешающем входе (от англ. Enable Input) разрешает работу данного шифратора, а единичное – запрещает. Нулевое значение сигнала на выходе отмечает наличие возбужденного входа у данного шифратора.
Нулевое значение сигнала на выходе (от англ. Enable Output) вырабатывается при отсутствии возбужденных входов у данного шифратора для разрешения работы следующего (младшего) шифратора при соединении нескольких микросхем с целью наращивания числа входов и выходов.
Рисунок 9 – Условное графическое обозначение микросхемы приоритетного
шифратора К555ИВ1