- •Московский государственный институт
- •Разработка алгоритма выполнения арифметических операций сложения и вычитания многоразрядных чисел в заданном двоично-десятичном коде.
- •Разработка оптимальной схемы одноразрядного двоичного сумматора с учетом заданного базиса логических элементов.
- •Логическая схема одноразрядного двоичного сумматора.
- •Разработка схемы коррекции.
- •Разработка схемы одноразрядного десятичного сумматора.
- •В дальнейшем данную схему будем изображать следующим образом
- •Разработка преобразователя прямого кода в обратный для работы с отрицательными величинами.
- •В дальнейшем данную схему будем изображать следующим образом
- •Функциональная схема фиксирующая переполнение
- •Условное изображение этой функциональной схемы будет следующим.
- •Разработка схемы для определения знака суммы.
- •Разработка функциональной схемы многоразрядного десятичного сумматора
- •Разработка входных и выходных регистров хранения числовой информации, участвующей в операции сложения.
- •Разработка регистра признаков результата.
- •Расчет временных параметров устройства управления.
- •Общая структура схемы многоразрядного десятичного сумматора комбинационного типа с устройством управления.
Московский государственный институт
ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
(Технический университет)
Кафедра «Вычислительные
системы и сети»
КУРСОВАЯ РАБОТА
на тему
«Проектирование многоразрядного десятичного сумматора комбинационного типа»
по дисциплине «Теория автоматов»
|
Исполнитель:
студент группы С-31
___________() |
|
Руководитель:
ст. препод. каф. ВСиС, к. т. н.
___________(Бирюков И. И.) |
|
Москва 2009
| ||
Исходные данные для проектирования.
Количество десятичных разрядов – 3.
Двоично-десятичный код, в котором находятся числа. – 8421+6.
Система логических элементов – И – НЕ, И.
Критерий оптимальности элементов для проектирования логических схем – минимальное число логических элементов (ЛЭ) в проектируемых схемах.
Тип триггера для проектирования схемы управления – двухтактный синхронный J-K-триггер.
Временные параметры синхронизирующей серии импульсов логических элементов:
Задержка 1 логического элемента – 1нс.
Длительность импульса – 2нс.
Промежуток между импульсами – 1нс.
Разработка алгоритма выполнения арифметических операций сложения и вычитания многоразрядных чисел в заданном двоично-десятичном коде.
|
8421+6 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 | |
|
0 |
1100 |
1101 |
1110 |
1111 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
|
0110 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
|
1 |
1101 |
1110 |
1111 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
|
0111 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
0110 |
|
2 |
1110 |
1111 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
|
1000 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
0110 |
0111 |
|
3 |
1111 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
|
1001 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
0110 |
0111 |
1000 |
|
4 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
|
1010 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
0110 |
0111 |
1000 |
1001 |
|
5 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
|
1011 |
1011 |
1100 |
1101 |
1110 |
1111 |
0110 |
0111 |
1000 |
1001 |
1010 |
|
6 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
|
1100 |
1100 |
1101 |
1110 |
1111 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
|
7 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
|
1101 |
1101 |
1110 |
1111 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
|
8 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
|
1110 |
1110 |
1111 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
|
9 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
|
1111 |
1111 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Цветом выделена область, где необходима коррекция: |
|
Отсутствие переноса | ||||||||
|
|
|
|
|
|
|
|
|
Запрещенная комбинация | ||
Величина коррекции одинакова для обеих областей и равна 1010.
если результат от сложения двух одноразрядных десятичных чисел с учетом переноса из предыдущего разряда больше или равно десяти, то коррекция не требуется. При этом результат получается в коде 8421+6 и присутствует перенос в следующую тетраду;
если результат от сложения двух одноразрядных чисел меньше десяти, то коррекция требуется. Корректирующая величина будет 1010.
При этом результат получается в виде комбинации, которая не используется в коде 8421+6 с присутствием единицы переноса в следующую тетраду или величина, которая присутсвует в коду 8421+6 однако, этот результат не верен и требует коррекции.
На основании этого алгоритма можно выработать правило введения корректирующей величины:
корректирующую величину 1010 необходимо прибавить к полученному результату от сложения T(A) иT(B), если результат — запрещенная величина или если нет переноса в следующий разряд Пi= 1. В обоих случаях после введения коррекции получается величина Пi= 1, которую необходимо отбросить для получения правильного результата.
Примеры:





Примеры с переполнением:


