3. Отримання функцій збудження тригерів ЦА (у вигляді ДДНФ).
4. Мінімізація функції збудження тригерів. Перший етап мінімізації функцій збудження Т-тригерів виконаємо із застосуванням карт Карно (рис. 4).
|
|
|
Q2 | Q2 | ||||
M | 1 | 1 | |||
M | Q0 | ||||
1 | 1 | Q0 | |||
Q1 | Q1 |
| J | K |
|
0 | 0 | * | 0 |
0 | 1 | * | 1 |
1 | * | 1 | 0 |
1 | * | 0 | 1 |
Із аналізу табл. 3 можна зробити деякі важливі висновки.
По-перше, перехід тригера з будь-якого стану в інший однозначно визначається тільки одним з двох вхідних сигналів (J або K) та не залежить від значення другого сигналу. Наприклад, якщо J = 1, тригер перейде з нульового стану в одиничний, незалежно від того, яке значення має K.
По-друге, перехід тригера з нульового стану в будь-який інший (0 або 1) визначається виключно значенням J, а перехід тригера з одиничного стану – виключно значенням К. Це твердження можна записати таким чином:
Ця властивість дозволяє отримати дуже прості функції збудження, для чого необхідно складати таблицю переходів синтезованого ЦА з урахуванням вмісту табл. 3. Наприклад, таблиця переходів для синтезованого дворежимного лічильника з використанням JK-тригерів (табл. 4) містить удвічі більше стовпчиків для вхідних сигналів тригерів (функцій збудження), ніж табл. 2, але в кожному рядку цих стовпчиків присутні невизначені значення сигналів. Як відомо, при використанні карт Карно ці значення довизначаються за вибором виконавця з метою підвищення ефективності мінімізації, що дозволяє отримати більш прості логічні функції.
Таблиця 4
М | Початковий стан | Наступний стан | Сигнали на входах тригерів | |||||||||
J2 | K2 | J1 | K1 | J0 | K0 | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | * | 0 | * | 1 | * |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | * | 1 | * | * | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | * | * | 0 | 1 | * |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | * | * | 1 | * | 1 |
0 | 1 | 0 | 0 | 1 | 0 | 1 | * | 0 | 0 | * | 1 | * |
0 | 1 | 0 | 1 | 1 | 1 | 0 | * | 0 | 1 | * | * | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | * | 0 | * | 0 | 1 | * |
0 | 1 | 1 | 1 | 0 | 0 | 0 | * | 1 | * | 1 | * | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | * | 0 | * | 1 | * |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | * | 1 | * | * | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | * | * | 0 | 0 | * |
1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | * | * | 0 | * | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | * | 1 | 0 | * | 0 | * |
1 | 1 | 0 | 1 | 1 | 0 | 0 | * | 0 | 0 | * | * | 1 |
1 | 1 | 1 | 0 | 1 | 1 | 1 | * | 0 | * | 0 | 1 | * |
1 | 1 | 1 | 1 | 1 | 0 | 1 | * | 0 | * | 1 | * | 0 |
ВИСНОВОК
Головною метою синтезу ЦА з пам’яттю є визначення всіх його можливих станів та переходів, відповідно заданому алгоритму функціонування, та отримання функцій збудження всіх входів тригерів, з яких складається автомат. Цього достатньо для складання логічної схеми ЦА.
Багатоваріантність можливих реалізацій ЦА пов’язана з вибором типу тригерів та способу побудови його комбінаційної частини. Теоретично будь-який ЦА може бути побудований на тригерах будь-якого типу. Найбільш розповсюджені в схемотехніці D- та JK-тригери. JK-тригер має більш розвинені логічні можливості, тому для нього можна отримати більш прості функції збудження, але кількість функцій буде удвічі більшою, ніж для D-тригера. Яке рішення буде оптимальним для конкретного ЦА, в загальному випадку заздалегідь невідомо.