- •Проектирование логической схемы одноразрядного двоичного сумматора
- •Проектирование логической схемы одноразрядного десятичного сумматора.
- •2.3.4. Проектирование дополнительных схем.
- •Построение функциональной схемы 3-х разрядного сумматора.
- •Устройство управления многоразрядным сумматором
- •2.4.1. Проектирование распределителя сигналов
Проектирование логической схемы одноразрядного десятичного сумматора.


2.3.4. Проектирование дополнительных схем.
Все числа, которые приходят на входы сумматора, представлены в прямом коде. Для выполнения операции сложения (вычитания) с этими величинами необходимо представить их в обратном коде. Для этого необходимо разработать преобразователь чисел из прямого кода в обратный. Причем преобразователь из обратного кода в прямой будет иметь ту же схему.
Пусть на вход преобразователя приходят одноразрядные десятичные числа, закодированные с помощью двоичных символов и имеющие условные обозначения а0 – знак числа, 8421 – само число.
На выходе будет а0 – знак числа (он не изменяется), ’’8’’4’’2’’1.
Зная правила записи числа в обратном коде, составим таблицу истинности преобразователя.
|
a0 |
8 |
4 |
2 |
1 |
’’8 |
’’4 |
’’2 |
’’1 |
|
0 |
0 |
0 |
0 |
0 |
X |
X |
X |
X |
|
0 |
0 |
0 |
0 |
1 |
X |
X |
X |
X |
|
0 |
0 |
0 |
1 |
0 |
X |
X |
X |
X |
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
1 |
0 |
1 |
X |
X |
X |
X |
|
0 |
1 |
1 |
1 |
0 |
X |
X |
X |
X |
|
0 |
1 |
1 |
1 |
1 |
X |
X |
X |
X |
|
1 |
0 |
0 |
0 |
0 |
X |
X |
X |
X |
|
1 |
0 |
0 |
0 |
1 |
X |
X |
X |
X |
|
1 |
0 |
0 |
1 |
0 |
X |
X |
X |
X |
|
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
X |
X |
X |
X |
|
1 |
1 |
1 |
1 |
0 |
X |
X |
X |
X |
|
1 |
1 |
1 |
1 |
1 |
X |
X |
X |
X |
|
|
Приводим в базис «и – не, и»
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Приводим в базис «и – не, и»
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Приводим в базис «и – не, и»
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Приводим в базис «и – не, и»
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
По полученным аналитическим выражениям построим функциональную схему преобразователя

В дальнейшем данную схему будем изображать следующим образом

При наступлении переполнения разрядной сетки результат получается неправильным. Чтобы фиксировать наступление переполнения необходимо спроектировать специальную схему. В основу проектирования этой схемы положено правило наступления переполнения разрядной сетки. Оно гласит - переполнение наступает если:
-
при сложении двух положительных величин результат получается отрицательным;
-
при сложении двух отрицательных величин результат получается положительным.
Обозначим:
а0 и b0 - знаки слагаемых
c0 - знак результата
- знак переполнения.
По правилам переполнения составим таблицу истинности для переключательной функции .
|
а0
b0
c0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0 |
|
Приводим в базис «и – не, и»
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функциональная схема фиксирующая переполнение
Условное изображение этой функциональной схемы будет следующим

Правило сложения чисел в обратном коде гласит, что при выполнении операции знаковые разряды участвуют в сложении на ровне с остальными разрядами. При этом учитывается перенос в знаковый разряд и перенос из знакового разряда. Поэтому для получения знака результата можно использовать одноразрядный двоичный сумматор.

