Синтез керуючих автоматів
ВСТУП
Принцип
мікропрограмного керування припускає, що цифровий пристрій складається з двох
частин: операційний автомат (ОА) і керуючий автомат (КА). ОА виконує
найпростіші операції (мікрооперації) типу зсув, алгебраїчне додавання,
кон’юнкція, диз’юнкція і т.п. КА формує послідовність керуючих символів в ОА,
під впливом яких ОА реалізує більш складні алгоритми. Такі послідовності
операцій називаються мікропрограмами та, звичайно, записуються у вигляді
граф-схеми алгоритму.
КА розділяються
на дві великі групи: автомати з жорсткою логікою та автомати з програмованою
логікою. У свою чергу автомати з жорсткою логікою підрозділяються на автомати,
виконані за схемою Мілі (КА Мілі) і за схемою Мура (КА Мура), автомати з
програмованою логікою – на автомати з примусовою адресацією та з природною
адресацією.
В автоматах з
жорсткою логікою схема автомата однозначно інтерпретує граф-схему
мікропрограми. В автоматах із програмованою логікою граф-схема інтерпретується
у вигляді програми, що зберігається в пам’яті автомата.
1. СИНТЕЗ
ОПЕРАЦІЙНОГО АВТОМАТА
1.1 Аналіз
вхідних даних
Загальна формула
для обчислювання результату S має такий вигляд:
Формулі , та згідно з варіантом завдання:
Загальний
алгоритм для обчислювання формули S приведений на рисунку 1.1.
Для обчислювання
формули S використовується ІМp-модель (Individual Mutual with Parallel part - IMp).
Рис. 1.1 –
Загальний алгоритм для обчислювання формули S
Схему взаємодії
операційного та керуючої частин у цифровому просторі зображено на рисунку 1.2.
Рис. 1.2 –
Структура цифрового пристрою
Структурна схема ІМp - моделі зображена на рисунку 1.3
Рис. 1.3 – Структура
операційного пристрою
Пам’ять автомата
складається з регістрів загального призначення R1, ... , Rn.
Локальні шини А1, А2, A3 призначені для прийому інформації з пам’яті та передачі її
на комбінаційні схеми (КС).
В даному випадку
використовуються КС двох типів: одномісні та двомісні.
Рис. 1.4 –
Приклад комбінаційних схем
Однак, у даному
ОА використовуються лише деякі з них.
1.2
Розробка функціонального алгоритму
Функціональна і
структурна організація операційних пристроїв (ОУ) базується на принципі мікро
програмного керування, сформульованому в 1951 році М. Уилксом. Відповідно до
цього принципу будь-яка машинна операція розділяється на послідовність елементарних
дій по обробці інформації – мікро операцій (МО). Порядок проходження мікро
операцій визначається спеціальними логічними умовами (ЛУ), що у залежності від
значень оброблюваної інформації приймають значення "істина" (1) або
"неправда" (0). Алгоритм операцій в ОУ, записаний у термінах мікро
операцій і логічних умов, що відбиває порядок проходження мікро операцій у
часі, називається мікропрограмою.
Функція УА – це оперативна схема алгоритму,
операторами якої є символи
, що ототожнюються з
МО, виконуваними ОА, як логічні умови використовуються булеві перемінні . Найбільше часто операторна схема
алгоритму представляється у виді граф-схеми алгоритму (ГСА).
Граф-схема
алгоритму.
Орієнтований зв'язаний граф – граф, що містить одну початкову вершину, одну
кінцеву вершину, довільну безліч умовних і операторних вершин.
Будова ІМр автомата дозволяє паралельно виконувати одномісну
та двумісну операції, тобто можливо виконувати за одне завантаження автомату
завантаження двох операнд. Наприклад, у п’ятій вершині зроблено саме так.
Кожній дії,
завантаженню автомата, відповідає Y[і].
Ідентичні дії
відповідають однаковим командам, Y[і].
Логічні умови
позначаються – XL, однаковим умовам відповідають однакові XL.
Функціональний
алгоритм приведений на рисунку 1.5.
Рис. 1.5 –
Функціональний алгоритм
1.3
Розробка структурної схеми автомата
1.3.1.
Визначення набору регістрів пам’яті:
Rg : {RA, RB, RC, RS1, RS2, RS3}
1.3.2. Набір
комбінаційних схем:
Одномісні: КС1 : {L1, L2,
L3, R1, R2, R3}
На шину C повинні поступати всі аргументи
одномісних операцій.
Двомісні: КС2: {Sum, Sub}
Припустимо, що
операція відіймання виконується наступним чином:
Sub := B - A, тому від’ємне завжди повинно знаходитись на шині B, а від’ємник на шині А. В іншій
двомісній операції Sum порядок операндів значення не
має.
Рис. 1.6 – Структурна схема автомата
1.3.3.
Зв'язки між регістрами та локальними шинами
Наша схема має
три шини: А та B –
двомісні, та шина C –
одномісна.
A {RA, RB, RC, RS1, RS2, RS3}
B {RA, RB, RC, RS1, RS2, RS3}
C {RA, RB, RC, RS1, RS2, RS3}
1.3.4. Зворотні зв'язки шин Z1 та Z2
з регістрами пам’яті
Шини, що є
результативними:
Z1 –
результати одномісних операцій, а Z2 – двомісних операцій.
Z1
{RA, RB, RC, RS1, RS2, RS3}
Z2
{RA, RB, RC, RS1, RS2, RS3}
Кожний елемент, котрий діє у схемі може виконуватись
тільки при наявності відповідного керуючого сигналу y[n].
у1, у2, у3 –
завантаження початкових даних на шини.
у4 – у15 – завантаження даних у регістри пам'яті.
у16–у33 – завантаження з пам'яті на
локальні шини А, B, C.
у34,
у39 – завантаження результатів
одномісних операцій на шину Z1.
y40–у41 – завантаження
результатів двомісних операцій на шину Z2.
Отримані таким чином дані заносимо до таблиці 1.1
Табл. 1.1
–Таблиця мікрооперацій
Мікрооперація
|
A
|
B
|
C
|
Z1
|
Z2
|
Result
|
Y
|
формула
|
регістр
|
y
|
регістр
|
y
|
регістр
|
y
|
форм.
|
y
|
форм.
|
y
|
регістр
|
y
|
1
|
RA := <A>
RB := <B>
|
|
|
|
|
|
|
<B>
|
y2
|
<A>
|
y1
|
RA:=Z2
RB:=Z1
|
y4
y7
|
2
|
RC := <C>
|
|
|
|
|
|
|
|
|
<C>
|
y3
|
RC:=Z2
|
y8
|
3
|
RS3 := RA + RB
|
RA
|
y17
|
RB
|
y21
|
|
|
|
|
RA+RB
|
y40
|
RS3:=Z2
|
y14
|
4
|
RS2 := RA – RB
|
RB
|
y20
|
RA
|
y18
|
|
|
|
|
RA-RB
|
y41
|
RS2:=Z2
|
y12
|
5
|
RS1 := L3(RS2)
|
|
|
|
|
RS2
|
y28
|
L3(RS2)
|
y36
|
|
|
RS1:=Z1
|
y11
|
6
|
RS1 := RS1
– RS2
|
RS2
|
y29
|
RS1
|
y27
|
|
|
|
|
RS1-RS2
|
y41
|
RS1:=Z2
|
y10
|
7
|
RS2 := L2(RA)
|
|
|
|
|
RA
|
y16
|
L2(RA)
|
y35
|
|
|
RS2:=Z1
|
y13
|
8
|
RS3 := L1(RB)
|
|
|
|
|
RB
|
y19
|
L1(RB)
|
y34
|
|
|
RS3:=Z1
|
y15
|
9
|
RS1 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS1:=Z2
|
y10
|
10
|
RS1 := L2(RA)
|
|
|
|
|
RA
|
y16
|
L2(RA)
|
y35
|
|
|
RS1:=Z1
|
y11
|
11
|
RS1 := RS1
– RA
|
RA
|
y17
|
RS1
|
y27
|
|
|
|
|
RS1-RA
|
y41
|
RS1:=Z2
|
y10
|
12
|
RS1 := R1(RS1)
|
|
|
|
|
RS1
|
y25
|
R1(RS1)
|
y37
|
|
|
RS1:=Z1
|
y11
|
13
|
RS1 := RS1
– RB
|
RB
|
y20
|
RS1
|
y27
|
|
|
|
|
RS1-RB
|
y41
|
RS1:=Z2
|
y10
|
14
|
RS3 := RB –
RA
|
RA
|
y17
|
RB
|
y21
|
|
|
|
|
RB-RA
|
y41
|
RS3:=Z2
|
y14
|
15
|
RS3 := R1(RB)
|
|
|
|
|
RB
|
y19
|
R1(RB)
|
y37
|
|
|
RS3:=Z1
|
y15
|
16
|
RS2 := RA –
RS3
|
RS3
|
y32
|
RA
|
y18
|
|
|
|
|
RA-RS3
|
y41
|
RS2:=Z2
|
y12
|
17
|
RS2 := RA +
RB
RS3 := L1(RC)
|
RA
|
y17
|
RB
|
y21
|
RC
|
y22
|
L1(RC)
|
y34
|
RA+RB
|
y40
|
RS2:=Z2
RS3:=Z1
|
y12 y15
|
18
|
RS2 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS2:=Z2
|
y12
|
19
|
RS2 := RS2
– RC
|
RC
|
y23
|
RS2
|
y30
|
|
|
|
|
RS2-RC
|
y41
|
RS2:=Z2
|
y12
|
20
|
RS3 := L1(RB)
|
|
|
|
|
RB
|
y19
|
L1(RB)
|
y34
|
|
|
RS3:=Z1
|
y15
|
21
|
RS3 := RA –
RS3
|
RS3
|
y32
|
RA
|
y18
|
|
|
|
|
RA-RS3
|
y41
|
RS3:=Z2
|
y14
|
22
|
RS2 := L3(RS3)
|
|
|
|
|
RS3
|
y31
|
L3(RS3)
|
y36
|
|
|
RS2:=Z1
|
y13
|
23
|
RS2 := RS2
– RS3
|
RS3
|
y32
|
RS2
|
y30
|
|
|
|
|
RS2-RS3
|
y41
|
RS2:=Z2
|
y12
|
24
|
RS2 := R3(RS2)
|
|
|
|
|
RS2
|
y28
|
R3(RS2)
|
y39
|
|
|
RS2:=Z1
|
y13
|
25
|
RS3 := RC +
RB
|
RB
|
y20
|
RC
|
y24
|
|
|
|
|
RB+RC
|
y40
|
RS3:=Z2
|
y14
|
26
|
RS3 := L1(RS3)
|
|
|
|
|
RS3
|
y31
|
L1(RS3)
|
y34
|
|
|
RS3:=Z1
|
y15
|
27
|
RS3
|
y32
|
RC
|
y24
|
|
|
|
|
RS3+RC
|
y40
|
RS3:=Z2
|
y14
|
28
|
RC := L2(RB)
RS3 := RA –
RB
|
RB
|
y20
|
RA
|
y18
|
RB
|
y19
|
L2(RB)
|
y35
|
RA-RB
|
y41
|
RC:=Z1
RS3:=Z2
|
y9 y14
|
29
|
RS3 := RS3
– RC
|
RC
|
y23
|
RS3
|
y33
|
|
|
|
|
RS3-RC
|
y41
|
RS3:=Z2
|
y14
|
30
|
RS3 := RC –
RA
|
RA
|
y17
|
RC
|
y24
|
|
|
|
|
RC-RA
|
y41
|
RS3:=Z2
|
y14
|
31
|
RS3 := R2(RS3)
|
|
|
|
|
RS3
|
y31
|
R2(RS3)
|
y38
|
|
|
RS3:=Z1
|
y15
|
32
|
RS1 := L1(RS1)
|
|
|
|
|
RS1
|
y25
|
L1(RS1)
|
y34
|
|
|
RS1:=Z1
|
y11
|
33
|
RS1 := RS2
+ RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS1+RS2
|
y40
|
RS1:=Z2
|
y10
|
34
|
RS1 := RS2
– RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS2-RS1
|
y41
|
RS1:=Z2
|
y10
|
35
|
RS1 := L2(RS3)
|
|
|
|
|
RS3
|
y31
|
L2(RS3)
|
y35
|
|
|
RS1:=Z1
|
y11
|
36
|
RS1 := RS2
+ RS1
|
RS1
|
y26
|
RS2
|
y30
|
|
|
|
|
RS1+RS2
|
y40
|
RS1:=Z2
|
y10
|
Рис. 1.7 –
Структурна граф-схема операційного автомата
2. СИНТЕЗ
КЕРУЮЧИХ АВТОМАТІВ З ЖОРСТКОЮ ЛОГІКОЮ
На практиці використовуються дві моделі МПА - автомат
Милі й автомат Мура, розходження між якими полягає у функції виходу. В автоматі
Милі вихідний сигнал залежить від поточного стану і вхідного сигналу, а в автоматі
Мура‑ тільки від стану. Незалежно від типу МПА для їхнього синтезу
використовується однакова методика, що включає наступні етапи:
1. Оцінка станів
автомата на ГСА.
2. Побудова
таблиці переходів.
3. Кодування
станів УА.
4. Побудова
прямої структурної таблиці.
5. Формування
системи булевських функцій (СБФ) для вихідних сигналів і функцій збудження
елементів пам'яті
6. Синтез схеми в
заданому елементному базисі.
2.1
Методика синтезу автомата Мура
На першому етапі початкова і
кінцева вершини відзначаються окремим станом.
Побудова таблиці
переходів зводиться, до формувань по відзначеної ГСА таблиці, що містить
стовпці: am - вихідний стан; as - стан переходу; X(am,
as) - кон’юнкція вхідних перемінних, визначальний перехід (am,
as) і відповідна функції переходу іj, де Yі відзначений
станом am, Y – стан As, Y(am) - вихідні сигнали; h=1, H
- номер переходу.
При кодуванні
станів необхідно прагнути до такого кодування, що зменшує кількість функцій
збудження, що приймають одиничне значення, і, отже, складність схеми УА.
Для цих цілей
рекомендується використовувати алгоритми кодування.
Структурна схема
автомата Мура (див. рис. 2.1):
1. Пам'ять –
зберігає код стану (Q);
2. Дешифратор (ДС) – виконує перетворення коду в унітарний
код, вказує на поточний стан.
На базі вектора
станів А схема вихідних сигналів (СФВС) формує вихідні сигнали керуючого
автомата y.
Автомат Мура має
свою відмінність - вихідний сигнал y залежить не від вхідного Х, а від стану.
Автомат Мура, як
і кожний інший автомат складається з двох частин: комбінаційна схема та пам'ять
(тригер).
Для синтезу
автомата Мура потрібно позначити кожну операторну вершину через a[i], починаючи з “початок” - і закінчуючи “кінець” - , так як це зроблено на рисунку 2.2.
Записуємо до таблиці 2.2 отримані результати: поточний
стан (мітка вершини та номер її значення в двійковій системі вираховування),
наступний стан (мітка вершини та номер її значення в двійковій системі
вираховування), вхідний сигнал Х, вихідний сигнал Y та функції збудження пам'яті у
заданому тригері (згідно варіанта - у тригері RS).
Рис.
2.2 – Граф-схема автомата Мура
Табл. 2.1 –
Структура переходів для автомата Мура
№
п/п
|
Поточний
стан
|
Наступний
стан
|
Вхідний сигнал
Х
|
Вихідний сигнал
y
|
S входи тригерів
|
R входи тригерів
|
Am
|
код
|
As
|
код
|
1
|
a0
|
000000
|
a1
|
000001
|
1
|
-
|
S6
|
|
2
|
a1
|
000001
|
a2
|
000010
|
1
|
у1 у2 y4 y7
|
S5
|
R6
|
3
|
a2
|
000010
|
a3
|
000011
|
1
|
y3 у8
|
S6
|
|
4
|
a3
|
000011
|
a4
a7
a10
|
000100
000111
001010
|
X3
nX3 X4
nX3 nX4
|
у14 у17 у21 y40
|
S4
S4
S3
|
R5 R6
R6
|
5
|
a4
|
000100
|
a5
|
000101
|
1
|
y12 у18 у20 y41
|
S6
|
|
6
|
a5
|
000101
|
a6
|
000110
|
1
|
y11 y28 y36
|
S5
|
R6
|
7
|
a6
|
000110
|
a14
|
001110
|
1
|
y10 y27 y29
y41
|
S3
|
|
8
|
a7
|
000111
|
a8
|
001000
|
1
|
y13 y16 y35
|
S3
|
R4 R5 R6
|
9
|
a8
|
001000
|
a9
|
001001
|
1
|
y15 y19 y34
|
S6
|
|
10
|
a9
|
001001
|
a14
|
001110
|
1
|
y10 y30 y32
y41
|
S4 S5
|
R6
|
11
|
a10
|
001010
|
a11
|
001011
|
1
|
y11 y16 y35
|
S6
|
|
12
|
a11
|
001011
|
a12
|
001100
|
1
|
y10 y17 y27
y41
|
S4
|
R5 R6
|
13
|
a12
|
001100
|
a13
|
001101
|
1
|
y11 y25 y37
|
S6
|
|
14
|
a13
|
001101
|
a14
|
001110
|
1
|
y10 y20 y27
y41
|
S5
|
R6
|
15
|
a14
|
001110
|
a15
a17
a20
|
001111
010001
010100
|
X3
nX3 X4
nX3 nX4
|
y14 y17 y21
y41
|
S6
S2 S6
S2
|
R3 R4 R5
R3 R5
|
16
|
a15
|
001111
|
a16
|
010000
|
1
|
y15 y19 y37
|
S2
|
R3 R4 R5
R6
|
17
|
a16
|
010000
|
a25
|
011001
|
1
|
y12 y18 y32
y41
|
S3 S6
|
|
18
|
a17
|
010001
|
a18
|
010010
|
1
|
y12 y15 y17
y21 y22 y34
y40
|
S5
|
R6
|
19
|
a18
|
010010
|
a19
|
010011
|
1
|
y12 y30 y32
y41
|
S6
|
|
20
|
a19
|
010011
|
a25
|
011001
|
1
|
y12 y23 y30
y41
|
S3
|
R5
|
21
|
a20
|
010100
|
a21
|
010101
|
1
|
y15 y19 y34
|
S6
|
|
22
|
a21
|
010101
|
a22
|
010110
|
1
|
y14 y18 y32
y41
|
S5
|
R6
|
23
|
a22
|
a23
|
010111
|
1
|
y13 y31 y36
|
S6
|
|
24
|
a23
|
010111
|
a24
|
011000
|
1
|
y12 y30 y32
y41
|
S3
|
R4 R5 R6
|
25
|
a24
|
011000
|
a25
|
011001
|
1
|
y13 y28 y39
|
S6
|
|
26
|
a25
|
011001
|
a26
a28
a30
|
011010
011100
011110
|
X3
nX3 X4
nX3 nX4
|
y14 y20 y24
y40
|
S5
S4
S4 S5
|
R6
R6
R6
|
27
|
a26
|
011010
|
a27
|
011011
|
1
|
y15 y31 y34
|
S6
|
|
28
|
a27
|
011011
|
a32
a34
a35
|
100000
100010
100011
|
X2
nX2 X1
nX2 nX1
|
y14 y24 y32
y40
|
S1
S1
S1
|
R2 R3 R5
R6
R2 R3 R6
R2 R3
|
29
|
a28
|
011100
|
a29
|
011101
|
1
|
y9 y14 y18
y19 y20 y35
y41
|
S6
|
|
30
|
a29
|
011101
|
a32
a34
a35
|
100000
100010
100011
|
X2
nX2 X1
nX2 nX1
|
y14 y23 y33
y41
|
S1
S1 S5
S1 S5
|
R2 R3 R4
R6
R2 R3 R4
R6
R2 R3 R4
|
31
|
a30
|
011110
|
a31
|
011111
|
1
|
y14 y17 y24
y41
|
S6
|
|
32
|
a31
|
011111
|
a32
a34
a35
|
|
X2
nX2 X1
nX2 nX1
|
y15 y31 y38
|
S1
S1
S1
|
R2 R3 R4
R5 R6
R2 R3 R4
R6
R2 R3 R4
|
33
|
a32
|
100000
|
a33
|
100001
|
1
|
y11 y25 y34
|
S6
|
|
34
|
a33
|
100001
|
a0
|
000000
|
1
|
y10 y26 y30
y40
|
|
R1 R6
|
35
|
a34
|
100010
|
a0
|
000000
|
1
|
y10 y26 y30
y41
|
|
R1 R5
|
36
|
a35
|
100011
|
a36
|
100100
|
1
|
y11 y31 y35
|
S4
|
R5 R6
|
37
|
a36
|
100100
|
a0
|
000000
|
1
|
y10 y26 y30
y40
|
|
R1 R4
|
2.2
Формування схеми автомата Мура
2.2.1
Функції збудження пам'яті та їх синтез у заданий базис:
2.2.2
Синтез дешифратора та його синтез у заданий базис:
Синтез
дешифратора для автомата Мура розробляється так само, як і синтез для автомата
Мілі(див. далі).
2.2.3
Рівняння вихідних сигналів та їх синтез у заданий базис:
2.3
Методика
синтезу автомата Мілі
Структурна схема автомата Мілі (зображена на рис. 2.3)
включає ті ж етапи, що і синтез КА Мура. Відрізняється від схеми автомата Мура
тим, що вихідні сигнали Y залежать від вхідних Х.
Порядок
синтезу автомата Мілі:
1. Позначаємо
вхід початкових та кінцевих станів;
2. Позначаємо вихід операторних вершин у паралельних
гілках одним станом (див. рис. 2.4). Кожна операторна вершина відзначається
окремим станом. Таблиця переходів автомата має наступні стовпці: am,
as - вихідний стан і стан переходу.
Х (am,as) - кон’юнкція вхідних перемінних,
визначальний перехід (am, as),
Yh -
вихідний сигнал на переході (am, as).
Для синтезу логічної
схеми в заданому базисі необхідно перетворити СБФ за правилами Де-Моргана з
урахуванням обмежень елементного базису - числа входів і навантажувальної
здатності.
Рис. 2.5 –
Граф-схема автомата Мілі
Табл. 2.2 –
Структура переходів для автомата Мілі
№
п/п
|
Поточний
стан
|
Наступний
стан
|
Вхідний сигнал
Х
|
Вихідний сигнал
y
|
S входи тригерів
|
R входи тригерів
|
Am
|
код
|
As
|
код
|
1
|
a0
|
00000
|
a1
|
00001
|
1
|
у1 у2 y4 y7
|
S5
|
|
2
|
a1
|
00001
|
a2
|
00010
|
1
|
y3 у8
|
S4
|
R5
|
3
|
a2
|
00010
|
a3
|
00011
|
1
|
у14 у17 у21 y40
|
S5
|
|
4
|
a3
|
00011
|
a4
a6
a8
|
00100
00110
01000
|
X3
nX3 X4
nX3 nX4
|
y12 у18 у20 y41
y13 y16 y35
y11 y16 y35
|
S3
S3
S2
|
R4 R5
R5
R4 R5
|
5
|
a4
|
00100
|
a5
|
00101
|
1
|
y11 y28 y36
|
S5
|
|
6
|
a5
|
00101
|
a11
|
01011
|
1
|
y10 y27 y29
y41
|
S2 S4
|
R3
|
7
|
a6
|
00110
|
a7
|
00111
|
1
|
y15 y19 y34
|
S5
|
|
8
|
a7
|
00111
|
a11
|
01011
|
1
|
y10 y30 y32
y41
|
S2
|
R3
|
9
|
a8
|
01000
|
a9
|
01001
|
1
|
y10 y17 y27
y41
|
S5
|
|
10
|
a9
|
01001
|
a10
|
01010
|
1
|
y11 y25 y37
|
S4
|
R5
|
11
|
a10
|
01010
|
a11
|
01011
|
1
|
S5
|
|
12
|
a11
|
01011
|
a12
|
01100
|
1
|
y14 y17 y21
y41
|
S3
|
R4 R5
|
13
|
a12
|
01100
|
a13
a14
a16
|
01101
01110
10000
|
X3
nX3 X4
nX3 nX4
|
y15 y19 y37
y12 y15 y17
y21 y22 y34
y40
y15 y19 y34
|
S5
S4
S1
|
R2 R3
|
14
|
a13
|
01101
|
a20
|
10100
|
1
|
y12 y18 y32
y41
|
S1
|
R2 R5
|
15
|
a14
|
01110
|
a15
|
01111
|
1
|
y12 y30 y32
y41
|
S5
|
|
16
|
a15
|
01111
|
a20
|
10100
|
1
|
y12 y23 y30
y41
|
S1
|
R2 R4 R5
|
17
|
a16
|
10000
|
a17
|
10001
|
1
|
y14 y18 y32
y41
|
S5
|
|
18
|
a17
|
10001
|
a18
|
10010
|
1
|
y13 y31 y36
|
S4
|
R5
|
19
|
a18
|
10010
|
a19
|
10011
|
1
|
y12 y30 y32
y41
|
S5
|
|
20
|
a19
|
10011
|
a20
|
10100
|
1
|
y13 y28 y39
|
S3
|
R4 R5
|
21
|
a20
|
10100
|
a21
|
10101
|
1
|
y14 y20 y24
y40
|
S5
|
|
22
|
a21
|
10101
|
a22
a23
a24
|
10110
10111
11000
|
X3
nX3 X4
nX3 nX4
|
y15 y31 y34
y9 y14 y18
y19 y20 y35
y41
y14 y17 y24
y41
|
S4
S4
S2
|
R5
R3 R5
|
23
|
a22
|
10110
|
a25
|
11001
|
1
|
y14 y24 y32
y40
|
S2 S5
|
R3 R4
|
24
|
a23
|
10111
|
a25
|
11001
|
1
|
y14 y23 y33
y41
|
S2
|
R3 R4
|
25
|
a24
|
11000
|
a25
|
11001
|
1
|
y15 y31 y38
|
S5
|
|
26
|
a25
|
11001
|
a26
a0
a27
|
11010
00000
11011
|
X2
nX2 X1
nX2 nX1
|
y11 y25 y34
y10 y26 y30
y41
y11 y31 y35
|
S4
S4
|
R5
R1 R2 R5
|
27
|
a26
|
11010
|
a0
|
00000
|
1
|
y10 y26 y30
y40
|
|
R1 R2 R4
|
28
|
a27
|
11011
|
a0
|
00000
|
1
|
y10 y26 y30
y40
|
|
R1 R2 R4
R5
|
2.4 Формування схеми автомата Мілі
2.4.1
Функції збудження пам'яті та їх синтез у заданий базис:
2.4.2
Синтез дешифратора та його синтез у заданий базис.
Методика синтезу
дешифратора до автомата Мілі:
§
таблиця істинності
(Карта Карно);
§
Карта
Карно для одержання мінімізованої функції збудження;
§
запис
формул функцій збудження;
§
побудова
схеми.
Оскільки на
кожнім наборі вхідних перемінних активний тільки один біт, то Карту Карно можна
зобразити одну загальну для усіх вихідних сигналів. При цьому в осередках Карти
Карно записуються не одиниці, а імена відповідних функцій.
Табл. 2.3 –
Карта Карно до дешифратора автомата Мілі
|
000 001 011 010
110 111 101 100
|
00
01
11
10
|
а0
|
а1
|
а3
|
а2
|
а6
|
а7
|
а5
|
а4
|
а8
|
а9
|
а11
|
а10
|
а14
|
а15
|
а13
|
а12
|
а24
|
а25
|
а27
|
а26
|
*
|
*
|
*
|
*
|
а16
|
а17
|
а19
|
а18
|
а22
|
а23
|
а21
|
а20
|
...
...
...
Електрична схема
дешифратора зображена на рисунку 2.6.
Рис. 2.6 –
Дешифратор. Функціональна схема.
2.4.3
Рівняння вихідних сигналів та їх синтез у заданий базис:
3. Синтез
автоматів з програмованою логікою
3.1 Синтез
автомата з примусовою адресацією команд
ПЗУ – зберігаємий набір команд, кожна з котрих несе
інформацію про набір вихідного сигналу, про поточний такт та адресу
мікрокоманд, котрі повинні бути виконані у наступному такті.
Рис. 3.1 - Формат
МК
Рис. 3.2 -
Структурна схема АПЛ з примусовою адресацією мікрокоманд
Аналіз рисунка
3.2:
§
СФВС -
дозволяє декодувати інформацію, що утримується в полі Y.
§
САХ -
являє собою мультиплексор на інформаційні входи якого подаються вхідні сигнали,
а на адресні, код з поля Nх при цьому на А0 завжди подається сигнал
"0", у такий спосіб формується сигнал Z, що забезпечує передачу на адресний
вхід пам'яті А або А0, або А1.
Для того щоб
сформувати вміст ROM по граф-схемі мікрокоманд необхідно:
§
відзначити
номера мікрокоманд;
§
закодувати
вихідні сигнали і сформувати мікрокоманди по заданому форматі;
§
сформувати
таблицю вмісту ROM.
Рис. 3.3 –
Граф-схема автомата з примусовою адресацією команд
Для скорочення
довжини слова ROM будемо використовувати принцип максимального кодування
вихідних сигналів.
Табл. 3.1 –
Максимальне кодування вихідних сигналів
№ п/п
|
Макрокоманда
|
Мікрооперації
|
Код
|
1
|
Y0
|
-
|
000000
|
2
|
Y1
|
y1 y2 y4
y7
|
000001
|
3
|
Y2
|
y3 y8
|
000010
|
4
|
Y3
|
y14 y17
y21 y40
|
000011
|
5
|
Y4
|
y11 y16 y35
|
000100
|
6
|
Y5
|
y10 y17 y27
y41
|
000101
|
7
|
Y6
|
y11 y25 y37
|
000110
|
8
|
Y7
|
y10 y20 y27
y41
|
000111
|
9
|
Y8
|
y13 y16 y35
|
001000
|
10
|
Y9
|
y15 y19 y34
|
001001
|
11
|
Y10
|
y10 y30 y32
y41
|
12
|
Y11
|
y12 y18 y20
y41
|
001011
|
13
|
Y12
|
y11 y28 y36
|
001100
|
14
|
Y13
|
y10 y27 y29
y41
|
001101
|
15
|
Y14
|
y14 y17 y21
y41
|
001110
|
16
|
Y15
|
y15 y19 y34
|
001111
|
17
|
Y16
|
y14 y18 y32
y41
|
010000
|
18
|
Y17
|
y13 y31 y36
|
010001
|
19
|
Y18
|
y12 y30 y32
y41
|
010010
|
20
|
Y19
|
y13 y28 y39
|
010011
|
21
|
Y20
|
y12 y15 y17
y21 y22 y34 y40
|
010100
|
22
|
Y21
|
y12 y30 y32
y41
|
010101
|
23
|
Y22
|
y12 y23 y30
y41
|
010110
|
24
|
Y23
|
y15 y19 y37
|
010111
|
25
|
Y24
|
y12 y18 y32
y41
|
011000
|
26
|
Y25
|
y14 y20 y24
y40
|
011001
|
27
|
Y26
|
y14 y17 y24
y41
|
011010
|
28
|
Y27
|
y15 y31 y38
|
011011
|
29
|
Y28
|
y9 y14 y18
y19 y20 y35 y41
|
011100
|
30
|
Y29
|
y14 y23 y33
y41
|
011101
|
31
|
Y30
|
y15 y31 y34
|
011110
|
32
|
Y31
|
y14 y24 y32
y40
|
011111
|
33
|
Y32
|
y11 y31 y35
|
100000
|
34
|
Y33
|
y10 y26 y30
y40 y0
|
100001
|
35
|
Y34
|
y10 y26 y30
y41 y0
|
100010
|
36
|
Y35
|
y11 y25 y34
|
100011
|
Табл. 3.2 –
Структура переходів для автомата з примусовою адресацією команд
Адреса
а1а2а3а4а5а6
|
Y
0..5
|
X
6..8
|
FA0
9..14
|
FA1
15..20
|
Перехід
|
000000
|
000001
|
000
|
000001
|
*
|
b0
→ b1
|
000001
|
000010
|
000
|
000010
|
*
|
b1
→ b2
|
000010
|
000011
|
011
|
000011
|
001011
|
b2
→
|
000011
|
000000
|
100
|
000100
|
001000
|
b3
→
|
000100
|
000100
|
000
|
000101
|
*
|
b4
→ b5
|
000101
|
000101
|
000
|
000110
|
*
|
b5
→ b6
|
000110
|
000110
|
000
|
000111
|
*
|
b6
→ b7
|
000111
|
000111
|
000
|
001110
|
*
|
b7
→ b14
|
001000
|
001000
|
000
|
001001
|
*
|
b8
→ b9
|
001001
|
001001
|
000
|
001010
|
*
|
b9
→ b10
|
001010
|
001010
|
000
|
001110
|
*
|
b10
→ b14
|
001011
|
001011
|
000
|
001100
|
*
|
b11
→ b12
|
001100
|
001100
|
000
|
001101
|
*
|
b12
→ b13
|
001101
|
001101
|
000
|
001110
|
*
|
b13
→ b14
|
001110
|
001110
|
011
|
001111
|
011000
|
b14
→
|
001111
|
000000
|
100
|
010000
|
010101
|
b15
→
|
010000
|
001111
|
000
|
010001
|
*
|
b16
→ b17
|
010001
|
010000
|
000
|
010010
|
*
|
b17
→ b18
|
010010
|
010001
|
000
|
010011
|
*
|
b18
→ b19
|
010011
|
010010
|
000
|
010100
|
*
|
b19
→ b20
|
010100
|
010011
|
000
|
011010
|
*
|
b20
→ b26
|
010101
|
010100
|
000
|
010110
|
*
|
b21
→ b22
|
010110
|
010101
|
000
|
010111
|
*
|
b22
→ b23
|
010111
|
010110
|
000
|
011010
|
*
|
b23
→ b26
|
011000
|
010111
|
000
|
011001
|
*
|
b24
→ b25
|
011001
|
011000
|
000
|
011010
|
*
|
b25
→ b26
|
011010
|
011001
|
011
|
011011
|
100000
|
b26
→
|
011011
|
000000
|
100
|
011100
|
011110
|
b27
→
|
011100
|
011010
|
000
|
011101
|
*
|
b28
→ b29
|
011101
|
011011
|
010
|
100010
|
100110
|
b29
→
|
011110
|
011100
|
000
|
011111
|
*
|
b30
→ b31
|
011111
|
011101
|
010
|
100010
|
100110
|
b31
→
|
100000
|
011110
|
000
|
100001
|
*
|
b32
→ b33
|
100001
|
011111
|
010
|
100010
|
100110
|
b33
→
|
100010
|
000000
|
001
|
100011
|
100101
|
b34
→
|
100011
|
100000
|
000
|
100100
|
*
|
b35
→ b36
|
100100
|
100001
|
000
|
000000
|
*
|
b36
→ кінець
|
100101
|
100010
|
000
|
000000
|
*
|
b37 → кінець
|
100110
|
100011
|
000
|
100111
|
*
|
b38 → b39
|
100111
|
100001
|
000
|
000000
|
b39 → кінець
|
Табл. 3.3 – Таблиця кодів станів автомата з примусовою адресацією команд
№ п/п
|
Стан
|
Код
|
1
|
b0
|
000000
|
2
|
b1
|
000001
|
3
|
b2
|
000010
|
4
|
b3
|
000011
|
5
|
b4
|
000100
|
6
|
b5
|
000101
|
7
|
b6
|
000110
|
8
|
b7
|
000111
|
9
|
b8
|
001000
|
10
|
b9
|
001001
|
11
|
b10
|
001010
|
12
|
b11
|
001011
|
13
|
b12
|
001100
|
14
|
b13
|
001101
|
15
|
b14
|
001110
|
16
|
b15
|
001111
|
17
|
b16
|
010000
|
18
|
b17
|
010001
|
19
|
b18
|
010010
|
20
|
b19
|
010011
|
21
|
b20
|
010100
|
22
|
b21
|
010101
|
23
|
b22
|
010110
|
24
|
b23
|
010111
|
25
|
b24
|
011000
|
26
|
b25
|
011001
|
27
|
b26
|
011010
|
28
|
b27
|
011011
|
29
|
b28
|
011100
|
30
|
b29
|
011101
|
31
|
b30
|
011110
|
32
|
b31
|
011111
|
33
|
b32
|
100000
|
34
|
b33
|
100001
|
35
|
b34
|
100010
|
36
|
b35
|
100011
|
37
|
b36
|
100100
|
38
|
b37
|
100101
|
39
|
b38
|
100110
|
40
|
b39
|
100111
|
Табл. 3.4 –
Таблиця вхідних сигналів автомата з примусовою адресацією команд
№ п/п
|
Вхідний стан
|
Код
|
1
|
Х0
|
000
|
2
|
Х1
|
001
|
3
|
Х2
|
010
|
4
|
Х3
|
011
|
5
|
X4
|
100
|
Рівняння
вихідних сигналів та їх
синтез
у заданий базис:
3.2
Синтез автомата з природною адресацією команд
У реальних мікропрограмах часто зустрічаються ситуації,
коли маються досить довгі сплетіння операторних вершин. У цьому випадку можлива
організація схеми, коли безумовний перехід не задається, а виконується
нарощуванням адреси мікрокоманди. Таким чином вдається зменшити довжину
мікрокоманди за рахунок формування вихідних сигналів і аналізу вхідних сигналів
у різні моменти часу. Для цього в автоматах із природною адресацією використовується
два формати мікрокоманд:
§
операторна
§
умовна
Рис. 3.4 –
Структурна схема автомата з природною адресацією
Аналіз схеми:
У регістрі
мікрокоманд зберігатися поточне МК, якщо це операторна МК, то працює схема
формування вихідних сигналів і в операційний автомат попадає y.
При цьому схема
аналізу Х формує Z, що змушує адресу, що зберігається в лічильнику збільшитися
на одиницю.
Якщо в регістрі
МК умовна МК, то вихідний сигнал не формується, а схема аналізу Х формує Z, у
залежності від значення Z:
якщо Z=1, то до
значення лічильника команд додається 1,
якщо Z=0, то в
лічильник попадає адреса мікрокоманди з поля b.
Порядок
формування змісту ROM такий же як в автоматі з примусовою адресацією
мікрокоманд.
Рис. 3.5 –
Граф-схема автомата з природною адресацією команд
Табл. 3.5 –
Структура переходів для автомата з природною адресацією команд
№ п/п
|
Адреса b
b1 b2 b3 b4 b5 b6
|
0
|
1 . . . 6
|
Перехід
|
1
|
1 ... 3
|
4 . . . 9
|
1
|
000000
|
0
|
000001
|
b0 → b1
|
2
|
000001
|
0
|
000010
|
b1 → b2
|
3
|
000010
|
0
|
000011
|
b2 → b3
|
4
|
000011
|
1
|
011
|
010010
|
b2 →
|
5
|
000100
|
0
|
001011
|
b4 → b5
|
6
|
000101
|
0
|
001100
|
b5 → b6
|
7
|
000110
|
0
|
001101
|
b6 → b7
|
8
|
000111
|
0
|
001110
|
b7 → b14
|
9
|
001000
|
1
|
011
|
011100
|
b8 →
|
10
|
001001
|
0
|
010111
|
b9 → b10
|
11
|
001010
|
0
|
011000
|
b10 → b11
|
12
|
001011
|
0
|
011001
|
b11 → b12
|
13
|
001100
|
1
|
011
|
100111
|
b12 →
|
14
|
001101
|
0
|
011110
|
b13 → b14
|
15
|
001110
|
0
|
011111
|
b14 → b15
|
16
|
001111
|
1
|
010
|
101110
|
b15 →
|
17
|
010000
|
0
|
100011
|
b16 → b17
|
18
|
010001
|
0
|
100001
|
b17 → кінець
|
19
|
010010
|
1
|
100
|
010111
|
b18 →
|
20
|
010011
|
0
|
001000
|
b19 → b20
|
21
|
010100
|
0
|
001001
|
b20 → b21
|
22
|
010101
|
0
|
001010
|
b21 → b22
|
23
|
1
|
000
|
000111
|
b22 → БП b7
|
24
|
010111
|
0
|
000100
|
b23 → b24
|
25
|
011000
|
0
|
000101
|
b24 → b25
|
26
|
011001
|
0
|
000110
|
b25 → b26
|
27
|
011010
|
0
|
000111
|
b26 → b27
|
28
|
011011
|
1
|
000
|
000111
|
b27 → БП b7
|
29
|
011100
|
1
|
100
|
100001
|
b28 →
|
30
|
011101
|
0
|
010100
|
b29 → b30
|
31
|
011110
|
0
|
010101
|
b30 → b31
|
32
|
011111
|
0
|
010110
|
b31 → b32
|
33
|
100000
|
1
|
000
|
001011
|
b32 → БП b11
|
34
|
100001
|
0
|
001111
|
b33 → b34
|
35
|
100010
|
0
|
010000
|
b34 → b35
|
36
|
100011
|
0
|
010001
|
b35 → b36
|
37
|
100100
|
0
|
010010
|
b36 → b37
|
38
|
100101
|
0
|
010011
|
b37 → b38
|
39
|
100110
|
1
|
000
|
001011
|
b38 → БП b11
|
40
|
100111
|
1
|
100
|
101011
|
b39 →
|
41
|
101000
|
0
|
011100
|
b40 → b41
|
42
|
101001
|
0
|
011101
|
b41 → b42
|
43
|
101010
|
1
|
000
|
001111
|
b42 → БП b15
|
44
|
101011
|
0
|
011010
|
b43 → b44
|
45
|
101100
|
0
|
011011
|
b44 → b45
|
46
|
101101
|
1
|
000
|
001111
|
b45 → БП b15
|
47
|
101110
|
1
|
001
|
110000
|
b46 →
|
48
|
101111
|
0
|
100010
|
b47 → кінець
|
49
|
110000
|
0
|
100000
|
b48 → b49
|
50
|
100001
|
0
|
100001
|
b49 → кінець
|
Табл. 3.6 –
Таблиця кодів станів автомата
з природною адресацією команд
№ п/п
|
Стан
|
Код
|
1
|
b0
|
000000
|
2
|
b1
|
000001
|
3
|
b2
|
000010
|
4
|
b3
|
000011
|
5
|
b4
|
000100
|
6
|
b5
|
000101
|
7
|
b6
|
000110
|
8
|
b7
|
000111
|
9
|
b8
|
001000
|
10
|
b9
|
001001
|
11
|
b10
|
001010
|
12
|
b11
|
001011
|
13
|
b12
|
001100
|
14
|
b13
|
001101
|
15
|
b14
|
001110
|
16
|
b15
|
001111
|
17
|
b16
|
010000
|
18
|
b17
|
010001
|
19
|
b18
|
010010
|
20
|
b19
|
010011
|
21
|
b20
|
010100
|
22
|
b21
|
010101
|
23
|
b22
|
010110
|
24
|
b23
|
010111
|
25
|
b24
|
011000
|
26
|
b25
|
011001
|
27
|
b26
|
011010
|
28
|
b27
|
011011
|
29
|
b28
|
011100
|
30
|
b29
|
011101
|
31
|
b30
|
011110
|
32
|
b31
|
011111
|
33
|
b32
|
100000
|
34
|
b33
|
100001
|
35
|
b34
|
100010
|
36
|
b35
|
100011
|
37
|
b36
|
100100
|
38
|
b37
|
100101
|
39
|
b38
|
100110
|
40
|
b39
|
100111
|
41
|
b40
|
101000
|
42
|
b41
|
101001
|
43
|
b42
|
101010
|
44
|
b43
|
101011
|
45
|
b44
|
101100
|
46
|
b45
|
101101
|
47
|
b46
|
101110
|
48
|
b47
|
101111
|
49
|
b48
|
110000
|
50
|
b49
|
110001
|
Табл. 3.7 –
Таблиця вхідних сигналів автомата з природною адресацією команд
№ п/п
|
Вхідний стан
|
Код
|
1
|
Х0
|
000
|
2
|
Х1
|
001
|
3
|
Х2
|
010
|
4
|
Х3
|
011
|
5
|
X4
|
100
|
Рівняння
вихідних сигналів та їх синтез у заданий базис:
Синтез
мультиплексора
Табл. 3.8 –
Карта Карно до мультиплексора
|
00
|
01
|
11
|
10
|
0
1
|
x0
|
x1
|
x3
|
x2
|
x4
|
*
|
*
|
*
|
4.
ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА АВТОМАТІВ
4.1
Порівняльна характеристика автоматів з жорсткою логікою
Розрахуємо усі
дані по формулам:
N - кількість
великих елементів.
Nвх –
кількість входів на великі елементи.
n – кількість
малих елементів.
nвх -
кількість входів на малі елементи.
Nтр –
кількість тригерів у схемі
Табл. 4.1 –
Таблиця обліку апаратурних витрат автоматів з жорсткою логікою
|
R схеми
|
Тригер
|
DC
|
Мура
|
|
|
|
Мілі
|
|
|
|
З таблиці 4.1
видно, що R схеми у Мура менше, але входів на DC більше.
Тригерів однакова
кількість.
4.2
Порівняльна характеристика автоматів з програмованою логікою
Табл.4.2 Таблиця
обліку апаратурних витрат автоматів з програмованою логікою
|
ПЗУ
|
Регістр лічильник
|
Комбінаційна частина
|
DC
|
Примусова
|
|
|
|
|
Природна
|
|
|
|
|
У автомата з
природною адресацією МК більш мінімальні апаратні витрати (корпусів), ніж у
автомата з примусовою адресацією.
Тригерів однакова
кількість. Кількість входів на DC однакова.
Комбінаційна
частина у АПЛ з природною адресацією більша,
ніж у примусової.
ВИСНОВОК
операційний
керуючий автомат програмований логіка
Виконано курсовий
проект з дисципліни „Прикладна теорія цифрових автоматів” на тему „Синтез
керуючих автоматів”.
Були синтезовані
основні типи автоматів з жорсткою та програмованою логікою. Хоча всі приведені
автомати справилися з поставленою задачею і в достатній мірі реалізували схему
керуючого автомата, але є деякі позитивні і негативні особливості синтезу
кожного з автоматів. Наприклад, автомати з жорсткою логікою мають досить велику
комбінаційну частину, але вони не потребують елементів ROM, це робить ці
автомати дуже оптимальними за ціною затрат.
Автомати з
програмованою логікою виявились досить складними в розрахунках і реалізації,
але це повністю компенсувалось універсальністю та гнучкістю програмування, чого
не можна було досягнути на автоматах з жорсткою логікою.
Размещено
на http://www..ru/