Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом.

В цифровых системах сложение является самым распространенным арифмети­ческим действием. Сумматоробъединяет два арифметических операнда по правилам сложения. Одни и те же правила сложения справедливы для чисел без знака и для чисел, представленных в дополнительном двоичном коде; поэтому в обоих случаях ис­пользуются одни и те же сумматоры. Сумматор может выполнять вычитание пу­тем сложения уменьшаемого и дополнения к вычитаемому (инвертированного вычитаемого); но можно построить и вычитающее устройство, ко­торое выполняет вычитание непосредственно. ИС средней степени интеграции, выполняющие сложение, вычитание и другие действия в зависимости от кода oneрации на управляющих входах, называются арифметическо-логическими устрой­ствами (АЛУ).

Простейший сумматор, называемый полусумматором, складывает два 1-разрядных операнда X и Y, образуя 2-разрядную сумму. Сумма может принимать значения от 0 до 2, требуя для своего представления двух битов. Младший бит суммы можно назвать полусуммой HS, а старший бит- переносом СО (в старший разряд). Для величин HS и СО можно записать следующие выражения:

HS = X Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru Y

= X·Y' + X'·Y

СО = X·Y

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru
Рисунок 1 - Схема полусумматора

Чтобы сложить операнды с большим числом двоичных разрядов, необходимо обеспечить перенос между разрядами. Стандартный блок, применяемый для этой операции, называется полным сумматором. Помимо входов для битов слагаемых X и Y, у полного сумматора есть вход для бита переноса CIN. Сумма трех входных битов может принимать значения от 0 до 3; для ее представления по-прежнему достаточно двух выходных битов S и COUT, значения которых определя­ются следующими соотношениями:

S = X Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru Y Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru CIN

= X·Y'·CIN'+X'·Y·CIN'+X'·Y'·CIN+X·Y·CIN

COUT = X·Y + X·CIN+Y·CIN

Здесь S = 1, если на нечетном числе входов присутствуют единицы, a COUT = 1, если единицы имеются на двух или большем числе входов. Эти соотношения представ­ляют ту же самую операцию, которая определяется таблицей двоичного сложения (табл. 1).

Одна из возможных схем, реализующих соотношения, которыми описывается полный сумматор, приведена на рис. 1(a). Соответствующее условное обозначе­ние дано на рис. 1(b). Иногда для более аккуратного изображения схем с последо­вательно включенными полными сумматорами их обозначают так, как показано на рис. 1(c).

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru

Рисунок 2 - Полный сумматор. а) принципиальная схема на уровне вентилей, б) условное обозначение, в) другой вид условного обозначания

Два n-разрядных двоичных слова можно сложить с помощью сумматора со сквозным переносом, состоящего из n последовательно включен­ных полных сумматоров, каждый из которых оперирует с одним битом. На рис. 3 показана схема 4-разрядного сумматора со сквозным переносом. На входе переноса младшего разряда (co) обычно устанавливается 0, а выход переноса каждого из полных сумматоров соединен со входом переноса полного суммато­ра в следующем разряде. Cум­матор со сквозным переносом является классическим примером итерационной схемы.

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru

Рисунок 3 - 4-разрядный сумматор со сквозным переносом

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

Более быстрый сумматор можно построить, используя для формирования сум­мы на каждом выходе s; двухуровневую логику. Это можно выполнить, записывая выражение для s через x0—х, у0 -у и с0, разнося множители по слагаемым или разнося слагаемые по сомножителям для преобразования выражения в сумму произведений или произведение сумм и применяя соответствующую схему И-ИЛИ или ИЛИ-И. К сожалению, выражения для сумм, начиная с s2, содержат очень много членов, и для их реализации требуется слишком много схем первого уровня и слишком много входов у вентилей второго уровня по сравнению с тем, чем мы обычно располагаем. Например, даже при с0 = 0 для образования s, требу­ется двухуровневая схема И-ИЛИ с четырнадцатью 4-входовыми схемами И, че­тырьмя 5-входовыми схемами И и 18-входовой схемой ИЛИ; с формированием сумм старших разрядов ситуация еще хуже.

Логическое соотношение для суммы i-ого разряда двоичного сумматора факти­чески можно записать очень просто:

sl =xl Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru уl Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru сl.

Значительные сложности появляются при попытке представить через x0-xl-1, y0-yl-1и с0; реальные неприятности возникают в связи с ростом числа схем ИСКЛЮЧАЮЩЕЕ ИЛИ. Однако, если мы хотим предотвратить увеличение числа этих схем, то можно, по крайней мере, упростить логику формирования с, ис­пользуя идеи ускоренного переноса.

На рис. 4 продемонстрирована основная идея. В блоке, названном «Логи­ческая схема ускоренного переноса», значение с вычисляется по правилам, пре­дусматривающим небольшое, фиксированное число логических уровней при любом разумном значении Для схемы ускоренного переноса ключевыми явля­ются следующие два определения:

Говорят, что при заданной комбинации сигналов на входах хl и уl в i-jм каскаде сумматора генерируется сигнал переноса, если в этом каска­де вырабатывается 1 на выходе переноса (сl+1= 1) независимо от значений входных сигналов x0-xi-1 , y0-yi-1 и c0.

Говорят, что при заданной комбинации сигналов на входах хl иуl; в i-ом каскаде сумматора происходит передача сигнала переноса, если в этом каскаде вырабатывается 1 на выходе переноса (сl+1 = 1) в присутствии такой комбинации на входах x0-xi-1 , y0-yi-1 и c0., которая вызывает появление 1 на входе переноса данного каскада (сl = 1).

В соответствии с этими определениями можно записать логические равенства для сигнала генерации переноса gl и сигнала передачи переноса рl в каждом каскаде сумматора с ускоренным переносом:

g =хl•уl

рl =xl+ yl.

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru

Рисунок 4 - Структура оного каскада сумматора с ускоренным переносом

Другими словами, на выходе каскада безусловно генерируется перенос, если оба бита слагаемых равны 1, и передается перенос, если хотя бы один из битов слагае­мых равен 1. Теперь сигнал на выходе переноса можно выразить через сигналы генерации и передачи переноса:

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru .

Чтобы исключить сквозной перенос, мы для каждого каскада рекурсивно находим значения ci, разнося множители по слагаемым, получаем выражения в виде двуху­ровневых функций И-ИЛИ. Используя эту методику, можно найти следующие выра­жения для сигналов переноса первых четырех каскадов сумматора:

Полусумматоры и сумматоры. Комбинационные сумматоры. Многоразрядные сумматоры с ускоренным переносом. - student2.ru x

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

Наши рекомендации