Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 111
Текст из файла (страница 111)
5.49, является вариантом схемы декодера Хэмминга(рис. 5 77) на языке ЧН()Ь. Функция зупс)гоше ( ОО) вычисляет 3-разрядный синдром 7-разрядного неисправленного вектора входных данных РО. В «главном» процессе исправленному вектору выходных данных ОС первоначально присваивается значение ОО. Функция сОмч 1)(тебек (см. Раздел 4.7.4) преобразует 3-разрядный синдром в целое число. Если синдром отличен от нуля, то соответствующий бит в ОС инвертируется, и таким образом исправляется предполагаемая одиночная ошибка.
Равенство синдрома нулю говорит о том, что ошибки либо нет, либо произошли необнаруживаемые ошибки; прн этом на выходе МОВККОк возникает единичный сигнал активного уровня. 5.9. Компараторы Сравнение двух двоичных слов с целью обнаружения их равенства — это операция, широко применяемая в компьютерных системах и устройствах сопряжения.
На рис. 2.7(а), например, была показана структура системы, в которой каждое из устройств способно сравнивать слово «выбор устройства» с предварительно установленным в нем «идентификатором устройства». Схема, которая сравнивает два двоичных слова и показывает, равны онн или нет, называется конлараг»оран (свара»ого«).
Некоторые компараторы интерпретируют входные слова как числа со знаком илн без знака, а также выдают арифметическое соотношение между ба.Компараторы 489 Табл. 6.49. Поведенческая ЧН()ь-программа для исправления ошибок в коде Хамминга 11Ьгагу ХЕЕЕ; иве ХЕЕЕ.веб 1оя1с 1164.а11; иве ХЕЕЕ.вед 1оягс ипв18пеб.а11; епеапу Ьавсогг зв роге ( 00: ХМ ЯТР ХООХС ЧЕСТОК (1 Со 7); РСг СОТ ЯТО ЕООХС ЧЕСТОВ (1 Со 7); МОЕКВОК: СОТ БТО 1.ООХС ); епб Ьаасогг; агсЬ1аеспиге Ьаисогг от Ьеасогг 1в гипсв1оп вупбгоше (О: ЯТО ХООХС ЧЕСТОК) тевигп ЯТО ЬООХС ЧЕСТОК 1в чагтаЬХе ЯУМ: БТО ХООХС ЧЕСТОК (2 довпео 0); Ье81п ЯУМ(0) := 0(1) хог 0(3) хог Р(Я) хот Р(7); ЯУМ(1) := 0(2) хог Р(3) хог 0(б) хог Р(7); ЯУИ(2) : 0(4) хог 0(5) хог 0(6) хог 0(7); гевигп(ЯУИ); епб вупйгове; Ье81п ргосевв (ОО) чаг1аЬХе 1: ХИТЕОЕК; Ьея1п ОС = 00; 1 := СОИЧ ХМТЕОЕК(вупйгоае(ОО)); 11 1 = О сЬеп МОЕВВОК < '1'; еХве МОЕККОК <= 'О'; ОС(1) <= пов 00(1); епб 11; епб ргосевв; епб Ьашсогг; словами (больше или меньше).
Эти устройства часто называются качяараеора- ми значений (нгаялйвне соглрагшоге). 5.9.1. Структура компаратора Схемы ИСКЛЮЧАЮЩЕЕ ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ можно считать 1-разрядными ком параторами. На рис. 578(а) вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ (ИС 74х86) представлен как )-разрядный ком паратор, На выходе (МЕЕ появляется сигнал высокого уровня в том случае, если сигналы на входах различны. Объединяя схемой ИЛИ выходы четырех схем ИСКЛЮЧАЮЩЕЕ ИЛИ, можно получить 4-разряд- 5.9.компараторы 491 первичные входи , ыеждукаскадный ы еждукаскадный выход Р! ч а граничные входы ные ды рос ио, первичные выходы Рис. 5.79.
Общая структура итерационной комбинационной схемы. Итерационные схемы очень хорошо подходят для задач, которые можно решать применяя простой итерационный алгоритм: 1. УстанавливаемначальноезначениеС их=0. о 2. Используем С, н Р1 для определения значений РО и С „. 3. Увеличиваем значение г на 1. 4. Если! «и,топереходимкшагу2. В итерационной схеме цикл, состоящий из шагов 2-4, «распараллелен» путем выполнения шага 2 для кахсдого значения 1 отдельной комбинационной схемой. Примерами итерационных схем могут служить компараторы, рассматриваемые в следующем разделе, а также сумматор со сквозным переносом, приведенный в разделе 5.10.2. 4-разряцный компвратор 74х85 и 4-разрядный сумматор 74х283 являются примерами СИС, которые можно использовать в качестве отдельных модулей в большой итерационной схеме.
В параграфе 8.6 мы рассмотрим связь между итерационными схемами и соответствующими последовательностными схемами, которые реализуют описанный выше алгоритм по шагам, выполняемым в последовательные моменты времени. 5.9.3. Итерационная схема компаратора Две и-разрядные величиныХи 1'можно сравнивать поочередно в каждом разряде, используя на каждом шаге единственный бит ЕО для слежения за тем, что до данного шага включительно во всех парах биты были одинаковы: 1. Устанавливаем ЕО = 1 и г' = О.
о 2. Если ЕО =1 и значениЯ Х иУ» одинаковы, то Устанавливаем ЕОен = 1. В пРотивном случае устанавливаем ЕО „= О. 3, Увеличиваем значение г на 1. 4. Еслиг'<и,топереходимкшагу2. 492 Глава б. Практическая разработка схем комбинационнойлогики На рис, 5.80 приведена соответствующая итерационная схема.
Заметьте, что в этой схеме нет никаких первичных выходов; нас интересует только граничный выход. У других итерационных схем, например, у сумматора со сквозным переносом, который будет рассмотрен в разделе 5.10.2, имеются первичные выходы, и значения сигналов на этих выходах существенны. ((з) ха т« х( ч( Х2 22 х(н-П ч(н-(( ЕО(Н-1( (а) х ЕОО ЕО( Рис. В.ВО. Схема итерационного компаратора: (а) одноразрядный модуль, (б) полная схема Имея возможность выбирать между итерационной схемой ком паратора, рассмотренной в этом разделе, и одним из параллельных компараторов, приведенных ранее, вы, вероятно, отдадите предпочтение параллельному компаратору.
Итерационный компаратор, возможно, позволит немного сэкономить в стоимости; но он очень медленный, потому что при последовательном включении модулей сигналам требуется время, чтобы «распространнться» от крайнего левого модуля до крайнего правого. Более перспективными с точки зрения использования в практических разработках являются итерационные схемы, в которых на каждом шаге обрабатывается большее число битов, для чего в качестве модулей применяются, например, 4-разрядные компараторы 74х85 или 4-разрядные сумматоры 74х283.
5.9.4. Стандартные компараторы в интегральном исполнении Область применения компараторов настолько широка, что для серийного производства было разработано несколько СИС, являющихся компараторами. На рис. 5.81 дано условное обозначение 4-разрядного компаратора 74х85. У него есть выходы «больше» (АОТВООТ), «меньше» (А~ТВООТ) и «равно» (АЕОВООТ).
У ИС '85 имеются также входы дая каскадного включения (савсайнй трагв) (АОТВ(Ы, АЕТВйч, АЕОВ 1»1) для объединения нескольких таких ИС с целью создания компаратора с числом разрядов больше четырех. Сигналы на межкаскадных входах н выходах являются словами кода «(из 3», так как при нормальной работе только на одном входе и на одном выходе должен присутствовать сигнал с активным уровнем. 5.9.Компараторы 493 74ха а Рис.
6.81. Траднцнонноеусловноеобозначение 4-разрядного ком паратора 74х85 нв Рис. 5.82. 12-разрядный компаратор на основе ИС 74х85 Сигналы с выходов ИС '85, сравнивающей биты в младших разрядах, подаются на входы такой же ИС, сравнивающей биты в следующих разрядах, как показано на рнс. 5.82 в случае 12-разрядного компаратора. Согласно определению, данному в разделе 5.9.2, эта схема является итерационной.
Каждая ИС '85 вырабатывает на своих выходах сигналы, соответствующие примерно следующим выражениям псевдологики: АОТВООТ = (А > В) + (А=В) АОТВ!й АЕОВООТ = (А=В) АЕОВ)г) А(ТВОЦТ = (А< В)+(А=В) А(ТВйя Заключенные в скобки выражения не являются обычными логическими выражениями; правильнее сказать, что они означают арифметическое соотношение чисел, представленных сигналами на входах АЗ-АО н ВЗ-ВО. Другими словами, сигнал на выходе АОТВОЦТ появляется в двух случаях: когда А > В, либо когда А = В и присутствует сигнал на входе АОТВ))ч (если на данном шаге биты равны, то 494 Глава б. Практическая разработка схем комбинационной логики для получения правильного ответа необходимо учесть результат сравнения в млад- ших разрядах).
Мы снова встретимся с выражением такого вида при проектирова- нии компаратора ив языке АВЕЬ в разделе 5.9.5. Арифметическое сравнение мож- но описать, применяя обычные логические выражения, например: (А> В) = АЗ ВЗ'+ (АЗ Ю ВЗ)'. А2. В2'+ (АЗЭВЗ)' (А2®В2)' А1 В1'+ [АЗ% ВЗ)' (А2®В2)' (А1 ЮВ1)' АО ВО'. Такие выражения нужно подставить в приведенные выше псевдологические равенства, чтобы получить настоящие логические равенства для сигналов на выходах компаратора.
В виде СИС выпускается несколько 8-разрядных компараторов. Самым простым из них является ИС 74х682, условное обозначение которого дано на рис. 5.83, а принципиальная схема показана на рис. 5.84. В верхней части схемы проверяется равенство двух 8-разрядных входных слов. Сигнал появляется на выходе каждой схемы ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ, если совпадают сигналы на его входах, а уровень сигнала на выходе РЕОО Ь становится активным, если попарно равны сигналы во всех восьми разрядах чисел, поданных на входы. В нижней части схемы входные слова сравниваются арифметически и вырабатывается сигнал на выходе РОТО (, если Р(7-О] > О(7-0].
Рис. б. ВЗ. Традиционное условное обозначение 8- разрядного комп аратора 74х682 74хввз В отличие от ИС 74х85, у микросхемы 74хб82 нет входов для каскадного включения и выхода «меньше». Однако любые требуемые условия, включая такие, как < и >, можно получить в виде функции выходных сигналов РЕОО Ь и РОТО Ь, как показано парис. 5.85. 5.9.Компараторы 495 Рис. 5. 84. Принципиальная схема 8-разрядного комп аратора 74х682 с цоколевкой для стандартного корпуса 01р с 20 выводами СРАВНЕНИЕ КОМПАРАТОРОВ Отдельные 1-разрядные ком пвраторы (вентили ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ1 в ИС '682 используются иначе по сравнению с примерами раздела 5.9.4: сигналы на выходах этих вентилей имеют активный уровень при равных сигналах иа входах и затем объединяются схемой И, в отличие от схем с активным уровнем выходных сигналов при различных сигналах на входах с гюследующим объединением по правилу ИЛИ.