- •1. Исходные данные
- •2. Разработка алгоритма умножения
- •3. Разработка структурной схемы сумматора-умножителя 1 типа
- •4. Разработка функциональных схем основных узлов
- •4.1. Логический синтез одноразрядного четверичного умножителя
- •4.2 Логический синтез одноразрядного четверичного сумматора
- •5. Синтез очс на мультиплексорах
- •6. Логический синтез преобразователя множителя (пм)
- •Приложение
- •Функциональная схема очу
- •Литература
Содержание
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ч |