Добавил:
vladymirchervyakov@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретный анализ и теория автоматов. Методические указания для самостоятельной работы студента

.pdf
Скачиваний:
27
Добавлен:
11.06.2020
Размер:
1.59 Mб
Скачать

a2

 

 

 

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