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

Автор работы: Пользователь скрыл имя, 20 Сентября 2013 в 18:55, курсовая работа

Описание работы

Суммирование одноразрядных десятичных чисел происходит в два этапа. На первой ступени суммирования получается результат, который подвергается анализу на предмет введения коррекции, на второй ступени при необходимости вводится коррекция.

Содержание работы

1. Исходные данные для проектирования 3
2. Разработка алгоритма выполнения арифметических операций сложения
и вычитания многоразрядных чисел в заданном двоично-десятичном коде 3
2.1. Разработка алгоритма для одноразрядных чисел,
получение величины коррекции и критерии ее ввода 3
2.2. Обобщение полученного алгоритма на многоразрядные числа
при выполнении операций сложения и вычитания 5
2.3. Примеры на случаи сложения 6
3. Разработка функциональной схемы одноразрядного десятичного сумматора комбинационного типа 8
3.1. Разработка оптимальной схемы одноразрядного двоичного сумматора 8
3.2. Разработка схемы коррекции 10
4. Разработка дополнительных схем для функционирования многоразрядного десятичного сумматора 16
4.1. Разработка преобразователя прямого кода в обратный код 16
4.2. Разработка схемы, фиксирующей переполнение разрядной сетки 19
4.3. Разработка схемы для определения знака суммы 20
5. Разработка схемы многоразрядного десятичного сумматора 20
6. Разработка устройства управления для многоразрядного десятичного сумматора 21
6.1. Разработка входных и выходных регистров хранения числовой информации 21
6.2. Разработка регистра признаков результата 22
6.3. Расчет временных параметров устройства управления 24
6.4. Разработка схемы для получения управляющих сигналов
и схемы пуска выполнения операции сложения 25
7. Общая структура многоразрядного десятичного сумматора комбинационного типа
с устройством управления 29
8. Вывод по работе 30

Файлы: 1 файл

Курсовая Олег.docx

— 1.37 Мб (Скачать файл)

Правительство Российской федерации

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

Национальный исследовательский университет

Высшая школа экономики

 

 

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

 

 

 

Курсовая работа

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

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

 

Вариант 12

 

 

 

 

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

студент группы СВ-51    ст. преподаватель кафедры ВСиС

Кандальцев О.И.      Бирюков И.И.

 

 

 

 

 

 

Москва 2013 

Содержание

 

1. Исходные данные для проектирования 3

2. Разработка алгоритма выполнения арифметических операций сложения  
и вычитания многоразрядных чисел в заданном двоично-десятичном коде 3

2.1. Разработка алгоритма для одноразрядных чисел,  
получение величины коррекции и критерии ее ввода 3

2.2. Обобщение полученного алгоритма на многоразрядные числа  
при выполнении операций сложения и вычитания 5

2.3. Примеры на случаи сложения 6

3. Разработка функциональной схемы одноразрядного десятичного сумматора комбинационного типа 8

3.1. Разработка оптимальной схемы одноразрядного двоичного сумматора 8

3.2. Разработка схемы коррекции 10

4. Разработка дополнительных схем для функционирования многоразрядного десятичного сумматора 16

4.1. Разработка преобразователя прямого кода в обратный код 16

4.2. Разработка схемы, фиксирующей переполнение разрядной сетки 19

4.3. Разработка схемы для определения знака суммы 20

5. Разработка схемы многоразрядного десятичного сумматора 20

6. Разработка устройства управления для многоразрядного десятичного сумматора 21

6.1. Разработка входных и выходных регистров хранения числовой информации 21

6.2. Разработка регистра признаков результата 22

6.3. Расчет временных параметров устройства управления 24

6.4. Разработка схемы для получения управляющих сигналов  
и схемы пуска выполнения операции сложения 25

7. Общая структура многоразрядного десятичного сумматора комбинационного типа  
с устройством управления 29

8. Вывод по работе 30

 

 

  1. Исходные данные для проектирования.

 

    1. Количество десятичных разрядов сумматора: 3.
    2. Двоично-десятичный код, в котором находятся числа: 2421.

 

Таблица 1 – Кодирование  цифр десятичного кода в формате 2421.

Цифра

Кодирование 2421

0

0000

1

0001

2

0010

3

0011

4

0100

5

1011

6

1100

7

1101

8

1110

9

1111


 

    1.  Система логических элементов: И-НЕ, И.

 

    1.  Критерий оптимальности элементов для проектирования логических схем: минимальное число логических элементов (ЛЭ)  в проектируемых схемах.

 

    1.  Тип триггера для проектирования схемы управления: двухтактный синхронный J-K- триггер.

 

    1.  Временные параметры синхронизирующей серии импульсов логических элементов: Время задержки в любом ЛЭ:1нсек, импульсы синхронизации длительностью 2 нсек со скважностью 1.

 

  1. Разработка алгоритма выполнения арифметических операций сложения и вычитания многоразрядных чисел в заданном двоично-десятичном коде.

 

    1. Разработка алгоритма для одноразрядных чисел, получение величины коррекции и критерии ее ввода.

 

Для получения алгоритма сложения двух чисел в коде 2421 построим симметричную относительно главной диагонали таблицу соответствия результатов сложения десятичных и двоично-десятичных кодов.

 

Каждая клетка таблицы  содержит:

  • Корректирующую величину.
  • Результат сложения соответствующих двоично-десятичных чисел по правилам двоичной арифметики.
  • Корректный результат сложения, т.е. результат, который должен получиться при сложении двоично-десятичных чисел.

Таблица 2 - Соответствие результатов  сложения десятичных и двоично-десятичных кодов.

Код

2421

0

0000

1

0001

2

0010

3

0011

4

0100

5

1011

6

1100

7

1101

8

1110

9

1111

0

0000

0000

0000

0001

0001

0010

0010

0011

0011

0100

0100

1011

1011

1100

1100

1101

1101

1110

1110

1111

1111

1

0001

 

0001

0001

 

0010

0010

 

0011

0011

 

0100

0100

0110

0101

1011

 

1100

1100

 

1101

1101

 

1110

1110

 

1111

1111

 

1 0000

1 0000

2

0010

 

0010

0010

 

0011

0011

 

0100

0100

0110

0101

1011

0110

0110

1100

 

1101

1101

 

1110

1110

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

3

0011

 

0011

0011

 

0100

0100

0110

0101

1011

0110

0110

1100

0110

0111

1101

 

1110

1110

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

 

1.0010

1.0010

4

0100

 

0100

0100

0110

0101

1011

0110

0110

1100

0110

0111

1101

 

1110

1110

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

 

1.0010

1.0010

 

1.0011

1.0011

5

1011

 

1011

1011

 

1100

1100

 

1101

1101

 

1110

1110

 

1111

1111

1010

0110

1.0000

1010

0111

1.0001

1010

1000

1.0010

1010

1001

1.0011

1010

1010

1.0100

6

1100

 

1100

1100

 

1101

1101

 

1110

1110

 

1111

1111

 

1.0000

1.0000

1010

0111

1.0001

1010

1000

1.0010

1010

1001

1.0011

1010

1010

1.0100

 

1.1011

1.1011

7

1101

 

1101

1101

 

1110

1110

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

1010

1000

1.0010

1010

1001

1.0011

1010

1010

1.0100

 

1.1011

1.1011

 

1.1100

1.1100

8

1110

 

1110

1110

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

 

1.0010

1.0010

1010

1001

1.0011

1010

1010

1.0100

 

1.1011

1.1011

 

1.1100

1.1100

 

1.1101

1.1101

9

1111

 

1111

1111

 

1.0000

1.0000

 

1.0001

1.0001

 

1.0010

1.0010

 

1.0011

1.0011

1010

1010

1.0100

 

1.1011

1.1011

 

1.1100

1.1100

 

1.1101

1.1101

 

1.1110

1.1110


 

 На основании таблицы  2 были получены две корректирующие величины: 0110  и 1010.

Если результат сложения двух одноразрядных десятичных  чисел с учетом переноса из предыдущего  разряда меньше десяти, то коррекция 0110 вводится только при получении  одной из запрещенных комбинаций:

  • 0101;
  • 0110;
  • 0111.

Если результат сложения двух одноразрядных десятичных  чисел с учетом переноса из предыдущего  разряда больше десяти, то коррекция 1010 вводится только при получении  одной из запрещенных комбинаций (при этом перенос из предыдущего разряда не учитывается):

  • 0110;
  • 0111;
  • 1000;
  • 1001;
  • 1010.

 

    1. Обобщение полученного алгоритма на многоразрядные числа при выполнении операций сложения и вычитания.

Пусть A - многоразрядное десятичное число со знаком плюс. В прямом, обратном и дополнительном видах кодирования оно будет представлено следующим образом:

 

A = a0 a1 a2 a3 ... an

 

где ai — десятичное одноразрядное число, записанное в виде двоичной тетрады, а a0

знак числа.

Если A имеет знак плюс, то для его представления в прямом, обратном или дополнительном коде число A будет иметь вид:

A = 0. a1 a2 a3 ... an

 

Если же A имеет знак минус, то для его представления в прямом, обратном или дополнительном коде число A будет иметь вид:

 

[A]пр. = 1. a1 a2 a3 ... an

[A]обр. = 1. a1 a2 a3 ... an



где ai — дополнение до "9" в десятичной системе;


[A]доп. = 1. a1 a2 a3 ... an-1 an

 

где ai — дополнение до "9" во всех десятичных разрядах, кроме младшего. В младшем разряде берётся дополнение до "10" (an).


 

Величина +875 в коде 2421 будет  иметь вид:

 

0.1110.1101.1011

 

Та же самая величина со знаком минус будет представлена:

 

[-875]пр. = 1.1110.1101.1011

[-875]обр. = 1.0001.0010.0100

[-875]доп. = 1.0001.0010.0101

 

Для работы с отрицательными числами в двоично-десятичной арифметике удобнее работать в обратном коде, так как все преобразователи  из прямого кода в обратный код будут одинаковые.

 

    1.   Примеры на следующие случаи сложения:
      1. Положительная величина (+А) складывается с другой положительной величиной (+В) с получением положительного результата (+С) без переполнения: (+А)+(+В)=(+С).

+

249

 

+

0.0010.0100.1111

358

 

0.0011.1011.1110

607

 

0.0110.0000.1101


 

Получена  запрещенная комбинация в коде — требуется 1 коррекция:

 

+

0.0110.0000.1101

0110.0000.0000

0.1100.0000.1101


 

Получен требуемый результат. Результат сохраняется.

 

      1. Положительная величина (+А) складывается с отрицательной величиной (-В) с получением положительного результата (+С):   
        (+А)+(-В)=(+С).

 

+

479

 

+

0.0100.1101.1111

   

-258

 

1.1101.0100.0001

221

 

+

10.0010.0010.0000

 

Коррекция

   

0000.0000.0000

   

10.0010.0010.0000

   

 

При сложении чисел в обратном коде "1" переноса из знакового  разряда добавляется к младшему разряду результата:

 

+

 

1

0.0010.0010.0000

1

0.0010.0010.0001


 

Получен требуемый результат. Результат сохраняется.

 

      1. Положительная величина (+А) складывается с отрицательной величиной (-В) с получением отрицательного результата (-С):  
        (+А)+(-В)=(-С).

+

378

 

+

0.0011.1101.1110

   

-859

 

1.0001.0100.0000

-481

 

+

1.0101.0001.1110

 

Коррекция

   

         0110

   

1.1011.0001.1110

   

 

Получен требуемый результат  в обратном коде. В прямом коде этот результат будет иметь вид: 1.0100.1110.0001. Результат сохраняется.

 

      1. Отрицательная величина (-А) складывается с отрицательной величиной  
        (-В) с получением отрицательного результата (-С): (-А)+(-В)=(-С).

 

+

-452

 

+

1.1011.0100.1101

   

-377

 

1.1100.0010.0010

-829

 

+

1. 0111.0110.1111

 

Коррекция

   

1010.0110.0001

     

1.0001.1101.0000

   

 

Получен требуемый результат. Результат сохраняется.

 

В примере учитывается, что при сложение коррекционной величины 1010 с числом получившийся перенос не учитывается.

 

      1. Положительная величина (+А) складывается с другой положительной величиной (+В) с получением отрицательного результата (-С) – переполнение разрядной сетки: (+А)+(+В)=(-С).

 

+

759

 

+

0.1101.1011.1111

   

878

 

0.1110.1101.1110

(1)637

 

+

1.1100.1001.1101

 

Коррекция

   

1010.0000

   

1.1100.0011.1101

   

 

Признаком переполнения является отрицательный результат от сложения двух положительных величин.

 

      1. Отрицательная величина (-А) складывается с отрицательной величиной (-В) с получением положительного результата (+С): (-А)+(-В)=(+С).

 

+

-547

 

+

1.0100.1011.0010

   

-759

 

1.0010.0100.0000

-(1)303

 

+

0.0110.1111.0010

 

Коррекция

   

0110.0000.0001

   

0.1100.1111.0011

   

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