Дискретный анализ и теория автоматов. Методические указания для самостоятельной работы студента
.pdfa2
|
|
|
S2
a1
|
|
|
R2 x1
|
|
|
x2
|
|
|
S1
x3
|
|
|
R1 x4
|
|
|
Рисунок 14 ‒ Функціональна схема блока КС1 автомата Мура
41
a2 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
1 |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
y1 |
y2 |
|||||
|
|
|
|
|
||||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1
1 |
1 |
y3 |
1 |
y4 |
|
||||
|
|
|
Рисунок 15 ‒ Функціональна схема блока КС2 автомата Мура
Завдання 2
За варіантом 36 задано суміщену таблицю переходів-виходів автомата Мілі (табл. 7). Таблиця 7 – Таблиця переходів-виходів автомата Мілі
|
q(t) |
|
|
|
z(t) |
q0 |
q1 |
|
q2 |
|
|
|
|
|
z2 |
q2 |
q2 |
q0 |
|
|
w3 |
|
w |
|
|
w |
|
||
|
2 |
|
|
3 |
|
q0 |
q |
0 |
q |
z4 |
|
|
1 |
|
w3 |
|
|
|
|
|
w2 |
|
w1 |
|
z9 |
q2 |
q1 |
q0 |
|
|
|
|
|
|
|
w1 |
w1 |
|
w1 |
|
q0 |
q0 |
q0 |
|
z13 |
w0 |
w0 |
|
w0 |
|
|
|||
Потрібно виконати наступне: |
|
|
1)за таблицею переходів-виходів побудувати орграф автомата Мілі;
2)визначити необхідну кількість тригерів як елементів пам’яті, вибрати тип тригерів та виконати кодування станів автомата;
3)накреслити функціональну схему автомата Мілі з використанням тригерів вибраного типу та пояснити процес його функціонування;
4)розробити комбінаційні схеми у складі автомата Мілі.
Розв’язання
1) орграф автомата Мілі, заданий таблицею 7 переходів-виходів, подано на рис. 16.
42
z4 |
w0 |
|
w0 |
|
z13 |
|
z13 |
|
|
|
|
||
|
w3 |
|
z4 |
|
|
|
|
|
w2 |
q1 |
|
||
|
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
q0 |
|
z2 |
|
z9 |
z9 w1 |
|
w0 |
|
|
||
|
w3 |
|
|
w1 |
||
|
z2 |
w3 |
|
w1 |
|
|
|
|
|
|
|||
|
|
|
|
|
||
z9 |
w2 |
|
z13 |
|
|
|
|
|
|
|
|
|
|
w1 |
q |
2 |
|
|
|
|
|
|
z4 |
|
|
|
|
|
|
|
|
|
|
Рисунок 16 – Орграф автомата Мілі
2) Кількість станів автомата M =3. Усі 3 стани автомата можна закодувати 2- розрядним двійковим кодом, тому кількість тригерів у блоці пам’яті автомата дорівнює 2. Для кодування 3 станів автомата можна обмежитися використанням лише двійкових сигналів на прямих виходах 2 тригерів, без використання сигналів на їхніх інверсних виходах. Для застосування в блоці пам’яті автомата виберемо тригери JK-типу.
Виконаємо кодування станів автомата. Для зручності нагадаємо таблицю входів JKтригера (табл. 8). Результати кодування подані в таблиці 9.
Таблиця 8 ‒ Таблиця входів JK-тригера
Q(t) |
Q(t+1) |
|
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
J(t)R(t)
Таблиця 9 – Кодування станів та умови переходів автомата
Поточний |
Код поточ- |
Наступ- |
Сигнал |
|
|
Значення функцій |
|||
стан |
ного стану |
ний |
|
|
|
збудження |
|
||
|
|
|
стан |
|
|
|
|
|
|
|
a2 |
a1 |
входу |
виходу |
J2 |
K2 |
J1 |
K1 |
|
|
|
||||||||
q0 |
0 |
0 |
q0 |
z13 z4 |
w0 |
0 |
|
0 |
|
q0 |
0 |
0 |
q2 |
z2 |
w2 |
1 |
|
0 |
|
q0 |
0 |
0 |
q2 |
z9 |
w1 |
1 |
|
0 |
|
q1 |
0 |
1 |
q0 |
z13 |
w0 |
0 |
|
|
1 |
q1 |
0 |
1 |
q0 |
z4 |
w2 |
0 |
|
|
1 |
q1 |
0 |
1 |
q1 |
z9 |
w1 |
0 |
|
|
0 |
q1 |
0 |
1 |
q2 |
z2 |
w3 |
1 |
|
|
1 |
q2 |
1 |
0 |
q0 |
z13 |
w0 |
|
1 |
0 |
|
q2 |
1 |
0 |
q0 |
z2 |
w3 |
|
1 |
0 |
|
q2 |
1 |
0 |
q0 |
z9 |
w1 |
|
1 |
0 |
|
q2 |
1 |
0 |
q1 |
z4 |
w1 |
|
1 |
1 |
|
Примітка 1. Символ « » означає, що тут може бути символ 1 або 0.
Примітка 2. a1 і a2 ‒ сигнали на прямих виходах тригерів (використовувати інверсні виходи нема необхідності).
43
3) функціональну схему автомата Мілі з використанням синхронізованих JK-тригерів подано на рис. 17.
|
a2 |
|
J2 |
|
|
|
|
|
a1 |
|
K2 |
|
|
|
|
x1 |
|
КС1 |
J1 |
|
|
||
x2 |
|
|
|
x3 |
|
|
K1 |
x4 |
|
|
|
|
|
|
C
J |
T |
C |
|
K |
|
J |
T |
C |
|
K |
|
a2
|
|
y1 |
a |
КС2 |
y2 |
|
||
1 |
|
|
x1 |
|
y3 |
x2 |
|
|
|
|
x3 x4
Рисунок 17 ‒ Функціональна схема автомата Мілі
Автомат Мілі містить комбінаційні схеми КС1 і КС2. Перша з них служить для формування сигналів керування тригерами у блоці пам’яті (обведений пунктиром), а друга виконує функцію дешифратора, перетворюючи код (а2а1x1x2x3x4) стану автомата і сигналів входу в сигнал 1 на одному з каналів виходу. Такти автоматного часу задаються синхросигналом С від тактового генератора (на рис. 17 не показаний).
Автомат функціонує таким чином. Після вмикання в роботу автомат приходить в початковий стан q0 і видає на вихід кортеж сигналів w0 = 0000. Сприймаючі на вході сигнали 0 на всіх 6 каналах (а2а1x1x2x3x4 = 000000), автомат на кожному такті залишається у цьому стані з видачею на вихід сигналів y1 = y2 = y3 = y4 = 0, доки не почнеться передача одного з кортежей z2, z4 або z9. Якщо на вході з’явився один із цих кортежів, то комбінаційна схема КС2 видає на вихід відповідний поточному стану автомата кортеж сигналів w2, w0 або w1 (див. табл. 9), а комбінаційна схема КС1 формує на своєму виході відповідний наступному стану набір сигналів керування тригерами (згідно табл. 9). За синхроімпульсом блок пам’яті видасть код (а2а1) нового стану автомата і новий код (а2а1x1x2x3x4) перетворюється комбінаційною схемою (дешифратором) КС2 у сигнал 1 на одному з каналів виходу y1, y2, y3 і сигнал 0 на каналі y1. Якщо на деякому такті буде x1 = x2 = x3 = x4 = 0, що означає припинення корисної роботи автомата, то він перейде у початковий стан q0, як це і повинно бути для ініціального автомата. Якщо автомат зробити асинхронним, то він буде функціонувати так само, але перехід до наступного такту буде здійснюваться за зміною набору сигналів (x1x2x3x4) на його вході (з відповідною зміною сигналів на виході);
4) функціональну схему автомата Мілі (рис. 17) можна вважати повністю розробленою, якщо відомі комбінаційні схеми КС1 і КС2. Виконаємо синтез цих схем.
Комбінаційна схема КС1 здійснює перетворення кортежу (а2а1x1x2x3x4) вхідних змінних у кортеж (J2K2J1K1) вихідних змінних. Кожна з останніх є певною, причому неповністю визначеною, логічною функцією аргументів а2, а1, x1, x2, x3, x4, взятих із табл. 9 для поточних станів автомата:
J2 = a2 a1 z2+ a2 a1 z9+ a2 а1z2+(а2 a1 z13+а2 a1 z2+а2 a1 z9+а2 a1 z4) =
= a2 a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4 +
44
+ (а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4+а2 a1 x1 x2 x3 x4);
K2 = а2 a1 z13+а2 a1 z2+а2 a1 z9+а2 a1 z4+( a2 a1 z13+ a2 a1 z9+ a2 a1 z4+ a2 a1 z2+а2 a1 z13+а2 a1 z9 +
+ а2 a1 z4+а2 a1 z2)=а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4+а2 a1 x1 x2 x3 x4 +
+ ( a2 a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4+ a2 a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4 +
+ a2 а1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4 );
J1 = а2 a1 z4+( a2 а1z13+ a2 а1z2+ a2 а1z9+ a2 а1z4) =
= а2 a1 x1 x2 x3 x4+( a2 а1 x1 x2 x3 x4 + a2 а1 x1 x2 x3 x4 + a2 а1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4);
K1 = a2 а1z13+ a2 а1z4+ a2 а1z2+( a2 a1 z13+ a2 a1 z4+ a2 a1 z2+ a2 a1 z9 +
+ а2 a1 z13+а2 a1 z4+а2 a1 z2+а2 a1 z9) = a2 а1 x1 x2 x3 x4 + a2 а1 x1 x2 x3 x4+ a2 а1 x1 x2 x3 x4 +
+ ( a2 a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4+ a2 a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4) + + (а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4+а2 a1 x1 x2 x3 x4 +а2 a1 x1 x2 x3 x4).
У виразах цих функцій конституенти одиниці, що охоплені дужками, відповідають невизначеним значенням, поміченим у клітинках таблиці 9 символом « ». Побудуємо таблиці істинності функцій J1, J2, K2 та K1 у вигляді карт Карно.
На картах Карно нами побудовані контури, що охоплюють 2 або 4 сусідні клитинки, помічені одиницями та символами « ». Контури, що охоплюють єдину клітинку, помічену одиницею, умовно не показані. Символи « », що ввійшли в контури, вважаємо заміненими на 1. Всі інші клітинки, які порожні або помічені символом « », вважаємо поміченими нулями. Отже, ми зробили довизначення функцій J2, K2, J1 та K1.
x3x4 x1x2
00
01
11
10
10
11
01
00
J2 (a2, a1, x1, x2, x3, x4)
00 |
01 |
11 |
10 |
10 |
11 |
01 |
00 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
1
a2 =0 |
a2 =1 |
a1 = 0
a1 = 1
45
x3x4 x1x2
00
01
11
10
10
11
01
00
x3x4 x1x2
00
01
11
10
10
11
01
00
x3x4
K2 (a2, a1, x1, x2, x3, x4)
00 |
01 |
11 |
10 |
10 |
11 |
01 |
00 |
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
1 |
1 |
a1 = 0
|
|
= 1 |
|
|
1 |
|
|
a |
|
||
|
a2 =0 |
a2 =1 |
J1 (a2, a1, x1, x2, x3, x4)
00 |
01 |
11 |
10 |
10 |
11 |
01 |
00 |
1
a1 = 0
|
|
= 1 |
|
|
1 |
||
|
|
||
a |
|||
|
a2 =0 |
a2 =1 |
K1 (a2, a1, x1, x2, x3, x4)
x1x2 |
00 |
01 |
11 |
10 |
10 |
11 |
01 |
00 |
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
01 |
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
01 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
1 |
1 |
|
|
|
|
|
|
a2 =0 |
a2 =1 |
a1 = 0
a1 = 1
46
Маючи на увазі, що конституенти, яким відповідають клітинки, охоплені контурами, поглинаються їхньою власною частиною, одержимо тупикові функції:
J2 = a2 а1 x1 x2 x3 x4 + a1 x1 x2 x3 ;
K2 = a1 x1 x2 x3 ;
J1 = а2 a1 x1 x2 x3 x4 ;
K1 = a2 x1 x2 x3 + a2 x1 x3 x4 .
Вибір іншої системи контурів не призведе до скорочення тупикових функцій. Тому візьмемо тупикові функцій J2, K2, J1 та K1 за мінімальні та перетворимо їх до вибраного нами базису І-Не:
J2 = (a2a1 x1x2 x3 x4 ) (a1 x1x2 x3 );
K2 = (a1 x1 x3 );
J1 = (a2 a1 x1 x2 x3 x4 );
K1 = (a2 x1 x2 x3 ) (a2 x1 x3 x4 ).
Функціональну схему блока КС1 автомата Мілі подано на рис. 18.
Комбінаційна схема КС2 (рис. 17) по суті є дешифратором. Побудуємо її скорочену таблицю істинності (табл. 10) на підставі табл. 9.
Таблиця 10 ‒ Таблиця істинності комбінаційної схеми КС2
qi |
zi |
wi |
a2a1x1x2x3x4 |
y1 |
y2 |
y3 |
q0 |
z13 |
w0 |
000000 |
0 |
0 |
0 |
q0 |
z2 |
w2 |
000100 |
0 |
1 |
0 |
q0 |
z4 |
w0 |
000001 |
0 |
0 |
0 |
q0 |
z9 |
w1 |
000101 |
1 |
0 |
0 |
q1 |
z13 |
w0 |
010000 |
0 |
0 |
0 |
q1 |
z2 |
w3 |
010100 |
0 |
0 |
1 |
q1 |
z4 |
w2 |
010001 |
0 |
1 |
0 |
q1 |
z9 |
w1 |
010101 |
1 |
0 |
0 |
q2 |
z13 |
w0 |
100000 |
0 |
0 |
0 |
q2 |
z2 |
w3 |
100100 |
0 |
0 |
1 |
q2 |
z4 |
w1 |
100001 |
1 |
0 |
0 |
q2 |
z9 |
w1 |
100101 |
1 |
0 |
0 |
На підставі таблиці 10 складемо формули логічних функцій, що реалізовуються комбінаційною схемою КС2:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
y1 = a2 |
a1 |
|
x1 x2 x3 x4+ a2 a1 x1 x2 x3 x4+a2 a1 x1 x2 x3 x4+a2 a1 x1 x2 x3 x4; |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
y2 = a2 |
a1 |
|
x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4; |
y3 = a2 a1 x1 x2 x3 x4 +a2 a1 x1 x2 x3 x4 .
47
a2
|
|
|
|
J2
a1
|
|
x1
|
|
|
K2 |
|
x2
|
|
|
|
J1 |
|
x3
|
|
K1
x4 |
|
|
|
|
|
|
|
||
|
Рисунок 18 ‒ Функціональна схема блока КС1 автомата Мілі
48
Отримані функції виходу піддамо мінімізації за допомогою карт Карно. Як результат отримаємо:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
y1 = a2 |
|
x1 x2 x3 x4+a2 a1 x1 x3 x4; |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
y2 = a2 |
a1 x1 x2 x3 x4 + a2 a1 x1 x2 x3 x4; |
y3 = a2 a1 x1 x2 x3 x4 +a2 a1 x1 x2 x3 x4 .
Зведемо ці функції до вибраного базису Або-Не: y1 = (a2 x1x2 x3 x4 ) (a2 a1 x1 x3 x4 );
y2 = (a2 a1 x1x2 x3 x4 ) (a2a1 x1 x2 x3 x4 ); y3 = (a2a1 x1x2 x3 x4 ) (a2 a1 x1x2 x3 x4 ).
Функціональну схему блока КС2 автомата Мілі (рис. 17) подано на рис. 19.
49
a2
|
|
y1
a1
|
|
x1
|
|
|
y2 |
|
x2
|
|
|
|
|
y3 |
|
|
x3
y4
x4 |
|
|
|
|
|
|
|
||
|
Рисунок 19 ‒ Функціональна схема блока КС2 автомата Мілі
50