S=
C=a∙b
Реализуем логические схемы для суммы и переноса в базисе Пирса. Для этого преобразуем выражения к виду, удобному для реализации на элементах ИЛИ-НЕ.
S=
C= a∙b=![]()
На основании полученных формул может быть синтезирован полусумматор - устройство, которое реализует сложение двух одноразрядных чисел (рис.26а). Поскольку полусумматор имеет широкое применение, он имеет собственное обозначение (рис.26б).
Составляя дизъюнктивную нормальную форму для полусумматора, мы получили следующие булевы функции:
S =
C=a∙b

Рис.26. схема полусумматора и его условное обозначение
Следовательно, перенос происходит с помощью функции И, а выработка сигнала суммы - сложением по модулю 2 чисел а и b.
Одноразрядный сумматор. В одноразрядном сумматоре в отличие от полусумматора добавляется сигнал переноса из младшего разряда. При этом если
последний отсутствует, то перенос в старший разряд может быть только тогда, когда оба числа равны единице. Если же имеется перекос из младшего разряда, то перенос в старший разряд будет всегда, кроме одного случая, когда оба слагаемых равны нулю.
Схема сумматора может быть реализована на двух: полусумматорах (рис. 28). В этой схеме выделим промежуточные сигналы pi, gi, ri. Введем эти сигналы в таблицу истинности сумматора. Соответствие работы этой схемы и таблицы Функционирования можно проверить перебором всех возможный вариантов.
Таблица истинности сумматора
Входы | Промежуточные величины | Выходы | |||||
ai | bi | ci | pi | gi | ri | si | ci+1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
Сумматор с последовательным переносом. Сумматором называется логическое устройство, реализующее операцию арифметического сложения двух многоразрядных чисел. Он строится на базе одноразрядных полных сумматоров, каждый из которых, кроме младшего, должен воспринимать три входных сигнала: два слагаемых и сигнал переноса с младшего разряда. Только в младшем разряде можно обойтись полусумматором. На рис. 29 приведена схема, предназначенная для сложения двух четырехразрядных чисел А и В. Сигнал переноса с4 может принять истинное значение только тогда, когда будет установлено правильное значение с3. Такие сумматоры называются сумматорами с последовательным переносом. Очевидно, что время выполнения операции в таком сумматоре намного больше времени сложения в одноразрядном сумматоре.
Эта схема выпускается в интегральном исполнении. В ее младшем разряде также используется полный сумматор, чтобы иметь возможность наращивания разрядности схемы.
Сумматоры с параллельным переносом. Для уменьшения времени сложения многоразрядных чисел используются сумматоры с параллельным переносом (рис.30). При этом все сигналы переноса вычисляются непосредственно по значениям входных переменных.
Согласно таблице переключений, в общем случае для сигнала переноса любого i-гo разряда справедливо соотношение:
ci+1=ai ∙ bi + (ai
bi) ∙ ci = gi + pi ∙ ci (10)
Величины gi, ri вычисляются в качестве промежуточных результатов и в полном сумматоре. Следовательно, их получение не требует дополнительных затрат. Смысл этих величин объясняется совсем просто. Сигнал gi вырабатывается тогда, когда в данном разряде перенос происходит из-за комбинации входных переменных ai и bi. Поэтому его называют функцией генерации переноса. Сигнал pi показывает, передается ли полученный в младшем разряде сигнал переноса сi, дальше. Поэтому он называется функцией распространения переноса.
Пользуясь выражением (10), можно вывести следующие формулы для вычисления сигналов переноса:
C1=g0 + p0 ∙ c0,
C2= g1 + p1 ∙ c1= g1 + p1 ∙ g0 + p1 ∙ p0 ∙ c0,
C3= g2 + p2 ∙ c2 = g2 + p2 ∙ g1 + p2 ∙ p1 ∙ g0 + p2 ∙ p1 ∙ p0 ∙ c0 (11)
C4= g3 + p3 ∙ c3 = g3 + p3 ∙ g2 + p3 ∙ p2 ∙ g1 + p3 ∙ p2 ∙ p1 ∙ g0 + p3 ∙ p2 ∙ p1 ∙ p0 ∙ c0
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


