Одноразрядные двоичные сумматоры. Карты Карно для переноса и суммы. Схема одноразрядного сумматора, реализующая уравнения, страница 4

Для получения недостающего переноса для сумм от 10 до 15 (этот перенос помечен символом *) составим карту Карно (табл. 4.4), в которой цифрами 8, 4, 2, 1 обозначены разряды сумматора.

Из кары Карно получаем    C* = 84 v 82.

Перенос в старшую декаду в целом должен формироваться так

Cout = 84 v 82 v Co,                                                                                                 (10)

где Co перенос из старшего разряда декады, обозначенного цифрой 8, и показанный в строках 16…19  столбца  Cout  табл. 4.3 в виде 1.

Сигнал переноса Cout  выполняет две функции: является переносом в старшую декаду и служит признаком необходимости коррекции результата (добавления 6).

Схема двоично‑десятичного сумматора показана на рис. 4.10.

Эта схема работает в двоично‑десятичном коде с весами 8, 4, 2, 1, т. е. в естественном представлении каждой десятичной цифры посредством четверки двоичных разрядов – тетрады. Поэтому каждая десятичная цифра слагаемого подается по четырем шинам. Исходные слагаемые A, B и перенос Cin из младшей тетрады подаются на четыре двоичных сумматора SM1…SM4. Если сумма двух десятичных разрядов меньше 10, то сумма на выходах этих сумматоров будет истинной, перенос в следующую тетраду в этом случае отсутствует, коррекция результата не требуется.

Если сумма двух десятичных цифр больше или равна 10, то в данную тетраду необходимо добавить число 6.

Таблица 4.3                                                             

Cout

Эквивалент

Должно быть

 

8

4

2

1

8

4

2

1

 

0

0

0

0

0

0

0

0

0

 

1

0

0

0

1

0

0

0

1

 

2

0

0

1

0

0

0

1

0

 

3

0

0

1

1

0

0

1

1

 

4

0

1

0

0

0

1

0

0

 

5

0

1

0

1

0

1

0

1

 

6

0

1

1

0

0

1

1

0

 

7

0

1

1

1

0

1

1

1

 

8

1

0

0

0

1

0

0

0

 

9

1

0

0

1

1

0

0

1

 

10

*

1

0

1

0

0

0

0

0

Требуется вычесть 10 и организовать перенос

11

*

1

0

1

1

0

0

0

1

12

*

1

1

0

0

0

0

1

0

13

*

1

1

0

1

0

0

1

1

14

*

1

1

1

0

0

1

0

0

15

*

1

1

1

1

0

1

0

1

16

1

0

0

0

0

0

1

1

0

Требуется добавить 6

17

1

0

0

0

1

0

1

1

1

18

1

0

0

1

0

1

0

0

0

19

1

0

0

1

1

1

0

0

1