Преобразователи кодов

ISBN

ЦИФРОВЫЕ И МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА

 

Конспект лекций

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

2–45 01 03 – Сети телекоммуникаций,

2–45 01 02 – Системы радиосвязи, радиовещания и телевидения

 

В 5 частях

 

Часть 2

 

Функциональные узлы комбинационных цифровых устройств

 

Минск


УДК 81.332

ББК 32.97

Ц 75

 

 

Рекомендовано к изданию

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

03 ноября 2011 г., протокол № 3

 

Составитель

В. И. Богородов, преподаватель высшей категории кафедры информатики и вычислительной техники

 

Рецензент

Е. В. Новиков, канд. техн. наук, доцент

кафедры информатики и вычислительной техники,

 

 

  Ц75 Цифровые и микропроцессорные устройства : конспект лекций для студентов специальностей 2-45 01 03 – Сети телекоммуникаций, 2-45 01 02 – Системы радиосвязи, радиовещания и телевидения. В 5 ч. Ч. 2: Функциональные узлы комбинациооных цифровых устройств / сост. В. И. Богородов. – Минск : УО ВГКС, 2011. – 59 с. ISBN   Рассматриваются общие принципы построения комбинационных цифровых устройств, способы схемотехнической реализации логических функций, а также узлы комбинационных цифровых устройств. Предназначено для студентов и преподавателей колледжа.   УДК 81.332 ББК 32.97

 

©Учреждение образования

Высший государственный

колледж связи, 2011

 

 


ВВЕДЕНИЕ

 

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

Приводятся условные графические обозначения (УГО) типовых узлов КЦУ по ГОСТ 2.743-91 ЕСКД, указывается их определение, назначение, принцип построения и работы.

 

Общие принципы построения комбинационных цифровых устройств. Способы борьбы с «опасными состязаниями»

 

Как известно, функциональные узлы цифровых устройств (ЦУ) делятся на комбинационные и последовательностные. Выходные сигналы КЦУ зависят только от текущего значения входных сигналов (аргументов). Предыдущие значения аргументов значения не имеют. При поступлении входных сигналов в КЦУ начинаются переходные процессы. После их завершения на выходах КЦУ устанавливаются выходные сигналы, на которые характер переходных процессов влияния не оказывает. С этой точки зрения переходные процессы в КЦУ не опасны. Но в цифровых устройствах КЦУ работают совместно с ПЦУ, что кардинально меняет ситуацию. Во время переходных процессов на выходе КЦУ появляются временные сигналы, не предусмотренные таблицей истинности и называемые рисками. После окончания переходных процессов они исчезают, и выходные сигналы КЦУ приобретают значения, предусмотренные логическими функциями, описывающими работу устройства. Однако во время переходных процессов риски могут быть восприняты элементами памяти ПЦУ, необратимое изменение состояния которых может радикально изменить работу цифрового устройства, несмотря на исчезновение сигналов рисков на выходах КЦУ после завершения переходных процессов. Это явление называется «опасными состязаниями» и появляется из-за того, что к выходному логическому элементу сигналы поступают не одновременно из-за различных задержек сигналов в разных цепях схемы.

Различают статические и динамические риски. Статические риски – это кратковременное изменение сигнала, который должен был бы оставаться неизменным (единичным или нулевым). Если согласно логике работы КЦУ состояние выхода должно измениться, но вместо однократного перехода происходят многократные, то имеют место динамические риски. При динамических рисках первый и последний переходы всегда совпадают с алгоритмическими, предусмотренными логикой работы схемы. Статические риски такого свойства не имеют и считаются более опасными.

Простейший пример на рисунке 1 соответствует выработке функции «константа 1» по формуле . В статике при любом значении x на одном из входов элемента И-НЕ имеется логический нуль, обеспечивающий единичное значение на выходе. При переходных процессах возможен статический риск.

 

 

Рисунок 1 – Логическая схема, поясняющая механизм возникновения статического риска в КЦУ (а) и временные диаграммы ее работы (б, в и г)

 

 

Окончание рисунка 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.

 

 

Рисунок 2 – Условное графическое обозначение двоичного дешифратора со входом разрешения

 

УГО дешифратора представляет собой прямоугольник с буквами DC во внутреннем поле (от англ. Decoder). Входы дешифратора принято обозначать их двоичными весовыми коэффициентами, следовательно, на вход x1 подается младший разряд (МР) входного слова. Кроме информационных входов дешифратор обычно имеет один или более входов разрешения работы, обозначаемых как (от англ. Enable). При наличии разрешения по этому входу () дешифратор выполняет свою функцию, при его отсутствии () все выходы дешифратора пассивны (таблица 1). Если входов разрешения несколько, то общий сигнал разрешения работы образуется как конъюнкция сигналов отдельных входов. Часто дешифратор имеет инверсные выходы. В этом случае только один выход имеет нулевое значение, а все остальные – единичное.

Принцип работы данного дешифратора поясняется следующей таблицей истинности (таблица 1).

 

 

Таблица 1 – Таблица истинности двоичного дешифратора

 

Логические аргументы Логические функции
x2 x1 y0 y1 y2 y3
x x
Примечание – Знаком «x» обозначен произвольный сигнал (0 или 1).

 

По данным таблицы 1 запишем систему логических функций (конъюнкций) в СДНФ, описывающих работу дешифратора:

 

(1)

 

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

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

 

 

Рисунок 3 – Логическая схема двоичного дешифратора со входом разрешения

 

В схеме дешифратора на рисунке 3 проведена проверка правильности функционирования для входного слова 11 при наличии разрешения работы (). Так как возбуждён выход y3, то схема работает в соответствии с таблицей истинности (таблица 1).

Быстродействие такого дешифратора оценивается величиной TDC (1) = 3 tзд. ЛЭ, а затраты оборудования ЕDC (1) = 17 условных транзисторов.

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

Схема дешифратора на рисунке 3 называется одноступенчатой (без учета инверторов) или прямоугольной. Возможность строить многоступенчатые дешифраторы появляется при числе входных переменных n ≥ 3. Очевидно, что осуществление принципа многоступенчатости приводит к уменьшению быстродействия. Вместе с тем значительно уменьшаются затраты оборудования и снижаются требования к конъюнкторам по числу входов. Идея многоступенчатого построения дешифратора исходит из того, что в алгебре логики действует сочетательный (ассоциативный) закон и любую элементарную конъюнкцию ранга r ≥ 3 можно представить в виде двух (или нескольких) конъюнкций меньшего ранга, например:

 

(2)

 

Рассмотрим методику построения двухступенчатого дешифратора при n = 4. В качестве исходного примем классическое описание одноступенчатого дешифратора системой логических функций, заданных в СДНФ:

 

(3)

 

Введём новые обозначения:

 

(4)

 

Подставим функции (4) в равенства (3). Получим:

 

(5)

 

Из логических функций (4) и (5) следует, что логическая схема двухступенчатого дешифратора при n = 4 состоит из двух двухвходовых одноступенчатых дешифраторов и линейки из 2n = 16 двухвходовых конъюнкторов (рисунок 4). При наличии входа разрешения работы выходные конъюнкторы должны быть трехвходовыми (цепи для организации входа разрешения работы показаны на рисунке 4 штриховой линией).

 

 

Рисунок 4 – Упрощённая логическая схема двухступенчатого дешифратора при n = 4

 

Быстродействие такого дешифратора оценивается величиной TDC (2) = 4 tзд. ЛЭ, а затраты оборудования ЕDC (2) = 81 условных транзисторов1.

Конкретные расчёты показывают, что при n=4 затраты оборудования на одноступенчатый вариант дешифратора со входом разрешения составляют ЕDC (3) = 89 условных транзисторов. При больших величинах n экономия оборудования получается весьма существенной. При необходимости дешифраторы можно строить и с большим числом ступеней.

В сериях интегральных микросхем стандартной логики представлены дешифраторы с числом входов n = 2, 3 и 4.

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

На рисунке 5 приведена схема дешифрации пятиразрядного двоичного кода с помощью дешифраторов на три и два входа.

Для получения нужных 32 выходов составляется столбец из четырёх дешифраторов «3-8». Дешифратор «2-4» принимает два старших разряда входного слова. Возбуждённый нулевой выход этого дешифратора разрешает работу одного из дешифраторов столбца. Выбранный дешифратор столбца расшифровывает три младших разряда входного слова.

 

 

Рисунок 5 – Схема наращивания разрядности двоичного дешифратора

 

Каждому входному слову соответствует возбуждение только одного выхода. Например, при дешифрации слова x16x8x4x2x1=11001(2)=25(10) на входы дешифратора первого яруса поступает код 11, возбуждающий его выход номер три, что разрешает работу дешифратора DC4.

На входах DC4 действует код 001, поэтому нуль появится на его первом выходе, то есть на выходе y25 схемы в целом, что и требуется.

Общее разрешение или запрещение работы схемы осуществляется по входу дешифратора первого яруса DC5.

 

Шифраторы

 

Шифратором называется КЦУ, которое преобразует двоичные слова из унитарного кода в позиционный.

Таким образом, шифрация является операцией, обратной дешифрации. При возбуждении одного из входов шифратора на его выходе формируется двоичный код номера возбуждённой входной линии. Двоичный шифратор имеет 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) разрешает работу данного шифратора, а единичное – запрещает. Нулевое значение сигнала на выходе отмечает наличие возбужденного входа у данного шифратора.

 

 

Рисунок 9 – Условное графическое обозначение микросхемы приоритетного шифратора К555ИВ1

 

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

 

 

Преобразователем кодов (ПК) называют КЦУ, которое преобразует n-разрядные двоичные выходные слова. Иногда ПК называют n, m – преобразователями. Рассмотренные ранее дешифраторы и шифраторы являются ПК некоторых частных видов, например, их можно использовать для преобразования чисел из одной позиционной системы счисления в другую.

Построение схемы ПК рассмотрим на конкретном примере. Пусть требуется построить преобразователь четырехразрядных двоично-десятичных цифр из кода 8421 в код 2421. УГО такого ПК представлено на рисунке 10.

 

 

Рисунок 10 – Условное графическое обозначение преобразователя кода 8421 в код 2421

 

Соотношение входных и выходных слов задано таблицей истинности (таблица 3).

 

Таблица 3 – Таблица истинности преобразователя кода 8421 в код 2421

 

Логические аргументы Промежуточная переменная Логические функции
x4 x3 x2 x1 zi y4 y3 y2 y1
z0
z1
z2
z3
z4
z5
z6
z7
z8
z9

 

Имея таблицу истинности можно использовать три подхода к синтезу ПК:

– преобразователь синтезируется как однокомпонентная минимизированная комбинационная схема с нерегулярной структурой (по общим правилам синтеза КЦУ);

– преобразователь синтезируется как слабо минимизированная комбинационная схема с частично регулярной структурой (на основе шифратора и дешифратора);

– преобразователь синтезируется как неминимизированная комбинационная схема с регулярной структурой (на основе постоянного запоминающего устройства).

Рассмотрим первый традиционный подход. По данным таблицы 3 заполним карты Карно (рисунок 11).

 

 

Рисунок 11 – Карты Карно для преобразователя кода 8421 в код 2421

Выполним соответствующие объединения заполненных клеток на рисунке 11 с учетом неопределенностей и запишем результаты минимизации в МДНФ:

 

(8)

 

Далее по функциям системы (8) методом прямого замещения построим логическую схему ПК (рисунок 12).

На рисунке 12 проведена проверка правильности функционирования схемы для входного слова 0011. Так как на выходах схемы установилось выходное слово 0011, то ПК функционирует в соответствии с таблицей 3.

К достоинству первого подхода относится экономичность синтезируемой схемы по аппаратурным затратам, исчисляемым в условных транзисторах. Это означает, что схема будет занимать небольшую часть площади кристалла. Оценка схемы на рисунке 12 дает величину ЕПК (1) = 23 условных транзистора.

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

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

Левая и центральная части таблицы 3 представляют собой описание дешифратора, а правая и центральная части представляют собой таблицу кодирования некоторого шифратора. Таким образом, схема ПК в данном случае приобретает двухкомпонентную структуру вида «десятичный дешифратор - шифратор» (рисунок 13). Она несколько сложнее схемы на рисунке 12 (ЕПК(2)=77 условных транзисторов), но значительно проще для обозрения.

 

 

Рисунок 12 – Логическая схема ПК 8421 в код 2421 в основном базисе

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

 

 

Рисунок 13 – Преобразователь кода с частично регулярной структурой

 

Третий подход позволяет значительно повысить регулярность структуры ПК и одновременно существенно расширить его функциональные возможности. В этом случае запрещается использовать специализированные компоненты. Таким образом, ПК должен содержать полный двоичный n-входной дешифратор и 2n-входной шифратор. В результате получается постоянное запоминающее устройство (ПЗУ). Следовательно, ПЗУ – это n, m-преобразователь с двухкомпонентной регулярной структурой, на выходе которого включен шифратор, формирующий m-разрядные слова.

Входное слово ПК в этом случае является адресом ячейки ПЗУ, в которой хранится соответствующее выходное слово. УГО ПК на ПЗУ представлено на рисунке 14. Оно представляет собой прямоугольник с n входами и m выходами, во внутреннем поле которого записана аббревиатура ROM (от англ. Read Only Memory).

 

 

Рисунок 14 – Преобразователь кода на основе ПЗУ

 

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