а1
0
1
1
а2
1
а0 Р1ùР1 &УЗП УСЧИТ&P4
Р2&P3&УСЧ1+ ùР2&P3+P2&ùР3&ùР1&УСЧ1+ùР2&ùР3&ùР1
УСДВ&ùР4
Для реализации выберем автомат Мили, т.к он имеет всего 3 состояния. Будм реализовывать его на D-триггере.
Построим таблицу переходов и выходов автомата Мили
Вход | Состояние | ||
а0 | а1 | а2 | |
Р1 | а0 | ||
ùР1 | а1 УЗП | ||
P2&P3 | a2 УСЧ1 | ||
ùР2&P3 | a2 | ||
P2&ùР3&ùР1 | a2 УСЧ1 | ||
ùP2&ùР3&ùР1 | a2 | ||
Р4 | a0 УСЧИТ | ||
ùР4 | a1 УСДВ |
Построим кодированную таблицу переходов и выходов конечного автомата.
Для этого воспользуемся кодированной таблицей внутренних состояний автомата:
a(t) | Q1(t) | Q2(t) |
a0 | 0 | 0 |
a1 | 0 | 1 |
a2 | 1 | 0 |
Тогда кодированная таблица переходов и выходов принимает вид:
Вход | Состояние | ||
00 | 01 | 10 | |
Р1 | 00 | ||
ùР1 | 01 УЗП | ||
P2&P3 | 10 УСЧ1 | ||
ùР2&P3 | 10 | ||
P2&ùР3&ùР1 | 10 УСЧ1 | ||
ùP2&ùР3&ùР1 | 10 | ||
Р4 | 00 УСЧИТ | ||
ùР4 | 01 УСДВ |
На основе полученной кодированной таблицы переходов и выходов УА получим функции возбуждения D-триггера и выражения для управляющих сигналов:
D1= P2&P3&ùQ1&Q2+ùР2&P3&ùQ1&Q2+ P2&ùР3&ùР1&ùQ1&Q2+ùP2&ùР3&ùР1&ùQ1&Q2= P3&ùQ1&Q2+ùР3&ùР1&ùQ1&Q2
D2=ùР1&ùQ1&ùQ2+ùР4&Q1&ùQ2
УЗП= ùР1&ùQ1&ùQ2
УСЧ1= P2&P3&ùQ1&Q2+ P2&ùР3&ùР1&ùQ1&Q2
УСЧИТ= Р4&Q1&ùQ2
УСДВ=ùР4&Q1&ùQ2
На основе полученных выражений получаем функциональную схему УА, сигнал СБРОС является установочным и формируется при включении питания или от кнопки.
Управляющий автомат с программируемой логикой
Составим каноническую форму микропрограммы синтезируемого операционного устройства (для АУ с естественной адресацией).
Номер | Метка | Управляющие сигналы | Переход |
0 1 2 3 4 5 6 7 8 9 10 | М1 М2 М3 М4 | УЗП УСЧ1 УСДВ УСЧИТ | если Р1, то М1 если Р2, то М3 если Р3, то М3 если Р1, то М3 если Р4, то М4 идти к М2 конец |
Будем считать, что устройство управления решает одну задачу, так что для его построения достаточно иметь ПЗУ, содержащие 10 ячеек. Тогда адрес ячеек ПЗУ будет выражаться четырехразрядным кодом А{3:0}.
Для естественной адресации:
0 | УЗП | УСЧ1 | УСДВ | УСЧИТ | - | - | - | - |
1 | Р1 | Р2 | Р3 | Р4 | А3 | А2 | А1 | А0 |
Первый разряд формата микрокоманды УА с естественной адресацией определяет признак микрокоманды (ПРМК): 0 - операционная микрокоманда, 1 - управляющая микрокоманда.
Установим соответствие между метками и адресами переходов: M1=010=00002, M2=210=00102, M3=610=01102, M4=910=10012
Адрес | Разряды микрокоманд |
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 | 1 1000 0000 0 1000 0000 1 0100 0110 0 0100 0000 1 0010 0110 1 1000 0110 1 0001 1001 0 0010 0000 1 0000 0010 0 0001 0000 1 0000 0000 |
Для принудительной адресации микрокоманда может одновременно содержать переходы и управляющие сигналы. Тогда для микрокоманды с принудительной адресацией:
Номер | Метка | Управляющие сигналы | Переход |
0 1 2 3 4 5 6 7 | М1 М2 М3 М4 | УЗП УСЧ1 УСДВ УСЧИТ | если Р1, то М1 если Р2, то М3 если Р3, то М3 если Р1, то М3 если Р4, то М4 идти к М2 конец |
Формат микрокоманды:
УЗП | УСЧ1 | УСДВ | УСЧИТ | Р1 | Р2 | Р3 | Р4 | А2 | А1 | А0 |
Установим соответствие между метками и адресами переходов: M1=010=0002, M2=210=0102, M3=510=1012, M4=710=01112
Теперь кодовое выражение микропрограммы УУ, используя каноническое описание и формат микрокоманды, может быть записано в следующем виде:
Адрес | Разряды микрокоманд |
000 001 010 011 100 101 110 111 | 0000 1000 000 1000 0000 000 0000 0100 101 0100 0010 101 0000 1000 101 0000 0001 111 0010 0000 010 0001 0000 000 |
Сравнивая объем микропрограмм для управляющих автоматов с естественной и принудительной адресацией, мы убеждаемся в том, что принудительная адресация требует меньшего объема ПЗУ (в нашем случае 11 * 8 = 70 бит), чем естественная адресация (9 * 11 = 99 бит). Таким образом, реализация УА с принудительной адресацией в нашем случае более желательна.
Функциональная схема УА с программируемой логикой
РМК{5:8} 4 P1P2P3P4