Устройство сложения 16-разрядных чисел, представленных в формате с ПТ
Техническое задание
Выполнить структурный синтез операционного устройства,
реализующего заданную арифметическую операцию. Проектирование должно
выполняться согласно технологии канонического структурного синтеза синхронных
цифровых автоматов
Разработать логическую схему (ЛС) операционного устройства,
содержащего структурно оптимизированную операционную часть и управляющую часть,
представляющую собой конечный автомат
Вариант реализации управляющего автомата (УА) - упрощенный,
полностью факторизированный автомат Мура.
Основные технические параметры задания на курсовое
проектирование:
1. Характеристики операционного устройства:
- арифметическая операция - сложение
алгоритм - сложение
тип сумматора - двоичный сумматор дополнительного кода (ДСДК)
разрядность слова данных - 16 бит
разрядность слова результата - 16 бит
формат представления данных - фиксированная точка ANSI/IEEEE 754-1985
способ кодирования знака - модифицированный код
устройство управлении - сосредоточенно в отдельном УА
тип устройства управления - конечный автомат
2. Характеристики управляющего автомата
- тип управляющего автомата - автомат Мура
тип элементов памяти - D-триггер
алгоритм логической минимизации - карты Карно
логическая факторизация - базис - Буля
физическая факторизация - базис - И-ИЛИ-НЕ
Введение
Данная курсовая работа выполнена соответственно плану по
дисциплины «Прикладная теория цифровых автоматов».
Задача проектирования рассматривается как задача синтеза
автомата, выполняющего сложение двоичных чисел в формате с плавающей запятой.
Для выполнения сложения, необходимо знать правила сложения.
Сложение двоичных чисел
Арифметические операции можно выполнять с двоичными числами,
представленными в прямом, обратном и дополнительном коде. Если операнды
представлены в прямом коде и имеют одинаковые знаки, то над ними при
алгебраическом сложении естественно выполняется процедура сложения. Если же
операнды имеют разные знаки - процедура вычитания. Для упрощения аппаратных
средств компьютера процедура вычитания заменяется сложением благодаря тому, что
отрицательный операнд представляется в обратном или дополнительном коде.
1. Тестовый пример
Сложение чисел с противоположными знаками:
А754 = 1.1110.01101000000
В754 = 0.1101.10010100000
ЗнС = 0
expС = 0111
ПС = ПА - ПВ = 0111+ 0010 = 0001 à необходимо сдвинуть А на
единицу вправо
МАобр = 10010111111
МАдоп = 10011000000
МВдоп = 10010100000
+ 10010100000
МС:= 10101100000
С754 = 0.0111.10101100000
Сложение чисел с положительными знаками
А754 = 0.0111.10110010000
В754 = 0.0110.11011000000
ЗнС = 0
expС = 0111
ПС = ПА - ПВ = 0001 à необходимо сдвинуть А на
единицу вправо
МА = 01011001000
МВ = 11011000000
+ 11011000000
МС:= 1|00110001000
С754 = 0.0111. 00110001000
Сложение двух чисел с отрицательными знаками
А754 = 1.0011.10011000000
В754 = 1.0011.11100100000
ЗнС = 1
expС = 0011
ПС = ПА - ПВ = 0000 à сдвиг не производим
МАобр = 01100111111
МАдоп = 01101000000
МВобр = 00110111111
МВдоп = 00011100000
+ 00011100000
МС:= 11010001111
С754 = 1.0011.11010001111
Алгоритм
1. Начало
2. Обнуляем ЦА. Задаем число А (В), в формате IEEE 754. Задаем К-формата
=10
3. Проверяем РОН1 на значение 0 занесенного числа А
4. Присвоить в РОН3 значение РОН1
5. Проверяем РОН2 на значение 0 занесенного числа В
6. Присвоить в РОН3 значение РОН2
. Проверить 15 (знаковый) разряд РОН1 на значение 1
или 0
. В РОН1 присвоить РОН1 в дополнительном коде
. В РгСМ присвоить РОН1
. Проверить 15 (знаковый) разряд РОН2 на значение 1
или 0
. В РОН2 присвоить РОН2 в дополнительном коде
. К РгСМ прибавить РОН2
. Проверить 15 и 16 (знаковый) разряд РгСМ на значение
10 или 01
. Сдвинуть РгСМ на 1 разряд вправо. Добавить к
К-формата единицу
. Проверить знак РгСМ (15 и 16 знаковые разряды) на
значение 11 или 00
. Присвоить в СМ значение РгСМ в прямом коде
. Присвоить в СМ значение РгСМ
. Присвоить в РОН3 значение СМ
. Конец
Блок-схема алгоритма
Граф-схема
Алфавит сигналов
Y1 - ЦА:=0 - установка «стартового» состояния цифрового автомата.
Y2 - Кф=10 - установка К-формата 10 разрядов.
Y3 - РОН1:=А - присвоение РОН1 значения А.
Y4 - РОН2:=В-присвоение РОН2 значения В.
Y5 - РОН3:=РОН2 - присвоение в РОН3 значения В.
Y6 - РОН3:=РОН1 присвоение в РОН3 значения А.
Y7 - РОН1:=РОН1Д - присвоение РОН1 значения РОН1 в дополнительном
коде.
Y8 - РгСМ:=РОН1 - присвоение в регистр сумматора значения РОН1.
Y9 - РОН2:=РОН2Д - присвоение РОН2 значения РОН2 в дополнительном
коде.
Y10 - СМ:СМ+РОН2 - присвоение в регистр сумматора суммы значений
регистра сумматора и РОН2.
Y11 - R
(1, СМ) - сдвиг регистра
сумматора на 1 разряд вправо.
Y12 - кф = кф+1- инкрементирование К-формата.
Y13 - СМ:=РгСМ+1 - присвоение в сумматор значения регистра
сумматора в прямом коде.
Y14 - СМ:=РгСМ - присвоение в сумматор значения регистра сумматора.
Y15 - РОН3:=СМ - присвоение в РОН3 значения СМ.
Кодированный алгоритм
2. Анализ
ГСА
Алфавит состояний А={a0..a11};
количество состояний М=12;
начальное состояние - а0;
входной алфавит: z={z1,… z12};
z1 =! x1; z5 =!
x3; z9 =! x5;2 = x1; z6
= x3; z10 =x5;3 =! x2;
z7 =! x4; z11 =! x6;4= x2;
z8 = x4; z12 =x6;
количество входных слов: F=12;
множество логических условий: X={x1…x6};
количество логических условий: L=6;
алфавит микрокоманд: W={w1,… w11};
w1=y1y2y3y4;2=y5;3=y6;4=y7;5=y8;6=y9;7
= y10;8 = y11 y12;
w9= y13;
w10= y14;
w11= y15;
количество микрокоманд: G=11;
множество микроопераций: Y={y1,… y15};
количество микроопераций: N=15.
Мнемоническая форма структурной таблицы
№
|
as
|
ad
|
x (as, ad)
|
w(ad)
|
тип перехода
|
1
|
a0
|
a1
|
1
|
y1y2y3y4
|
безусловный
|
2
|
a1
|
a9
|
x1
|
y5
|
условный
|
3
|
a1
|
a10
|
! x1x2
|
y6
|
условный
|
4
|
a1
|
a2
|
! x1! x2! x3
|
y7
|
условный
|
5
|
a1
|
a3
|
! x1! x2x3
|
y8
|
условный
|
6
|
a2
|
a3
|
1
|
y8
|
безусловный
|
7
|
a3
|
a4
|
! x4
|
y9
|
условный
|
8
|
a3
|
a5
|
x4
|
y10
|
условный
|
9
|
a4
|
a5
|
1
|
у10
|
безусловный
|
10
|
a5
|
a6
|
! x5
|
y11y12
|
условный
|
11
|
a5
|
a7
|
x5x6
|
y13
|
условный
|
12
|
a5
|
a11
|
x5!
x6
|
y14
|
условный
|
13
|
a6
|
a7
|
x6
|
y13
|
условный
|
14
|
a6
|
a11
|
! x6
|
y14
|
условный
|
15
|
a7
|
a8
|
1
|
y15
|
безусловный
|
16
|
a8
|
a0
|
1
|
__
|
безусловный
|
17
|
a9
|
a0
|
1
|
__
|
безусловный
|
18
|
a10
|
a0
|
1
|
__
|
безусловный
|
19
|
a11
|
a8
|
1
|
__
|
безусловный
|
Кодированная форма структурной таблицы
|
t
T4T3T2T1
|
t+1
T4T3T2T1
|
K(X)
|
Tn=1
n:
|
a0→a1
|
0001
|
0010
|
-
|
2
|
a1→a2
|
0010
|
0011
|
!
X1! X2! X3
|
1,2
|
a1→a9
|
0010
|
1010
|
X1
|
2,4
|
a1→a10
|
0010
|
1011
|
!
X1X2
|
1,2,4
|
a1→a3
|
0010
|
0100
|
!
X1! X2X3
|
3
|
a2→a3
|
0011
|
0100
|
-
|
3
|
a3→a4
|
0100
|
0101
|
! X4
|
1,3
|
a3→a5
|
0100
|
0110
|
X4
|
2,3
|
a4→a5
|
0101
|
0110
|
-
|
2,3
|
a5→a6
|
0101
|
0111
|
! X5
|
1,2,3
|
a5→a7
|
0110
|
1000
|
X5X6
|
4
|
a5→a11
|
0110
|
1100
|
X5!
X6
|
3,4
|
a6→a7
|
0111
|
1000
|
X6
|
4
|
a6→a11
|
0111
|
1100
|
! X6
|
3,4
|
a7→a8
|
1000
|
1001
|
-
|
1,4
|
a8→a0
|
1001
|
0001
|
-
|
1
|
a9→a0
|
1010
|
0001
|
-
|
1
|
a10→a0
|
1011
|
0001
|
-
|
1
|
a11→a8
|
1100
|
1001
|
-
|
1,4
|
Таблица сигналов
an
|
y1
|
y2
|
y3
|
y5
|
y6
|
y7
|
y8
|
y9
|
y10
|
y11
|
y12
|
y13
|
y14
|
y15
|
a1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
a2
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
a3
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
a4
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
a5
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
a6
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
a7
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
a8
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
a9
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
a10
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
a11
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
Функции возбуждения триггеров
T1=a1A+a1B+a3C+a5D +a7+a8+a9+а10+a11=a0+a1A+a1x1+a1B+a3x4+a4+a5D=a1!
x1! x2x3+a2+a3C+a3x4+a4+a5D+a5x5! x6=a1x1+a1B+a5x5! x6+a5E+a6! x6+a6F+a7+a11=!
x1! x2! x3=! x1x2=! x4=! x5=x5x6
F=x6
Параметры комбинационных блоков
КС1:F(T1)={f1…f9}
KC2:F(T2)={f1…f7}
KC3:F(T3)={f1…f7}
KC4:F(T4)={f1…f8}
Функциональная схема
Операционная схема
3. Синтез комбинационной схемы ЦА
мнемонический кодированный синтез карно
Y1=V (0,4,5,8,9,12,13)
Y2=V (8,9,10,11,12,13,14)
Y3=V (0,2,8,10,12,14,15)
Аналитический метод
Y1=! x1! x2! x3! x4+! x1x2! x3! x4+! x1x2!
x3x4+x1! x2! x3! x4+x1! x2! x3x4+x1x2! x3! x4+x1x2! x3x4=! x1! x3! x4+! x1x2!
x3x4+x1! x2! x3+x1x2! x3=! x1! x3! x4+! x1x2! x3x4+x1! x3=! x3x1+! x3x2+! x3!
x4=x1! x2! x3! x4+x1! x2! x3x4+x1! x2x3! x4+x1! x2x3x4+x1x2! x3! x4+x1x2!
x3x4+x1x2x3! x4=x1! x2! x3+x1! x2x3+x1x2! x3+x1x2x3! x4=x1! x2+x1x2! x3+x1x2x3!
x4=
=x1! x2+x1x2! x3+x1x2! x4=x1x2! x3+x1! x2+x1x2!
x4=x1x2! x3+x1! x2+x1! x4=
=x1! x2+x1! x3+x1! x4=! x1! x2! x3! x4+! x1!
x2x3! x4+x1! x2! x3! x4+x1! x2x3! x4+x1x2! x3! x4+x1x2x3! x4+x1x2x3x4=! x1! x2!
x4+x1! x2! x4+x1x2! x4+x1x2x3x4=! x2! x4+x1x2! x4+x1x2x3=! x2! x4+! x4x1+x1x2x3
Метод карт Карно
Y1:
x1x2
x3x4
|
00
|
01
|
11
|
10
|
00
|
1
|
1
|
1
|
1
|
01
|
-
|
1
|
1
|
1
|
11
|
-
|
-
|
-
|
-
|
10
|
-
|
-
|
-
|
-
|
0100 1100
1100 1101
0101 1000
1000 1101 1001
! x3! x4 x2! x3 x1! x3=! x3x1+! x3x2+! x3! x4
:
x1x2
x3x4
|
00
|
01
|
11
|
10
|
00
|
-
|
-
|
1
|
1
|
01
|
-
|
-
|
1
|
1
|
11
|
-
|
-
|
-
|
1
|
10
|
-
|
-
|
1
|
1
|
1000 1000 1000
1100 1100
1010 1001
1010 1110 1101
x1! x2 x1! x4 x1! x3=x1! x2+x1! x3+x1! x4
:
x1x2
x3x4
|
00
|
01
|
11
|
10
|
00
|
1
|
-
|
1
|
1
|
01
|
-
|
-
|
-
|
-
|
11
|
-
|
-
|
1
|
-
|
10
|
1
|
-
|
1
|
1
|
0000 1100
1000
1010 1111
1010 1110 1110
! x2! x4 x1! x4 x1x2x3
Y3=! x2! x4+! x4x1+x1x2x3
Метод Квайна-Мак-Класки
Y1:
Y1=! x3! x4+x2! x3+x1! x3:
Y2=x1! x2+x1! x3+x1! x4:
Y3=! x2! x4+x1! x4+x1x2x3
Схемы
ЦА
Выводы
В ходе выполнения курсовой работы спроектирован цифровой
автомат, предназначенный для выполнения арифметических операций сложения
двоичных чисел, представленных в форме с фиксированной запятой, на сумматоре
дополнительного модифицированного кода.
Разрядность чисел - 16 и включает:
- знак мантиссы - 2 разряда;
мантисса - 14 разрядов.
При проектировании ЦА использован базис алгебры Буля
(И-ИЛИ-НЕ).
При проектировании ЦА:
- построены операционные, функциональные схемы отдельных
устройств;
аналитически описаны логические системы, логические функции в
алгебре Буля;
минимизированы аналитические функции с применением основных
методов (аналитическим, Квайна-Мак-Класки, методом карт Карно);
Список литературы
1. Бабич М.П. Комп’ютерна схемотехніка. - Київ. «МК-Пресс», 2004
. Довідник по мікроелектронній імпульсній техніці. /В.Н.
Яковлєв - Київ: Техніка, 1985 р.
3. Корнійчук В.И Обчислювальна техніка на мікросхемах. -
Київ: Техніка, 1986 р.
4. Мальцева Л.А. Основи цифрової техніки. - Москва: Радіо, 1987
5. Савельев
А.Я. Прикладная теория цифровых автоматов: Учеб. для вузов по спец. ЭВМ. - М.:
Высш. шк., 1987
6. Самофалов К.Г. Прикладна теорія цифрових автоматів. - Київ;
Вища школа, 1987 р.
. Усатенко С.Т Графічне зображення електрорадіосхем. - Київ:
Техніка, 1986