- •Проектирование многоразрядного десятичного сумматора комбинационного типа
- •1. Цель и практическое содержание методических указаний
- •1.1. Цель работы
- •1.2. Краткое содержание
- •2. Теоретическая часть
- •2.1. Теория о двоично-десятичном кодировании и свойствах кодов
- •Примеры двоично-десятичных кодов
- •2.2. Сложение одноразрядных десятичных числе со знаком в двоично-десятичном коде
- •0.1000.0111.0101
- •2.3. Проектирование функциональной логической схемы и её реализация в заданном базисе логических элементов
- •2.3.1. Общие принципы
- •2.3.2. Проектирование логической схемы одноразрядного двоичного сумматора
- •2.3.3. Проектирование одноразрядного десятичного сумматора в коде 8421
- •2.3.4. Проектирование дополнительных схем
- •2.3.5. Построение функциональной схемы 3-х разрядного десятичного сумматора
- •2.4. Устройство управления многоразрядным сумматором
- •2.4.1. Проектирование распределителя сигналов
- •2.4.2. Получение общей схемы сумматора
- •2.5. Порядок оформления пояснительной записки
- •Литература
- •Приложение
- •Содержание
0.1000.0111.0101
Та же самая величина со знаком минус будет представлена:
[-875]пр. = 1.1000.0111.0101
[-875]обр. = 1.0001.0010.0100
[-875]доп. = 1.0001.0010.0101
Для работы с отрицательными числами в двоично-десятичной арифметике удобнее работать в обратном коде, так как все преобразователи из прямого кода в обратный будут одинаковые.
Чтобы закончить первый раздел проектирования сумматора комбинационного типа, рассмотрим 6 примеров сложения 3-х разрядных десятичных чисел в коде 8421.
1)
+ |
249 |
|
+ |
0.0010.0100.1001 |
358 |
|
0.0011.0101.1000 | ||
607 |
|
0.0101.1010.0001 |
Есть "1" переноса и запрещённая в коде комбинация — требуется 2 коррекции:
+ |
0.0101.1010.0001 |
0110.0110 | |
0.0110.0000.0111 |
Получен требуемый результат. Результат сохраняется.
2)
+ |
479 |
|
+ |
0.0100.0111.1001 |
|
|
-258 |
|
1.0111.0100.0001 | ||||
221 |
|
+ |
1.1011.1011.1010 |
|
Коррекция | |
|
|
0110.0110.0110 | ||||
|
|
10.0010.0010.0000 |
|
|
При сложении чисел в обратном коде "1" переноса из знакового разряда добавляется к младшему разряду результата:
+ |
|
1 |
0.0010.0010.0000 |
1 | |||
0.0010.0010.0001 |
Получен требуемый результат. Результат сохраняется.
3)
+ |
378 |
|
+ |
0.0011.0111.1000 |
|
|
-859 |
|
1.0001.0100.0000 | ||||
-481 |
|
+ |
1.0101.0001.1000 |
|
Коррекция | |
|
|
0110 | ||||
|
|
1.0101.0001.1000 |
|
|
Получен требуемый результат в обратном коде. В прямом коде этот результат будет иметь вид: 1.0100.1000.0001. Результат сохраняется.
4)
+ |
-452 |
|
+ |
1.0101.0100.0111 |
|
|
-377 |
|
1.0110.0010.0010 | ||||
-829 |
|
+ |
0.1011.0110.1001 |
|
Коррекция | |
|
|
0110 1 | ||||
|
|
+ |
1.0001.0110.1010 |
|
Коррекция | |
|
|
0110 | ||||
|
|
1.0001.0111.0000 |
|
|
Получен требуемый результат. Результат сохраняется.
В примере введения коррекции в различные разряды разделено. В схемном варианте они вводятся практически одновременно, так как "1" переноса из знакового разряда приходит на вход младшей тетрады с очень малой задержкой по времени.
5) Переполнение разрядной сетки:
+ |
759 |
|
+ |
0.0111.0101.1001 |
|
|
878 |
|
0.1000.0111.1000 | ||||
(1)637 |
|
+ |
0.1111.1101.0001 |
|
Коррекция | |
|
|
0110.0110.0110 | ||||
|
|
1.0110.0011.0111 |
|
|
Признаком переполнения является отрицательный результат от сложения двух положительных величин.
6) Переполнение разрядной сетки:
+ |
-547 |
|
+ |
1.0100.0101.0010 |
|
|
-759 |
|
1.0010.0100.0011 | ||||
-(1)303 |
|
+ |
0.0110.1001.0101 |
|
Коррекция | |
|
|
1 | ||||
|
|
0.0110.1001.0110 |
|
|
Признаком переполнения является положительный результат от сложения двух отрицательных чисел.