
книги из ГПНТБ / Потемкин, И. С. Построение функциональных узлов на потенциальных системах элементов учебное пособие
.pdfвходовую конъюнкцию поразрядных схем сравнения прихо дится выполнять многокаскадной, например, как показано на рис. 7. Компаратор — быстрый функциональный узел. Все разряды сравниваемых чисел обрабатываются одновременно, каждый независимо от других, и общая задержка схемы на ходится в пределах 3-^5т.
Г л а в а 4
ПРЕОБРАЗОВАТЕЛИ КОДА
4-1. Преобразователи кода
В цифровых устройствах возникает необходимость переко дирования чисел, т. е. представления их каким-то другим кодом. Узлы-переводчики, выполняющие эти функции, назы ваются кодовыми преобразователями. Если преобразования
п
Рис. 37. Кодовый преобразователь сегментного индикатора
сложные, то преобразователи, выполняющие их, как прави ло, не поддаются достаточно простой классификации, и их схемы приходится разрабатывать каждый раз индивидуаль но, используя общие приемы алгебры логики. В качестве примера на рис. 37 показаны условное изображение и таб лица соответствия одного из распространенных видов кодо вого преобразователя — преобразователя семисегментного индикатора. Сам индикатор — это прибор с плоской поверх ностью, служащий для получения визуального изображения десятичных цифр. Он содержит 7 линейных сегментов, кото рые светятся, если к ним подведено напряжение. Конфигу рация сегментов показана на рис. 37. Подавая сигналы на соответствующие сегменты, можно получить светящееся изо бражение любой десятичной цифры. Так, для получения единицы нужно зажечь сегменты 3 и 4, двойки-сегменты 2, 3,
59
5, 6, 7 и т. д. Задача кодового преобразователя, управляю- щего-индикатором,—перекодировать поступающий на его вход двоичный код десятичной цифры в соответствующий набор выходных сигналов. Составьте таблицу соответствия входов и выходов преобразователя и постройте его в любой извест ной Вам системе элементов. В данном случае нужно стре миться к минимуму Q, не заботясь о Т, так как время пе реключения полупроводниковых элементов и время реакции человека несоизмеримы. Удалось ли Вам использовать вы ходные сигналы некоторых разрядов для сокращения обо рудования при отработке функций на других выходах? Всег да ли выгодно выносить за скобки абсолютно все общие множители, или лучше где-то остановиться?
4-2. Дешифраторы. Линейный дешифратор
Дешифратор (Дш) (декодер)— самый распространенный вид кодового преобразователя. Он превращает двоичный код в одинарный. Другими словами, дешифратор — это функцио нальный узел с п входами и W выходами, в котором каждо му предусмотренному набору входных сигналов соответст вует один, вполне определенный возбужденный выход. Если Дш использует все возможные двоичные наборы, то, оче видно,
W = 2 n.
Такой Дш будем называть полным в отличие от неполного, использующего лишь часть возможных входных наборов. Необходимость в дешифраторе возникает всякий раз, когда нужно развести сигналы через вентили на несколько возмож ных направлений, причем номер направления представлен двоичным кодом.
Если у Дш входы и выходы упорядочить по возрастаю щим номерам, т. е. считать, что входному коду 0 соответст вует выход № 0, коду 1 — выход № 1 и т. д., то для значе ний выходов полного Дш можно записать W упорядоченных выражений. Пусть, например, п==3, 1F=8. Тогда:
У2 = Х 4В Д
У7= В Д * 1.
60
Реализовав эти 8 выражений с помощью восьми трехвходо вых элементов И, мы получим наиболее простой по структу ре Дш — линейный дешифратор (рис. 38).
На примере линейного Дш рассмотрим несколько момен тов, которые свойственны и другим типам Дш.
Л*',
Уо
Рис. 38. Дешифраторы: а— условное обозначение; б— линейный дешифратор на 8 выходов
1. В приведенных выше выражениях участвуют не только сами входные переменные, но и их инверсии. Соответственно на входы элементов И нужно заводить как прямые, так и инверсные значения входных переменных. Поэтому цепь пе редачи от регистра на дешифратор выполняется парафазной, а при наличии ограничений на число проводов (разъемы, ка бель и т. д.) инверсии входных сигналов получают с по мощью инверторов, которые в этом случае органически вхо дят в состав Дш как функционального узла. Именно такое решение подразумевается на рис. 38,а, поскольку входы по казаны одпопроводные. При этом необходимо помнить, что входные инверторы почти вдвое увеличивают задержку Дш.
2. Строя дешифратор на элементах И—НЕ, мы на выхо дах ДШ получаем не сами функции Yit а их инверсии, т. е. все невыбранные выходы находятся в состоянии 1 , а один выбранный выход — в состоянии 0. Это влечет за собой или необходимость построения схем, подключенных к выходу Дш
61
в «дуальном» варианте, или необходимость установки линей ки из W инверторов на выходах Дш (именно это подразуме вается на рис. 38,а); в противном случае выходы нужно по мечать символами инверсий. При этом глубина схемы увели чивается на 1, а ее задержка, соответственно, на т. А что, если сам Дш построить в дуальном варианте? Как тогда подключать входные переменные? Удастся ли сэкономить на инверторах? На времени задержки? Оцените, какой вари ант Дш — «основной» или «дуальный» будет выгоднее по за тратам оборудования в какой-либо знакомой Вам системе элементов для W— 16, например.
3. При смене кода в регистре, который управляет дешиф ратором, триггеры регистра переключаются на все одновре менно (задержки элементов имеют технологический раз брос). Как будет видно из следующего раздела, это тем бо лее относится к счетчику. Дш, если в него попали «быстрые» элементы, расшифрует не только окончательный, установив шийся код в регистре, но и различные промежуточные его варианты, что породит ложные сигналы последовательно на нескольких выходах Дш. Эти сигналы могут иметь длитель ность достаточную, чтобы вызвать непредвиденную реакцию последующих схем. Разберите схему с этой точки зрения.
Постройте диаграмму сигналов на выходе Дш с № = 8 для случая, когда код в регистре, управляющем этим Дш, изменяется с 0 на 7, а триггеры переключаются в порядке: младший — средний — старший. На каких шинах появятся ложные сигналы? Что изменится, если триггеры сработают в порядке средний—старший—младший?
Для борьбы с помехами Дш необходимо стробировать. Обычно стробом является синхросигнал, следующий после того, который разрешил смену кода в регистре, управляющем дешифратором. За время между указанными синхросигнала ми все переходные процессы в триггерах и Дш должны за кончиться.
На рис. 39 показаны 2 наиболее распространенных вари анта стробирования Дш. Вариант а не вносит лишней за держки, но требует дополнительного входа у схем И—НЕ де шифратора, что может заметно повлиять на Q. Этот вариант хорошо согласуется с общей идеологией тактирования, пока занной на рис. 19. Дш выступает как конкретная реализация комбинационной логической схемы КДС, выход которой стробируется тактом перед приемом в линейку триггеров очередного яруса.
62
Вариант рис. 39,6 основан на том, что на любой выход ной элемент И—НЕ обязательно влияет каждая входная пе ременная, т. е. нет в Дш выходного элемента И—НЕ, к кото рому какая-либо переменная не была бы подключена в пря мой или инверсной форме. Поэтому, если и по прямому, и по инверсному каналам любой входной переменной подадим сразу 2 нуля, мы запрем все элементы И—НЕ дешифратора.
Рис. 39. Стробирование дешифраторов: а — по выходу; б — по входу
На рис. 39,6 показано стробирование по старшему разряду, по использование именно старшего разряда не обязательно. Будем считать, что если Дш стробируется по входу, то необ ходимые для этого вентили органически входят в состав Дш. При условном изображении Дш стробирующий вход будем обозначать буквой С. Приведенные варианты стробирования различаются по Q и Т. Если п больше 3, вариант б эконо мичнее варианта а, но он вносит дополнительную задержку 2т. Кроме того, стробирующий сигнал (синхросигнал) в ва рианте б должен иметь большую длительность, чем в вари анте а, так как за время его действия должны последова тельно сработать 2 элемента, и только после этого начнет пе реключаться элемент самого Дш.
4. Линейный Дш — это группа никак не связанных по вы ходам элементов И. Поскольку элементы И используют так же для управления приемом информации на триггеры любо го регистра и для синхронизации этого приема, можно в од ном многовходовом элементе И, включенном на входе триг гера, объединить функции элемента дешифратора, входного
63
вентиля, разрешающего прием информации с Дш на триг гер, и элемента, привязывающего этот процесс к синхросе рии. Дешифратор распределяется по входным цепям регист ра или даже по входным цепям отдельных триггеров, нахо дящихся в различных местах схемы; элементы, на которых собран Дш, выполняют попутно и другие функции. Он пере стает быть четко ограниченным отдельным узлом. Дешифра тор чаще других функциональных узлов является узлом, ко торый существует, выполняет свои функции, но не представ ляет собой привычного компактного множества элементов.
Читателю будет полезно самостоятельно построить ком бинированный узел, объединяющий функции мультиплексо ра, распределяющего информацию на любое из четырех воз можных направлений (рис. 34) и Дш, управляющего выбо ром направления и собранного на тех же элементах И, что и мультиплексор. Номер направления при этом будет зада ваться уже не одинарным, а двоичным кодом, т. е. управля ющих шин будет не 4, а 2. Сравните по Т и Q полученный комбинированный узел с тривиальным решением, когда уп равляющий Дш и мультиплексор разработаны как незави симые функциональные узлы.
5. В некоторых случаях в Дш используются не все воз можные комбинации входных сигналов. Примером может служить Дш для расшифровки двоично-десятичного кода, в котором используются только 10 комбинаций из 16, причем оставшиеся 6 являются запрещенными — в правильно рабо тающей аппаратуре их быть не может. Из полного Дш всег да можно сделать неполный, просто исключив из него схемы И, которые отрабатывают ненужные комбинации. Однако часто можно найти более экономичное решение, подметив закономерности, которым подчинены используемые комбина ции. Решение этого вопроса в общем виде уводит в область распознавания образов, но в простых ситуациях хорошее ре шение вполне можно получить на основе здравого смысла и преобразований алгебры логики. Так, Дш для цифр 0-ь9 в тривиальном варианте требовал бы 10 четырехвходовых эле ментов И—НЕ (Q=50). Однако несложно построить Дш, в котором на четырехвходовых элементах расшифровываются лишь комбинации 0 и 1. Комбинации 2-т-7 расшифровывают ся на трехвходовых элементах — на их входы поданы лишь 3 младших разряда кода, так как старший всегда равен 0 и, следовательно, не несет информации (с такими же младши ми наборами старший разряд равен 1 лишь на входных на
64
борах № 10ч-15, которые в нашем случае не используются). Наборы 8 и 9 расшифровываются на двухвходовых элементах. На их входы подаются лишь старший и младший раз ряды, поскольку 1 в старшем разряде сразу говорит о том, что эта цифра 8 или 9, и никакая другая. Полученный Дш имеет Q=40, что на 20% меньше, чем оборудование узла, полученного тривиальным вычеркиванием неиспользуемых элементов из дешифратора на 16. Читателю рекомендуется начертить описанный Дш, а также попытаться сократить оборудование в десятичном Дш, расшифровывающем код с избытком 3.
6. Внешним параметром Дш, т. е. параметром, жестко за данным разработчику, является п для полного Дш или спи сок используемых кодов для неполного. Разработчик должен принять во внимание нагрузочную способность триггеров, работающих на Дш (для линейного Дш требуемая величи
на равна W/2), М его системы элементов (если М меньше заданной величины п, создать линейный Дш в классическом виде не удастся), решить, как поступить с инверсными вы ходами, и в зависимости от особенностей тактирующей си стемы выбрать способ стробирования. Поскольку линейный Дш состоит из n-входовых элементов И—НЕ в количестве W штук, основной объем его оборудования можно оценить как
Q =(n+1)№ .
К этой величине необходимо добавить оборудование для стробирования: W при стробировании по выходу или 10 при стробировании по входу (т. е. оборудование двух вентилей и двух инверторов, см. рис. 39). К полученному Q еще может добавиться оборудование выходных инверторов — 2W, если есть одновходовые инверторы, и 3W, если минимальное число входов в данной системе равно 2. Время задержки Т линей ного Дш изменяется от т до 4т в зависимости от способа стробирования и наличия или отсутствия выходных инверто ров.
4-3. Каскадное соединение дешифраторов
На рис. 40 показана группа из 5 Дш, соединенных после довательно в 2 каскада. Все Дш одинаковы. Кроме кодовых входов, каждый Дш имеет стробирующий вход, помеченный буквой С. При С=1 сигнал появляется на выходе Дш, со ответствующем поданной комбинации входных переменных.
5-796 |
65 |
При С = 0 на всех выходах Дш будут нули—Дш заперт. На первый каскад, т. е. на вход DC4 поданы старшие разряды дешифрируемого числа Х4 и Х&, т. е. DC 4 определяет, в какой четверке из возможных 16 вариантов находится избранный выход. По входу С DC4 открывает соответствующий Дш вто рого каскада, а поскольку на остальных выходах DC4 — ну ли, все остальные Дш второго каскада заперты. На кодовые
входы Дш 2-го каскада поступают младшие разряды дешиф рируемого кода. Они расшифровываются на единственном не запертом Дш 2-го каскада, и в результате возбуждается один из 16 выходов, соответствующий коду, поданному на вход. Если, например, на вход подан код Х8Х4Х2Х1= 1001, то у DC4 возбуждается выход № 2, в результате открыт будет лишь DC2, остальные Дш 2-го каскада будут заперты. Млад шие разряды кода ^2^1=01, расшифрованные на DC2, возбу дят его выход № 1, т. е. в результате будет выбран выход № 9, что и соответствует поданному коду. Тем, кто не сов сем четко представляет все сказанное, рекомендуется выпи сать в столбик все возможные 16 комбинаций входных пе
ременных и проследить |
за тем, что |
старшие |
переменные |
|
В Д изменяются лишь через 4 строки, |
т. е. определяют |
но: |
||
мер четверки, а младшие |
переменные Х2Х1 изменяются |
на |
||
каждой строке, но повторяются через 4 строки, |
т. е. они оп |
66
ределяют место внутри четверки независимо от того, кото рая эта четверка.
Подобный принцип можно применять и для других значе ний п. Например, можно построить Дш для W—64 в виде двухкаскадной схемы, разбив входные переменные на 2 груп пы по 3 переменных в группе. В первом каскаде поместим Дш на 8 выходов; он будет выбирать один из восьми Дш второго каскада, имеющих также по 8 выходов каждый. А можно построить трехкаскадный Дш на 64 выхода из одина ковых двухвходовых Дш: представьте себе, что к 16 выхо дам Дш рис. 40 подключен по входам С еще один, третий каскад, управляемый двумя еще более младшими перемен ными и состоящий из 16 таких же двухвходовых Дш, как и показанные на рисунке.
Пределом разбиения является число каскадов, равное п, когда в каждом каскаде остается лишь одна входная пере менная. Такой Дш называется пирамидальным. Пирами дальный Дш требует лишь двухвходовых элементов И, бла годаря чему его раньше широко использовали, так как мно гие старые системы элементов имели М—2. В настоящее время он не применяется из-за большой задержки {глубина его равна п) и неполного использования возможностей сов ременных еистем элементов по М, т. е. неэкономичного рас кола оборудования.
Очевидно, можно разбить входной набор и на неодина ковые группы, когда в разных каскадах Дш находятся Дш с различным числом выходов, и перед разработчиком встает
естественный |
вопрос — нужно ли при |
данном |
W разбивать |
|||
Дш на группы, и если да, то как? |
|
|
|
|||
Рассмотрим следующие соображения: |
|
|
||||
1. |
Пользуясь принципом каскадного соединения Дш, узлы |
|||||
для весьма широкого диапазона |
W можно набирать из стан |
|||||
дартных |
Дш |
небольшого размера. |
Эти |
Дш |
могут быть |
|
оформлены в |
виде отдельных |
типовых |
элементов замены |
(ТЭЗ), на которые уже выпущена документация, и разра ботчику большого Дш необходимо выпускать документацию уже не на весь большой Дш, а только на связи между ТЭЗ, что значительно проще. Однако наиболее ярко проявляются преимущества каскадного Дш, если стандартные небольшие Дш для W = 8-М6 выпускаются в одном корпусе как схемы средней интеграции (СИС). Каскадный Дш для широкого диапазона W, собранный на таких схемах, значительно вы годнее и с точки зрения затрат на разработку, и с точки зре-
** |
67 |
иия габаритов, чем Дш, собранный из отдельных микро схем.
2.Каскадный Дш выгоднее по оборудованию, чем линей ный, однако в следующем параграфе будет рассмотрен пря моугольный Дш, который еще экономичнее как по оборудо ванию, так и по времени задержки. Поэтому экономичность по оборудованию не следует рассматривать как специфичес кое достоинство именно этого типа Дш.
3.Задержка многокаскадного Дш равна задержке линей ного, умноженного на число каскадов. Таким образом, много каскадный Дш следует применять там, где, с одной стороны, можно мириться с увеличением времени задержки, а с дру гой — есть возможность использовать готовые малые Дш в виде СИС, стандартных ТЭЗ, или необходимо удовлетворить каким-либо другим требованиям унификации. При этом есте ственно разбивать Дш па каскады в соответствии с пара метрами унифицированных узлов.
Заметим, что в двухкаскадном дешифраторе (рис. 40) Дш первого каскада можно выполнять не в виде автономного законченного узла, а собрать на тех же элементах И, кото рые используются для стробирования по входу дешифрато ров 2-го каскада, увеличив соответственно число их входов, т. е. распределить Дш первого каскада по стробирующим вентилям второго кадкада так, как уже предлагалось сде лать при объединении Дш и мультиплексора. Начертите са мостоятельно схему Дш рис. 40 в таком варианте.
4-4. Прямоугольный дешифратор
Прямоугольный Дш показан на рис. 41. Он состоит из двух Дш первой ступени (DC 1 и DC 2) и одного Дш второй ступени, который начерчен подробно. Старшие и младшие группы разрядов расшифровываются независимо. При любом входном наборе оказываются выбранными одна строка и один столбец прямоугольной сетки, в узлах которой стоят элементы И—НЕ второй ступени. В результате каждый вход ной набор возбуждает соответствующий ему выходной эле мент И—НЕ.
Оборудование прямоугольного Дш слагается из оборудо вания первой и второй ступени. Вторая ступень состоит из W двухвходовых элементов И—НЕ (при необходимости к ним могут подключаться инверторы). При заданном W раз меры Дш первой ступени DC 1 и DC 2 зависят от того, на
68