Сложение двух битов
Сложение двух одиночных битов A и B вручную даёт четыре возможных результата: 0+0=0, 0+1=1, 1+0=1 и 1+1=10 в двоичной системе — то есть Сумма=0 с Переносом 1. Заметьте, что Сумма — это ровно XOR от A и B, а Перенос — ровно AND от A и B.
Полусумматор
Полусумматор — это именно такая схема: два входа (A, B), два выхода (Сумма, Перенос), построенная из одного вентиля XOR и одного AND.
- Сумма = A ⊕ B
- Перенос = A · B
Полный сумматор
Полусумматор не может сложить третий бит — перенос, приходящий из предыдущего, младшего разряда. Полный сумматор добавляет этот третий вход, Cin, давая Сумму и Cout:
- Сумма = A ⊕ B ⊕ Cin
- Cout = A·B + Cin·(A⊕B)
- На практике полный сумматор строится из двух полусумматоров: первый складывает A и B, второй складывает результат с Cin, а два переноса объединяются вентилем OR.
Цепочка для N-битного сумматора
Соединив Cout одного полного сумматора с Cin следующего, получаем сумматор с последовательным переносом, способный складывать два N-битных числа. Встроенный блок «4-битный сумматор» в Boolflow — это именно четыре соединённых полных сумматора. Загрузите пример схемы, чтобы увидеть и полусумматор, и полный сумматор, построенные по вентилям, а затем проверьте распространение переноса инструментом «Таблица истинности».