- •Московский государственный институт
- •2 Разработка алгоритма выполнения арифметических операций сложения и вычитания многоразрядных чисел в заданном двоично-десятичном коде
- •2.1 Разработка алгоритма для одноразрядных десятичных чисел, получение величины коррекции и критерия его ввода
- •2.3.7 Примеры сложения
- •3 Разработки функциональной схемы одноразрядного десятичного сумматора комбинационного типа
- •3.1 Разработка оптимальной схемы одноразрядного двоичного сумматора
- •3.2 Разработка схемы коррекции
- •3.3 Разработка схемы одноразрядного десятичного сумматора
- •4. Проектирование дополнительных схем
- •5. Построение функциональной схемы 3-х разрядного десятичного сумматора
- •6. Разработка устройства управления для многоразрядного десятичного сумматора
- •6.1. Разработка входных и выходных регистров хранения числовой информации, участвующей в операции сложения.
- •6.2. Разработка регистра признаков результата.
- •6.3. Проектирование распределителя сигналов
- •6.4 Логическая схема распределителя сигналов
- •7. Получение общей схемы сумматора
- •8. Выводы по работе
Московский государственный институт
ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
(Технический университет)
Кафедра «Вычислительные системы и сети»
КУРСОВАЯ РАБОТА
на тему
«Проектирование многоразрядного десятичного сумматора комбинационного типа»
по дисциплине «Теория автоматов»
Исполнитель: Руководитель:
студент группы С-33 доцент каф. ВСиС, к. т. н.
___________(Голенок Е.А.) ___________(Бирюков И. И.)
Москва 2011
1 Исходные данные для проектирования
Количество десятичных разрядов – 3;
двоично-десятичный код, в котором находятся числа – 8421+3;
система логических элементов – И-НЕ;
критерий оптимальности элементов для проектирования логических схем – минимальная задержка в логических цепях;
тип триггера для проектирования схемы управления – синхронный двухтактный Dтриггер;
временные параметры синхронизирующей серии импульсов логических элементов:
– время задержки любого логического элемента – 1 нс;
– импульс синхронизации длительностью 2 нс и скважностью 1.
2 Разработка алгоритма выполнения арифметических операций сложения и вычитания многоразрядных чисел в заданном двоично-десятичном коде
2.1 Разработка алгоритма для одноразрядных десятичных чисел, получение величины коррекции и критерия его ввода
Для получения алгоритма построим таблицу соответствия результатов сложения десятичных и двоично-десятичных чисел (Табл. 1).
Каждая ячейка этой таблицы содержит (сверху вниз):
– корректирующую комбинацию;
– результат сложения соответствующих двоично-десятичных чисел по правилам двоичной арифметики;
– корректный результат сложения.
Таблица 1 – соответствие результатов сложения десятичных и двоично-десятичных чисел
№8421 +3 |
0 0011 |
1 0100 |
2 0101 |
3 0110 |
4 0111 |
5 1000 |
6 1001 |
7 1010 |
8 1011 |
9 1100 |
0 0011 |
0100 0011 |
0111 0100 |
1000 0101 |
1001 0110 |
1010 0111 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1 0100 |
0111 0100 |
1000 0101 |
1001 0110 |
1010 0111 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
2 0101 |
1000 0101 |
1001 0110 |
1010 0111 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
3 0110 |
1001 0110 |
1010 0111 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
4 0111 |
1010 0111 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
5 1000 |
1011 1000 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
1.0100 1.0111 |
6 1001 |
1100 1001 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
1.0100 1.0111 |
1.0101 1.1000 |
7 1010 |
1101 1010 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
1.0100 1.0111 |
1.0101 1.1000 |
1.0110 1.1001 |
8 1011 |
1110 1011 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
1.0100 1.0111 |
1.0101 1.1000 |
1.0110 1.1001 |
1.0111 1.1010 |
9 1100 |
1111 1100 |
1.0000 1.0011 |
1.0001 1.0100 |
1.0010 1.0101 |
1.0011 1.0110 |
1.0100 1.0111 |
1.0101 1.1000 |
1.0110 1.1001 |
1.0111 1.1010 |
1.1000 1.1011 |
Алгоритм сложения чисел в коде 8421+3:
1) Если результат от сложения двух одноразрядных десятичных чисел с учетом переноса из предыдущего разряда меньше десяти, то требуется коррекция. Корректирующая величина 1101. Единицу переноса, которая при этом получается, можно отбросить.
2) Если результат от сложения больше или равен десяти (т.е. есть единица переноса) то тоже требуется коррекция. В этом случае корректирующая величина будет 0011.
Правило введения корректирующей величины:
Корректировать результат надо в любом случае. Корректирующую величину 0011 необходимо прибавить к полученному результату от сложения Т(А) и Т(В), если есть перенос в следующий разряд Пi = 1. Если единицы переноса нет – корректирующая величина 1101.
Единицу переноса, возникающую при коррекции, отбрасываем.
2.3.1 Положительная величина (+ А) складывается с другой положительной величиной (+В) с получением положительного результата (+С) без переполнения (+А)+(+В)=(+С). 2.3.2 (+А)+(-В) =(+С). 2.3.3. (+А+(-В)=(-С). 2.3.4 (-А)+(-В)=(-С).
2.3.5 (+А)+(+ В)=(-С) Переполнение разрядной сетки. 2.3.6 (-А)+(-В)=(+С) Переполнение разрядной сетки.