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

Содержание

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ч