регистрация /  вход

Синтез цифровых схем арифметических устройств (стр. 1 из 6)

Оглавление

Постановка задачи

Исходные данные к курсовому проекту

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

Разработка структурной схемы устройства

Синтез преобразователя множителя

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

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

Синтез МПА делителя


Постановка задачи

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

По исходным данным необходимо разработать:

1. Алгоритм выполнения операции умножения, для чего потребуется:

-

перевести исходные числа из десятичной системы счисления в двоично-десятичную;

- представить числа в форме с плавающей запятой;

- произвести перемножение чисел по алгоритму “Г” в дополнительных разрядах на два разряда одновременно;

- оценить погрешность вычисления после перевода результата в исходную систему счисления.

2. Алгоритм выполнения операций сложения и вычитания.

3. Структурную схему комбинированного устройства (сложение и умножение), содержащую узлы для действия над мантиссами и порядками, и определить время умножения с учетом временных задержек в комбинационных схемах.

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

- логический синтез комбинационного одноразрядного четверичного сумматора (ОЧС) на основе составленной таблицы истинности для суммы слагаемых с учетом переноса из младшего разряда, используя при этом алгоритм извлечения (Рота), и оценить эффективность минимизации;

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

- логический синтез комбинационной схемы преобразователя множителя (ПМ);

- построить функциональную схему ОЧС на мультиплексорах;

- построить функциональную схему ПМ и ОЧУС в заданном базисе;

5. Определить время умножения на один разряд и на n разрядов множителя.

6. Разработать алгоритм выполнения операции деления.

7. Функциональную схему делителя, представив его как управляющий автомат, для чего необходимо:

- построить граф связности автомата;

- разметить его для синтеза автомата Мура;

- построить таблицу переходов автомата;

- определить переключательные функции выходных сигналов и сигналов обратной связи;

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

Исходные данные к курсовому проекту

В качестве исходных данных к курсовому проекту задается следующее:

1. Исходные операнды - десятичные числа с целой и дробной частью, над которыми производится операция умножения (36,39 & 53,25).

2. Алгоритм выполнения операции умножения Г.

3. Метод ускоренного умножения на базе которого строится умножитель:

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

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

4. Двоичные коды четверичных цифр множимого для работы в двоично-четверичной системе счисления (представляется кодом: 04 - 00, 14 - 11, 24 - 01, 34 - 10) . Множитель представляется обычным весомозначным кодом: 04 - 00, 14 - 01, 24 - 10, 34 - 11 .

5. Тип синтезируемого устройства умножения, определяемый основными структурными узлами, на базе которых строится умножитель:

- умножитель 2-го типа строится на базе ОЧУС, ОЧС и регистра результата.

6. Способ минимизации и логический базис для аппаратной реализации ОЧС и ОЧУС (функционально полный базис представлен

функцией x1 + x 2 :


Таблица 1. Таблица истинности:

X1

X2 1 не 1
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

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

7. Алгоритм выполнения операции деления:

- деление с восстановлением остатков;

8. Класс синтезируемого микропрограммного автомата: Мура.

9. Логический базис для аппаратной реализации делителя, как управляющего автомата: ПЛМ и триггеры для организации цепи обратной связи (Т -триггеры).

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

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

МНОЖИМОЕ

36 | 4 0,39 Мн4 =210,1203

36 9 | 4 4

0 8 2 1,56 Мн2/4 = 011100,11010010

1 4

2,24

4

0,96

4

3,84

4

3,36

МНОЖИТЕЛЬ

53| 4 0,25 Мт4 = 311,1

52 13 | 4 4 Мт2/4 = 110101,01

1 12 3 1,00

1

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

Мн = 0,01110011010010 Рмн = 0,0010 +03 закодирован по заданию

Мт = 0,11010101 Рмт = 0,0011 +03 незакодирован по заданию

[Мт]д = Мт = 0,31114 = 0,110101012/4

[Мт]дп = 0,1010101012/4

Мн = 0,2101203

[-Мн]д = 3,1232131

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

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

Рмн = 0.0010+ 03

Рмт = 0.0011 03

Р = 0.1101 12

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

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

зн Мн + зн Мт = 0 + 0 = 0.

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

Перемножение мантисс по алгоритму «Г» приведено втаблице 2:

[Мт]дп = 0,1010101012/4

Мн = 0,2101203

[-Мн]д = 3,1232131

Таблица 2. Умножение по алгоритму “Г”.

Четверичная с/с
ЗНАК РЕГИСТР РЕЗУЛЬТАТА ДЕЙСТВИЯ
0. 000000000000
0. 000000000000 +0
0. 000000000000
0. 021012030000 +Мн>>1
0. 021012030000
3. 331232131000 -Мн>>2
10. 012310221000
0. 000210120300 +Мн>>3
10. 013121001300
0. 000021012030 +Мн>>4
0. 013202013330
0. 000002101203 +Мн>>5
0. 013210121133 Рез. В доп коде
0. 013210121133 Рез. В пр. коде
132101,21133
1937,5927734375 10 с/с

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

Мн*Мт4 = 132101,21133 РМн*Мт = 0;

Мн*Мт10 = 1937,5927734375.

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

Мн10 *Мт10 = 36,39 * 53,25 = 1937,7675.

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

D = 1937,7675 - 1937,5927734375 = 0,17473.

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

D 0,17473

d = = = 0,00009017 (d = 0,00901%)

Мн*Мт 1937,7675

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

В случае отрицательного множимого:

[Мт]дп = 0,1010101012/4

Мн = - 0,2101203

[Мн]д = 3,1232131

[-Мн]д = 0,2101203

Четверичная с/с
ЗНАК РЕГИСТР РЕЗУЛЬТАТА ДЕЙСТВИЯ
0. 000000000000
0. 000000000000 +0
0. 000000000000
3. 312321310000 +Мн>>1
3. 312321310000
0. 002101203000 -Мн>>2
3. 321023113000
3. 333123213100 +Мн>>3
10. 320212332100
3. 333312321310 +Мн>>4
10. 320131320010
3. 333331232131 +Мн>>5
10. 320123212201 Рез. В доп коде
1. 3 – 4=1 013210121133 Рез. В пр. коде
132101,21133
1937,5927734375 10 с/с

Разработка структурной схемы устройства

Структурная схема строится на основе следующих блоков

· Многоразрядный регистр сдвига


сдвиг

Dn Q1

С Qn

S1

S2

“+1”

Предназначен для хранения и сдвига n-разрядного значения числа. Регистр имеет n информационных входов D1 – Dn , управляющий вход разрешения записи в регистр С , управляющие входы сдвига содержимого регистра влево S1 и вправо S2 , управляющий вход добавления 1 к содержимому регистра “+1”, и n выходов Q1- Qn . Все управляющие функции выполняются при поступлении 1 на соответствующий управляющий вход.