Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 113
Текст из файла (страница 113)
Однако большинство УНВЕ-средств синтеза реализуют компаратор в виде итерационной схемы с гораздо меньшим числом вентилей, хотя и с большим числом уровней логики. Кроме того, лучшие программные средства синтеза обнаруживают возможность удаления целых схем ком параторов. Например, в программе, приведенной в табл. 5.50, каждый из выходов )чЕ, ЕЕ и ЕЕ можно реализовать путем инвертирования выходов ЕС), ЕТ и СТ соответственно, используя для этого всего лишь по одному инвертору.
*5.10. Сумматоры, вычитающие устройства и АЛУ В цифровых системах сложение является самым распространенным арифметическим действием. Сумматор (асЫсг) объединяет два арифметических операнда по правилам сложения, описанным в главе 2. Как было показано в параграфе 2.6, одни и те же правила сложения справедливы для чисел без знака и для чисел, представленных в дополнительном двоичном коде; поэтому в обоих случаях используются одни и те же сумматоры. Сумматор может выполнять вычитание путем сложения уменьшаемого и дополнения к вычитаемому (инвертированного вычитаемого); но можно построить и сычао)аюкбес устройство (уиьггасгогА которое выполняет вычитание непосредственно.
ИС средней степени интеграции, выполняющие сложение, вычитание и другие действия в зависимости от кода опе- 8.10. Сумматорьц вычитвющио Устройства и АЛУ 801 рации на управляющих входах, называются арвфметическо-логическим в устрой- ствами (АЛУ); они описаны в разделе 5.10.6. *5.10.1.
Полусумматоры и полные сумматоры Простейший сумматор, называемый палусумчатаром(!за(7а~Ыег),складываетдва ! -разрядных операнда Х и т', образуя 2-разрядную сумму Сумма может принимать значения от О до 2, требуя для своею представления двух битов. Младший бит суммы можно назвать полусуммой Н8, а старший бит — переносом СО (в старший разряд), Для величин Н8 и СО можно записать следующие выражения: Н8 = ХЮУ = Х т'+Х' У СО = Х У. Чтобы сложить операнды с большим числом двоичных разрялов, необходимо обеспечить перенос между разрядами. Стандартный блок, применяемый для этой операции, называется полным сумматором (!ай аиег).
помимо входов для битов слагаемых Х и У у полного сумматора есть вход для бита переноса С! !ч. Сумма трех входных битов может принимать значения от О до 3; для ее представления по- прежнему достаточно двух выходных битов 8 н СО()Т, значения которых определяются следующими соотношениями: 8 = ХЕУЭСОЧ = Х У' С!1ч'+Х' У.С!1ч'+Х' У' С!1ч+Х У С!1ч СООТ = Х т'+Х С1Н+У С!г! Здесь 8 = 1, если на нечетном числе входов присутствуют единицы, а СООТ = 1, если единицы имеются на двух илн большем числе входов. Эти соотношения представляют ту же самую операцию, которая определяется таблицей двоичного сложения (табл.2.3).
Одна из возможных схем, реализующих соотношения, которыми описывается полный сумматор, приведена парис. 5.86(а). Соответствующее условное обозначение дано на рис. 5. 86(Ь). Иногда для более аккуратного изображения схем с последовательно включенными полными сумматорами их обозначают так, как показано на рис. 5.86(с); именно такое обозначение применено в следующем разделе.
*5.10.2. Сумматоры со сквозным переносом Два п-разрядных двоичных слова можно сложить с помощью сумматора со сквозным переносам (г!рр!е аЫег), состоящего из п последовательно включенных полных сумматоров, каждый из которых оперирует с одним битом. На рис. 5.87 показана схема 4-разрядного сумматора со сквозным переносом. Нв входе переноса младшего разряда (с„) обычно устанавливается О, а выход переноса каждого из полных сумматоров соединен со входом переноса полного сумматора в следующем разряде.
Согласно определению, данному в разделе 5.9.2, сумматор со сквозным переносом является классическим примером итерационной схемы. 502 Глава 5. Практическая разработкасхем комбинационнойлогики полный сумматор Х т с!и СОРТ (с) Рис. 5.86. Полный сумматор. (а) принципиальная схема на уровне вентилей, ()г) условноеобозначение,(с) другое условноеобозначение, удобноедля изображения последовательного включения "з уз Уг хт у1 ло уо Сл аз Рис. 5 87. 4-разрядный сумматор со сквозным переносом Сумматор со сквозным переносом обладает малым быстродействием, так как в худшем случае сигнал переноса должен распространиться от младшего полного сумматора до старшего, Такая ситуация имеет место, например, если одно слагаемое равно 11 ...
11, а другое-00 ... 01. Если все биты слагаемых подаются одновременно, то полная задержка в худшем случае равна гАРР гхтсам + (л 2) гс~псопт + гстпз где у — задержка от входов Х или т'до выхода СООТ в сумматоре младшего Хуспа разряда, у „,„, -задержка от входа С!)т) до выхода С00Т в сумматорах средних разрядов, а ! — задержка от входа С!)т( до выхода 5 в сумматоре старшего Опз разряда.
Более быстрый сумматор можно построить, используя для формирования суммы на каждом выходе з двухуровневую логику. Это можно выполнить, записывая выражение для в через х -х, у — у и с, разнося множители по слагаемым или ! о о о разнося слагаемые по сомножителям для преобразования выражения в сумму произведений нли произведение сумм и применяя соответствуюшую схему И вЂ” ИЛИ нли ИЛИ-И.
К сожалению, выражения для сумм, начиная с в, содержат г' очень много членов, и для их реализации требуется слишком мною схем первого 5.10.Сумматоры, вычитающмеустройстеемАЗТУ 503 уровня и слишком много входов у вентилей второго уровня по сравнению с тем, чем мы обычно располагаем. Например, даже при с = 0 для образования з, требуется двухуровневая схема И-ИЛИ с четырнадцатью 4-входовыми схемами И, четырьмя 5-входовыми схемами И и ! 8-входовой схемой ИЛИ; с формированием сумм старших разрядов ситуация еще хуже. Тем не менее возможно, как мы увидим в разделе 5. ! 0.4, обойтись более приемлемым количеством схем, строя сумматоры с совсем небольшим числом уровней задержки.
'5.10.3. Вычитающиеустро!Йства Операция вычитания в двоичной системе, аналогичная двоичному сложению, также была определена в табл. 2.3. Полное вычиаающее устройство (б~й зиЬггасгог) реализует алгоритм вычитания в двоичной системе лля одного двоичного разряда при наличии иа входах Х, У и В((Ч битов уменьшаемого, вычитаемого и заема; иа выходах 0 н ВОь!Т вырабатываются биты разности и заема. Логические соотношения, соответствующие таблице вычитания в двоичной системе, можно записать следующим образом: 0 = ХЮУЮВйЧ ВООТ = Х' У+ Х' ВВЧ + У В 1(Ч.
Эти соотношения очень похожи на равенства для полного сумматора, и это не удивительно. В параграфе 2.6 было показано, что вычитание Х-К в допол нительном коде можно выполнить с помощью операции сложения, а именно, производя сложение точного дополнения К с Х Точное дополнение У равно )' +1, где )'— поразрядное дополнение К Решая задачу 2.26, можно было убедиться в том, что двоичный сумматор можно использовать для нахождения разности Х вЂ” )'чисел без знака, производя сложение Х+ 1'+1 .
Преобразуя логические выражения, приведенные выше, мы можем теперь еще рвз подтвердить справедливость этого правила: ВООТ = Х' У+Х'. ВйЧ+У ВПЧ ВООТ' = (Х+У' ) (Х+ ВйЧ' ) (У' + ВйЧ' ) (сбобщенная теорема Де Моргана) Х.У'+ Х. ВНЧ'+У' ВИЧ' (разнесение множителей ' по слагаемым) 0 = Х чэУЭ В!)Ч вЂ” Х ЮУ' ЮВйЧ' (инвертирование сигналов на вхо- Дах схемы ИСКЛЮЧАЮЩЕЕИЛИ) В связи с последним преобразованием напомним, что при инвертировании сигналов на двух входах схемы ИСКЛЮЧАЮЩЕЕ ИЛИ реализуемая ею функция не изменяется. Сравнение приведенных выше соотношений с равенствами для полного сумматора свидетельствует о том, что полное вычитающее устройство можно получить из полного сумматора, как показано парис.
5 88. Только ради ясности изложения мы дали схеме полного сумматора на рис. 5.88(а) фиктивное название "74х999". Как показано на рис. 5.88(с), функцию этой же самой физической схемы можно интерпретировать как вычитание, введя новое условное обозначение с низким 604 Глава б. Практическая разработка схем комбинационной логики активным уровнем сигналов ва входе заема, на выхоле заема н на входе выч итаемого. Рис. 8.88. Построение вычитающих устройств на основе сумматоров: (а) полный сумматор; (Ь) полное вычитающее устройство; (с) интерпретация устройства, изображенного на рис. (а), как полного вычитающего устройства; (г)) вычитающее устройство со сквозным заемом Таким образом, чтобы построить вычитающее устройство со сквозным переносом для двух и-разрядных операндов с высоким активным уровнем сигнала, можно воспользоваться и сумматорами 74х999 и л инверторами, как показано на рис.
588(б). Заметьте, что при вычитании сигнал на вход заема младшего разряда не должен поступать (отсутствие заема); при низком активном уровне входного сигнала это означает, что на реальный вывод должна быть подана логическая 1, то есть сигнал высокого уровня.
Это прямо противоположно тому, что должно быть лри суммировании, когда на тот же самгнй вход переноса с высоким активным уровнем си гнала подается логический О, то есть сигнал низкого уровня. Возвращаясь к математике главы 2, можно показать, что этот вид преобразований справедлив для всех схем сумматоров н вычитающих устройств, а не только для сумматоров и вычвтакнпих устройств со сквозным переносом. То есть любую п-разрядную схему сложения можно заставить работать как выч нтаю шее устройство, беря дополнение вычнтаемого и интерпретируя сигналы ва входах и выходах переноса как сигналы заема с противоположным активным уровнем.