Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиЛОВТ, заочка, курсач, В13.docx
Скачиваний:
58
Добавлен:
27.04.2018
Размер:
396.34 Кб
Скачать

Содержание

1. Исходные данные 3

2. Разработка алгоритма умножения 5

3. Разработка структурной схемы сумматора-умножителя 1 типа 2

4. Разработка функциональных схем основных узлов 4

4.1. Логический синтез одноразрядного четверичного умножителя 4

4.2 Логический синтез одноразрядного четверичного сумматора 7

5. Синтез ОЧС на мультиплексорах 16

6. Логический синтез преобразователя множителя (ПМ) 17

Приложение 20

Схема 1 20

Схема 2 21

Схема 3 22

Схема 4 23

Литература 24

1. Исходные данные

исходные сомножители: Мн = 56,59; Мт = 18,27;

алгоритм умножения: А;

метод умножения: умножение закодированного двоично-четверичного множимого на 2 разряда двоичного множителя одновременно в прямых кодах;

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

04  10, 14  00, 24  11, 34  01; (Мн)

04  00, 14  01, 24  10, 34  11; (Мт)

тип синтезируемого умножителя: структурные схемы приведены для умножителя 1-го типа (ОЧУ, ОЧС, аккумулятор).

Способ минимизации и логический базис для аппаратной реализации ОЧУ (Карты Карно-Вейча) и ОЧС (метод Квайна-Мак-Ласки), ОЧС реализуется на мультиплексорах.

Функционально полный логический базис для схемы ОЧУ:

X1X2

X1  X2

Логический базис для реализации ОЧУ:

“1”

&

Функционально полный логический базис для схемы ОЧС:

X1 X2

Логический базис для реализации ОЧС:

&

Арифметические операции сложения двоично-четверичных чисел с разными знаками в дополнительных кодах и умножения на 2 разряда множителя в прямых кодах должны выполняться одним цифровым устройством, именуемым сумматор-умножитель. Учитывая то, что суммирующие узлы обязательно входят в состав умножителя, начнем синтез с разработки алгоритма умножения.

2. Разработка алгоритма умножения

Перевод сомножителей из десятичной системы счисления в четверичную:

Множимое:

56| 4 Мн4 =320,211

56|14| 4 Мн2/4 = 011110,110000

0 12 3 в соответствии с заданной кодировкой множимого

2

0, 59

4

2, 36

4

1, 44

4

1, 76

Множитель:

18| 4 Мт4 =102,101

16| 4| 4 Мт2/4 = 010010,010001

2 4 1 в соответствии с заданной кодировкой множителя

0

0, 27

4

1, 08

4

0, 32

4

1, 28

Запишем сомножители в форме с плавающей запятой в прямом коде:

Мн = 0, 011110110000 Рмн = 0.0001 (закодирован по заданию) +0310

Мт = 0, 010010010001 Рмт = 0.0011 (закодирован традиционно) +0310

Умножение двух чисел с плавающей запятой на 2 разряда множителя одновременно в прямых кодах сводится к сложению порядков, формированию знака произведения, преобразованию разрядов множителя согласно алгоритму и перемножению мантисс сомножителей.

Порядок произведения будет равен:

Рмн = 0.0001 03

Рмт = 0.0011 03

Р = 0.0011 12

Результат закодирован в соответствии с заданием на кодировку множимого.

Знак произведения определяется суммой по модулю два знаков сомножителей:

зн Мн  зн Мт = 0  0 = 0

Для умножения мантисс необходимо предварительно преобразовать множитель. При умножении чисел в прямых кодах диада 11 (34) заменяется на триаду 10.

Преобразованный множитель имеет вид:

Мтп4 = 00010010010001 или Мтп2 = 0102101. Перемножение мантисс по алгоритму А приведено в таблице 1.

После окончания умножения необходимо оценить погрешность вычислений. Для этого полученное произведение (Мн*Мт)4=0,100021123311 РМн*Мт = 6) приводится к нулевому порядку, а затем переводится в десятичную систему счисления:

(Мн*Мт)4 = 100021,123311

(Мн*Мт)10 = 1033,4348

Результат прямого перемножения операндов дает следующее значение:

Мн10 · Мт10 = 56,59 * 18,27 = 1033,8993

Абсолютная погрешность:

= 1033,8993 –1033,4348 = 0,4645

Относительная погрешность:

Эта погрешность получена за счет приближенного перевода из десятичной системы счисления в четверичную обоих сомножителей, а также за счет округления полученного результата произведения.

Таблица 1. Пример перемножения чисел

Четверичная с/с

Двоично-четверичная с/с

Комментарии

0.

0000000

0.

00 00 00 00 00 00 00

0ч

0.

0320211

0.

10 01 11 10 11 00 00

П1ч=Мн*1

0.

0320211

0.

10 01 11 10 11 00 00

1ч

0.

0032021

1

0.

10 10 01 11 10 11 00

00

1*4-1

0.

0000000

0.

10 10 10 10 10 10 10

П2ч=Мн*0

0.

0032021

1

0.

10 10 01 11 10 11 00

00

2ч

0.

0003202

11

0.

10 10 10 01 11 10 11

00 00

2ч*4-1

0.

0320211

0.

10 01 11 10 11 00 00

П3ч=Мн*1

0.

0330013

11

0.

10 01 01 10 10 00 01

00 00

3ч

0.

0033001

311

0.

10 10 01 01 10 10 00

01 00 00

3ч*4-1

0.

1301022

0.

00 01 10 00 10 11 11

П4ч=Мн*2

0.

2000023

311

0.

11 10 10 10 10 11 01

01 00 00

4ч

0.

0200002

3311

0.

10 11 10 10 10 10 11

01 01 00 00

4ч*4-1

0.

0000000

0.

10 10 10 10 10 10 10

П5ч=Мн*0

0.

0200002

3311

0.

10 11 10 10 10 10 11

01 01 00 00

5ч

0.

0020000

23311

0.

10 10 11 10 10 10 10

11 01 01 00 00

5ч*4-1

0.

0320211

0.

10 01 11 10 11 00 00

П6ч=Мн*1

0.

1000211

23311

0.

00 10 10 10 11 00 00

11 01 01 00 00

6ч

0.

0100021

123311

0.

10 00 10 10 10 11 00

00 11 01 01 00 00

6ч*4-1

0.

0000000

0.

10 10 10 10 10 10 10

П7ч=Мн*0

0.

0100021

123311

0.

10 00 10 10 10 11 00

00 11 01 01 00 00

7ч