
- •Аннотация
- •Лабораторная работа №5
- •1. Введение
- •2. Теоретическая часть
- •2.1. Основные определения, теоретические положения. Классификации.
- •2.2. Комбинационный одноразрядный двоичный сумматор.
- •2.3. Двоично-десятичные коды.
- •Правила поразрядного сложения в двоично-десятичных кодах (ддк)
- •2.3.1 Правила сложения д1-кода.
- •2.3.2. Правила сложения для д2 кодов.
- •2.3.3. Правила сложения для д4 кодов.
- •3. Практическая часть
- •3.1. Программа и порядок проведения работы
- •Варианты заданий.
- •3.2. Лабораторное оборудование
- •3.3. Пример проектирования сумматоров
- •4. Реализуем полный одноразрядный комбинационный сумматор на сдвоенном мультиплексоре mux 4
- •5. Синтезируем и реализуем двоично-13-ричный сумматор.
- •3.4. Содержание отчёта
- •4. Контрольные вопросы
- •5. Литература
- •6. Содержание
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+∆ (общий случай).
Обозначим:
A∆i=Ai + ∆
B∆i=Bi + ∆
C∆i=Ci + ∆ [C∆i =( Ai + ∆)+( Bi + ∆)+ Pi-1 - ∆]= Ai + Bi + Pi-1+ ∆
где Ai ,Bi , Ci - числа в коде 8421.
S1i = (S11 , S12 , S13 , S14) – значение суммы на выходах S первой ступени сумматора (SM1..SMn) в двоичной системе счисления,
C1i = (P4 , S1i) – полная сумма ( в двоичной системе счисления на всех выходах первой ступени SM.
S2 i = (S21 , S22 , S23 , S24) – значение суммы на выходах S второй ступени сумматора (SMn+1..SM2n) по модулю заданной системы счисления;
C2i = (Pi(n), S2i) – полная истинная сумма на выходе второй ступени сумматора в заданном коде и заданной системе счисления.
Где:
Pi(n) – перенос в старший разряд, количественный эквивалент которого равен qi(n)+ ∆ ,
qi(n) – основание заданной системы счисления.
Тогда:
Если C1i = A∆i + B∆i + Pi-1 < qi(n)+ 2∆,
то: Pi(n) = 0,
а C2i = C1i - ∆ .
Действительно, C1i = A∆i + B∆i + Pi-1= Ai + Bi + Pi-1+ ∆+∆= C∆i+ ∆
2. Если C1i = A∆i + B∆i + 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)+ ∆]
Примечание:
На выходе первой ступени сумматора сумма C1i получается в двоичной системе счисления.
На выходе второй ступени сумматора сумма C2i является истинной суммой в заданном коде.
Операция вычитания величин ∆ и [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).