Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая по теории автоматов.docx
Скачиваний:
45
Добавлен:
08.02.2015
Размер:
829.91 Кб
Скачать

Московский государственный институт

ЭЛЕКТРОНИКИ И МАТЕМАТИКИ

(Технический университет)

Кафедра «Вычислительные системы и сети»

КУРСОВАЯ РАБОТА

на тему

«Проектирование многоразрядного десятичного сумматора комбинационного типа»

по дисциплине «Теория автоматов»

Исполнитель: Руководитель:

студент группы С-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 (-А)+(-В)=(+С) Переполнение разрядной сетки.