Полный сумматор: построение эффективных многоразрядных двоичных сумматоров
Когда нужно сложить более двух двоичных разрядов, одного полусумматора уже недостаточно. Традиционный подход — создание таблицы истинности для каждой новой разрядности — точен, но медленный. Полный сумматор решает это, обрабатывая третий вход, перенос, позволяя дизайну масштабироваться быстро и надежно.
Рассмотрим двухразрядное сложение:
11 + 11 ------- 110Средний столбец требует трех входов:
a, b и перенос Cin. Используя двухвходовый сумматор как строительный блок, мы можем построить трехвходовый сумматор, выдающий и бит суммы, и перенос.
Математически, если Σ = a + b + Cin и Σ1 = a + b, то Σ = Σ1 + Cin. На рисунках ниже показана логическая схема этой конфигурации.


Рассмотрим таблицу истинности для трехвходовой суммы:
Cin + a + b = ? 0 + 0 + 0 = 0 0 + 0 + 1 = 1 0 + 1 + 0 = 1 0 + 1 + 1 = 10 1 + 0 + 0 = 1 1 + 0 + 1 = 10 1 + 1 + 0 = 10 1 + 1 + 1 = 11Младший бит корректно получается XOR трех входов. Старший перенос появляется, когда либо
a + b генерирует перенос (C1), либо когда a + b выдает бит суммы и перенос равен единице. Следовательно, логика переноса: Cout = C1 OR (Σ1 AND Cin). 

В некоторых приложениях замена финального гейта ИЛИ на XOR устраняет гейт без изменения функциональности, сокращая задержку распространения.
Каскадируя два полных сумматора, можно эффективно складывать двухразрядные числа. Диаграмма ниже показывает соединение двух полных сумматоров для 2-битного сумматора:


Здесь A0 и A1 — младший и старший биты операнда A; аналогично для B. Выходы Σ0 и Σ1 формируют 2-битную сумму, а Cout распространяется на следующий каскад.
Хотя 2-битный сумматор можно построить прямо из логических гейтов, использование полных сумматоров для обеих позиций разряда облегчает более крупные проекты и облегчает каскадирование. Этот подход масштабируется естественно: 4-битный сумматор — два 2-битных, связанных переносом; 8-битный — два 4-битных, и так далее.
Ниже пример 8-битного сумматора, построенного из полных сумматоров:

Каждый блок «2+» представляет 2-битный сумматор, каждый «4+» — 4-битный, и объединенный 8-битный сумматор дает тот же результат, что монолитный 8-битный дизайн. Компромисс: иерархический дизайн вносит дополнительную задержку через цепочку переноса, тогда как монолитная реализация суммы произведений может предложить более быстрое время за счет сложности синтеза.
Для больших комбинаторных схем проектировщики обычно выбирают между модульной конструкцией — проще для проектирования, но потенциально медленнее — и монолитной — более быстрым распространением, но более сложным синтезом. Подход с полным сумматором примера модулярности, позволяя инкрементальную верификацию и повторное использование.
Связанный рабочий лист:
- Рабочий лист по схемам двоичной арифметики
Промышленные технологии
- Электроника: практичная наука для всех
- Настройка домашней электроника-лаборатории: инструменты, рабочая зона и расходники
- Мастерство вольтметра: точное измерение напряжения стало простым
- Мастерство измерений омметром: практическое руководство по тестированию сопротивления
- Сборка и траблшутинг базовой 6-вольтовой батарейно-ламповой цепи
- Измерение тока амперметром: практическое руководство
- Практический эксперимент по закону Ома: измерение напряжения, тока и сопротивления
- Исследование нелинейного сопротивления ламп накаливания: практическое лабораторное руководство
- Измерение рассеивания мощности в резисторах: практический эксперимент с законом Джоуля
- Основы цепей постоянного тока: понимание прямого тока и базовых электрических концепций