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

2.3.3. Правила сложения для д4 кодов.

Рассмотрим таблицу возможных значений выходов ДДС для Д4 кода (табл.3). Анализ таблицы показывает что при сложении чисел в Д4 коде могут возникнуть следующие случаи:

1. Если Сi 15 (перенос отсутствует) то необходимо ввести коррекцию -310(-00112) ,+1310(+11012) , без формирования переноса.

Табл. 3.

P4

S*4 S*3 S*2 S*1

Ci

Ci11

0

1

2

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

30

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

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

-

-

-

0

1

2

3

4

5

6

7

8

9

-

-

-

I

II

С111 = С* - 3

III

IV

V

С112 = С* + 3

VI

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

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

-

-

-

0

1

2

3

4

5

6

7

8

9

-

-

-

2. Если Сi 16 (перенос возникает) то необходимо

ввести коррекцию +310(00112), здесь Сi - сумма в двоичном коде.

Действительно в первом случае при сложении двух чисел в Д4 коде получаем:

С1*i = Аi +Bi+Pi-1+3+3

Откуда : = -3 есть истинная сумма в Д4 коде, так как отсутствует перенос Pi.

Где: = Ai+3, = Bi+3 , = Ci+3.

C1*i- двоичная сумма слагаемых представленных в Д4 коде при отсутствии переноса.

Во втором случае (при возникновении переноса Pi) получаем :

С2*i = Аi +Bi+Pi-1+3+3

Ci

Таким образом во втором случае (т.е. при возникновении переноса Pi=16 единицам) получаем число

С2*i = Аi +Bi+Pi-1+3+3

которое состоит из переноса Pi=16 и суммы по модулю 16.

Следовательно:

S*i = Аi +Bi+Pi-1+3+3-16= Аi +Bi+Pi-1-10

Ci

Где: - S* сумма по модулю.

- 10 перенос для двоично-десятичного кода.

Таким образом сформировалась сумма S*i без избытка 3, т.е. в ней не хватает числа 3, чтобы быть Д4 кодом. Следовательно к содержимому сумматора необходимо прибавить +310(0011)2.

Схема сумматора Д4 кода приведена на рис.3.

Он состоит из двух ступеней. В первой ступени осуществляется суммирование на 4х разрядном сумматоре (SM1…SM4). Во второй ступени вводится коррекция.

Где: II и V – области разрешенных комбинаций,

I, III, IV и VI – области запрещенных комбинаций.

= Ai+3 ; = Bi+3; =Ci+3.

Рис.3

Где S* (S4* S3* S2* S1*)- сумма по модулю 16.

( )- сумма по модулю в коде Д4 .

.

2.2.4. Принцип построения сумматора для кода 8421+∆ (общий случай).

Обозначим:

  1. Ai=Ai + ∆

Bi=Bi + ∆

Ci=Ci + ∆ [Ci =( Ai + ∆)+( Bi + ∆)+ Pi-1 - ∆]= Ai + Bi + Pi-1+ ∆

где Ai ,Bi , Ci - числа в коде 8421.

  1. S1i = (S11 , S12 , S13 , S14) – значение суммы на выходах S первой ступени сумматора (SM1..SMn) в двоичной системе счисления,

C1i = (P4 , S1i) – полная сумма ( в двоичной системе счисления на всех выходах первой ступени SM.

  1. S2 i = (S21 , S22 , S23 , S24) – значение суммы на выходах S второй ступени сумматора (SMn+1..SM2n) по модулю заданной системы счисления;

C2i = (Pi(n), S2i) – полная истинная сумма на выходе второй ступени сумматора в заданном коде и заданной системе счисления.

Где:

Pi(n) – перенос в старший разряд, количественный эквивалент которого равен qi(n)+ ∆ ,

qi(n) – основание заданной системы счисления.

Тогда:

  1. Если C1i = Ai + Bi + Pi-1 < qi(n)+ 2∆,

то: Pi(n) = 0,

а C2i = C1i - ∆ .

Действительно, C1i = Ai + Bi + Pi-1= Ai + Bi + Pi-1+ ∆+∆= Ci+ ∆

2. Если C1i = Ai + Bi + Pi-1 ≥ qi(n)+ 2∆

то: Pi(n) = 1,

а C2i = C1i – [qi(n)+ ∆]

Где:

[qi(n)+ ∆] – количественный эквивалент основания системы счисления в заданном коде.

Таким образом:

1. Если сумма на выходе первой ступени сумматора (C1i) меньше заданного основания системы счисления qi(n) плюс 2∆, т.е. [qi(n)+2∆], то перенос в старший разряд отсутствует – [Pi(n) = 0], а истинная сумма будет формироваться на второй ступени сумматора, путем вычитания из C1i значения ∆.

2.Если сумма на выходе первой ступени сумматора C1i, больше или равна [qi(n)+ 2∆] , то перенос в старший разряд равен 1, т.е. [Pi(n) = 1], а из суммы C1i на второй ступени вычитается основание системы счисления в заданном коде [qi(n)+ ∆]

Примечание:

  1. На выходе первой ступени сумматора сумма C1i получается в двоичной системе счисления.

  2. На выходе второй ступени сумматора сумма C2i является истинной суммой в заданном коде.

  3. Операция вычитания величин ∆ и [qi(n)+ ∆] осуществляется на второй ступени сумматора, путем сложения с дополнительными кодами соответствующих величин “∆” и [qi(n)+ ∆].

Пример:

Ai=7 , Bi=8 , =5, qi(10), т.е . код 8421+5 и основание системы счисления равно 10.

Тогда :

A i=7+5=12(1100), B i=8+5=13(1101),

а C1i= Ai+ Bi+Pi-1+5+5=12+13+0=25(1,1001)>q(10)+2∆

Следовательно

Pi(n) = 1,

а S2i = C1i – [qi(n)+ ∆]=25 – 15 = 10 ,

Так как Si = S2i - ∆ = 10 – 5 = 5 (0101), а C2i = (Pi(n), S2i)

То в результате получаем число 1.0101 = (15).