Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5. Исследование сумматоров.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

2.2. Комбинационный одноразрядный двоичный сумматор.

Комбинационный одноразрядный двоичный сумматор на три входа и два выхода – это логическая схема, которая по разрядным значениям xi и yi слагаемых Х и Y и по значению переноса Zi = Pi-1 младшего разряда формирует значение разрядной суммы Si и переноса в старший разряд Pi.

Закон функционирования такого сумматора описывается следующей переключательной функцией:

или

Используя законы алгебры логики выражения (7) и (8) можно привести к виду, допускающему схемную реализацию их с использованием элементов: двух полусумматоров и одной схемы ИЛИ; И-ИЛИ-НЕ; И-НЕ:

(9)

2.3. Двоично-десятичные коды.

Операции над десятичными числами (десятичная арифметика) часто включаются в состав основных команд универсальных ЭВМ. Кроме того, десятичная арифметика реализуется широко в калькуляторах и персональных компьютерах. Поэтому необходимо знать алгоритм выполнения арифметических операций над десятичными числами.

Д-код (двоично-кодированное представление) десятичного числа – такое его представление, в котором каждая десятичная цифра изображается тетрадой из двоичных символов:

где: двоичные разряды j-ой тетрады;

n – количество десятичных разрядов

При использовании Д-кодов желательно, чтобы кодирование удовлетворяло некоторым ограничениям. Приведем пять основных требований, которые сформулированы Рутисхаузером:

Единственность. Необходимо однозначное соответствие цифр и тетрад.

Упорядоченность. Большим десятичным цифрам должны соответ­ствовать большие (по количественному эквиваленту) тетрады. Выполнение этого требования необходимо при сравнении кодирован­ных чисел.

Четность. Четным десятичным цифрам должны соответство­вать четные тетрады (у которых в крайнем правом разряде стоит нуль), а нечетным цифрам - нечетные тетрады.

Дополнительность. Если цифры десятичной CС таковы, что сумма их равна девяти, то им должны сопоставляться тетрады, которые взаимно инвертированы (для образования обратного или дополнительного кода).

Весомозначность. Должны существовать четыре веса p1p2p3p4 таких, что если десятичной цифре "х" сопоставлена тетрада то имеет место равенство

Кодирование, удовлетворяющее всем пяти требованиям назы­вается совершенным. Единственным кодом, обладающим всеми пятью свойствами является код Айкена-Эмери (код 2421).

На практике часто используются, также, код Штибитца (8421+3) и код прямого замещения (стандартный код 8421).

Обозначим:

Д1 код – стандартный код 8421;

Д2 код – код 2421;

Д4 код – код 8421+3;

Правила поразрядного сложения в двоично-десятичных кодах (ддк)

При выполнении каких-либо действий в ДДК возможно появление запрещенных комбинаций. Это свидетельствует или о возникновении ошибки, или же о необходимости осуществлять коррекцию результата.

2.3.1 Правила сложения д1-кода.

Рассмотрим таблицу возможных значений выходов двоично-десятичного сумматора.

Табл. 1

№ п/п

P4 (16)

S4S3S2S1

Pi(10)

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

31

31

0

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

0

0

1

2

3

4

5

6

7

8

9

Зона 1

Разрешенные

комбинации

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

1

-

-

-

-

-

-

Зона 2

Запрещенные комбинации коррекция -10

1

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

0

1

2

3

4

5

6

7

8

9

Зона 3

Разрешенные

комбинации

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

-

-

-

-

-

-

-

-

-

-

-

-

Зона 4

Факультативные комбинации

Из таблицы 1 видно, что при сложении чисел в Д1-коде могут возникнуть следующие случаи:

1. S*i=Ai + Bi + Pi-1 < 10, тогда Pi(10)=0 и правильный результат получают без коррекции. Другими словами, если сумма двух двоично-десятичных цифр и переноса из младшего разряда Ai + Bi + Pi-1 меньше 10 (1010), то число на выходе сумматора будет истинной суммой, которая представляется четырьмя двоичными разрядами , а перенос в старший разряд Pi(10) равен нулю (Зона разрешенных комбинаций Зона 1).

2. S*i=Ai + Bi + Pi-1 > 10, тогда Рi(10)=1, а результат требует коррекции. В этом случае сумма двух двоично-десятичных цифр и переноса из младшей тетрады будет находится в пределах от 10 (1010)2 до 19 (10011)2. Для получения правильного результата необходимо выработать сигнал переноса в старший десятичный разряд Рi(10) и вычесть число 10 (1010) из полученной суммы. Вместо вычитания 10 (1010) для формирования истинной суммы с помощью дополнительных сумматоров выполняется сложение с дополнительным кодом “-10” (-1010), т.е. прибавление числа 6 (0110). Перенос из старшего разряда второй ступени сумматоров при этом не используется, поэтому операция прибавления 6 (0110) равноценна вычитанию 10 (1010).

Из вышесказанного следует, что схема двоично-десятичного сумматора в Д1-коде должна состоять из двух ступеней четырехразрядных двоичных сумматоров и схемы формирования переноса в старший десятичный разряд Pi(10).

Схема формирования переноса проектируется с использованием таблицы (Табл.3), входными аргументами которой являются выходные сигналы первой ступени

сумматора , а выходным – функция Pi(10).

Минимизируя с помощью карты Карно получаем уравнение, по которому и реализуем схему формирования Pi(10).

P4 S*4 Pi(10)

10

1

1

1

1

1

1

1

1

11

1

-

-

-

-

-

-

-

01

0

0

1

1

1

1

1

1

00

0

0

0

0

0

0

0

0

000

001

011

010

110

111

101

100

Тогда схема комбинационного одноразрядного двоично-десятичного сумматора с кодом Д1 (8421) будет иметь вид (Рис1)

где:

А= а4а3а2а1 B=b4b3b2b1

- промежуточное значение суммы (т.е. двоичная сумма)

- окончательный результат суммирования (т.е. двоично-десятичная сумма)

Pi(10) – десятичный перенос в старший разряд.

Pi-1(10) – десятичный перенос из младшего десятичного разряда.

разряда.

Работает двоично-десятичный сумматор следующим образом:

Десятичные разряды чисел А и В представляются четырехразрядными двоичными числами а4а3а2а1 и b4b3b2b1, которые одновременно с переносом Pi-1(10) подаются на соответствующие входы четырех одноразрядных двоичных сумматоров SM1…SM4. На этих сумматорах происходит сложение двух четырехразрядных слагаемых по правилам двоичной арифметики.

Рис.1 Схема одноразрядного двоично-десятичного сумматора в Д1-коде

Если сумма A+B+Pi-1(10)<10, то перенос Pi(10) будет равен нулю и на второй ступени сумматоров SM5…SM7 будет осуществляться суммирование числа, полученного на выходах с нулем.

Таким образом на выходе получим число

= .

Если сумма A+B+Pi-1(10)>10, то с помощью схемы И1, И2 и ИЛИ формируется перенос Pi(10)=1. Но если Pi(10)=1, то на входы второй ступени сумматоров SM5…SM7 подается число в (0110), на другие входа которого поступают сигналы с соответствующих выходов первой ступени сумматоров SM1…SM4(S4*S3*S2*S1*) . Перенос из старшего разряда сумматора при этом (с выхода SM7) не используется, поэтому операция прибавления 6(0110) равноценна вычитанию 10(1010).

Например при сложении А=0100 и В=1001 получаем S*= 1101(где S*-промежуточная сумма). При этом, на выходе схемы формирования переноса образуется 1 (т.е. Pi(10)=1). Эта “1” поступает на входы SM5 и SM6 , т.е. формирует число 6(0110),которое складывается с числом 1101.На выходе второй ступени сумматоров SM5…SM7 получаем число 0011. В результате получаем сумму равную 1.0011 (т.е. 13).