Введение
В электронике, сумматор с выбором переноса — это конкретный способ реализации сумматора, являющегося логическим элементом, вычисляющим сумму битов двух чисел, представленных в двоичной системе. Сумматор с выбором переноса прост, но достаточно быстр, имея глубину схемы, равную .
Строительство
Сумматор с выбором переноса обычно состоит из сумматоров с последовательным переносом и мультиплексора. Сложение двух n-битных чисел с использованием сумматора с выбором переноса выполняется с помощью двух сумматоров (следовательно, двух сумматоров с последовательным переносом), чтобы выполнить вычисление дважды: один раз с предположением, что входной перенос равен нулю, а другой – единице. После вычисления двух результатов правильная сумма и правильный выходной перенос выбираются с помощью мультиплексора, как только становится известен правильный входной перенос. Количество бит в каждом блоке выбора переноса может быть одинаковым или переменным. В случае одинакового размера оптимальная задержка достигается при размере блока, равном… Если размер блока переменный, задержка от входов A и B до выходного переноса должна быть равна задержке цепи мультиплексоров, ведущей к нему, чтобы выходной перенос вычислялся точно вовремя. Эта задержка выводится из случая одинакового размера, где идеальное количество полных сумматоров в блоке равно квадратному корню из количества складываемых бит, поскольку это обеспечит равное количество задержек мультиплексоров.
Основной элемент
Выше представлен базовый строительный блок сумматора с выбором переноса, где размер блока равен 4. Два 4-битных сумматора с последовательным переносом мультиплексируются, а результирующие биты переноса и суммы выбираются в зависимости от входного переноса. Поскольку один сумматор с последовательным переносом исходит из переноса 0, а другой – из переноса 1, выбор сумматора, сделавшего верное предположение, на основе фактического значения переноса, дает желаемый результат.
Однородный размер прибавителя
16-битный сумматор с выбором переноса с равномерным размером блока 4 может быть создан из трех таких блоков и 4-битного сумматора с последовательным переносом. Поскольку входной перенос известен в начале вычисления, блок выбора переноса не требуется для первых четырех бит. Задержка этого сумматора составит четыре задержки полного сумматора плюс три задержки мультиплексора.
Смешанный с переменным размером
Аналогичным образом можно создать 16-битный сумматор с переменным размером блоков. Здесь представлен сумматор с размерами блоков 2, 2, 3, 4, 5 – это особый тип сумматора с переменным размером блоков, называемый сумматором с переносом по квадратному корню. Такая разбивка оптимальна, когда задержка полного сумматора равна задержке мультиплексора, что маловероятно. Общая задержка составляет две задержки полных сумматоров и четыре задержки мультиплексоров. Мы стремимся уравнять задержку в обеих цепях переноса и задержку переноса с предыдущего этапа.
Условный сумматор
Условный сумматор — это рекурсивная структура, основанная на сумматоре с выбором переноса. В условном сумматоре уровень мультиплексоров выбирает между двумя входными операндами размером n/2 бита, которые сами построены как условные сумматоры. Нижний уровень дерева состоит из пар 2-битных сумматоров (1 полусумматор и 3 полных сумматора) плюс 2 однобитных мультиплексора. Условный сумматор страдает от очень большого веера расходимости промежуточных выходов переноса. Веер расходимости может достигать n/2 на последнем уровне, где он управляет всеми мультиплексорами от до .
Комбинация с другими конструкциями
Конструкция сумматора с выбором переноса может быть дополнена структурой сумматора с предвычислением переноса для генерации входных сигналов мультиплексоров, что позволяет добиться еще большей производительности, сравнимой с параллельным префиксным сумматором, при потенциальном уменьшении площади. Пример представлен в статье о сумматоре Когге-Стоун.