2. СТРУКТУРНЫЙ СИНТЕЗ КОНЕЧНОГО АВТОМАТА
2.1 Кодирование состояний, входных и выходных сигналов
Для кодирования состояний, входных и выходных сигналов конечного автомата, необходимо вычислить число элементов памяти:
а) рассчитаем число элементов памяти: Н = ] log2h [, где h - число состояний после минимизации D = {
}H = ] log2 12 [ = 4
б) рассчитаем число входных (L) и выходных (М) шин:
L = ] log2n[
М =] log2m [,
где n, m - число букв входного и выходного алфавитов
Z = {0, 1} L = ] log2 2 [ = 1
W = {0, 1} M = ] log2 2 [ = 1
Из приведённого выше следует, что для кодирования состояний необходимо 4 элемента памяти, обозначим их Q0, …, Q3. Закодируем состояния (таблица 5) случайными кодами.
Таблица 5. Таблица кодированных состояний
d(t-1) | Q0 | Q1 | Q2 | Q3 |
d0 | 0 | 0 | 0 | 0 |
d1 | 0 | 0 | 0 | 1 |
d2 | 0 | 0 | 1 | 0 |
d3 | 0 | 0 | 1 | 1 |
d4 | 0 | 1 | 0 | 0 |
d5 | 0 | 1 | 0 | 1 |
d6 | 0 | 1 | 1 | 0 |
d7 | 0 | 1 | 1 | 1 |
d8 | 1 | 0 | 0 | 0 |
d9 | 1 | 0 | 0 | 1 |
d10 | 1 | 0 | 1 | 0 |
d11 | 1 | 0 | 1 | 1 |
2.2 Формирование функций возбуждения и выходных сигналов структурного автомата
По минимизированному графу переходов абстрактного автомата (Приложение 2) можно составить таблицу переходов, выходных сигналов и сигналов возбуждения D-триггеров автомата Мили (таблица 6), Т-триггеров автомата Мили (таблица 7), RS-триггеров (таблица 8), JK-триггеров (таблица 9).
D-триггер – элемент задержки – имеет один информационный вход D и один выход Q и осуществляет задержку поступившего на его вход сигнала на один такт. Состояние, в которое переходит триггер, совпадает с поступившим на его вход сигналом D(t).
Таблица 6. Таблица переходов, выходных сигналов и сигналов возбуждения D-триггеров
Номер перехода | Исходное состояние | Код исходного состояния | Следующее состояние | Код следующего состояния | Входной набор | Выходные сигналы | Сигналы возбуждения | ||||
0 | 1 | D3 | D2 | D1 | D0 | ||||||
1 | d0 | 0000 | d1d2 | 00010010 | 01 | d00d01 | d01 | d00 | |||
2 | d1 | 0001 | d3d4 | 00110100 | 01 | d10d11 | d11 | d10 | d10 | ||
3 | d2 | 0010 | d7d8 | 01111000 | 01 | d20d21 | d21 | d20 | d20 | d20 | |
4 | d3 | 0011 | d5 | 0101 | 1 | d31 | d31 | d31 | |||
5 | d4 | 0100 | d6 | 0110 | 1 | d41 | d41 | d41 | |||
6 | d5 | 0101 | d11 | 1011 | 0Ú1 | d50 | d51 | d50Úd51 | d50Úd51 | d50Ú d51 | |
7 | d6 | 0110 | d11 | 1011 | 0 | d60 | d60 | d60 | d60 | ||
8 | d7 | 0111 | d9 | 1001 | 1 | d71 | d71 | d71 | |||
9 | d8 | 1000 | d10d5 | 10100101 | 01 | d80d81 | d80 | d81 | d80 | d81 | |
10 | d9 | 1001 | d11 | 1011 | 0 | d90 | d90 | d90 | d90 | ||
11 | d10 | 1010 | d11 | 1011 | 1 | d101 | d101 | d101 | d101 | ||
12 | d11 | 1011 | d0 | 0000 | - | - | - | - | - | - | - |
Из таблицы следует, что выходные сигналы автомата Мили описываются следующими выражениями:
= d20 Úd21 Úd50 Úd60 Úd80 Úd81 Úd101= d2 Úd50 Úd60 Úd8 Úd101 = d00 Úd01 Úd10 Úd11 Úd31 Úd41 Úd51 Úd71 Úd90= d0 Úd1 Úd31 Úd41 Úd51 Úd71 Úd90Также следует, что сигналы возбуждения D-триггеров автомата Мили описываются следующими выражениями:
D3 = d21 Úd50 Úd51 Úd60 Úd71 Úd80 Úd90 Úd101= d21 Úd5 Úd60 Úd71 Úd80 Úd90 Úd101
D2 = d11 Úd20 Úd31 Úd41 Úd81
D1 = d01 Úd10 Úd20 Úd41 Úd50 Úd51 Úd60 Úd80 Úd90 Úd101=
=d01 Úd10 Úd20 Úd41 Ú d5Úd60 Úd80 Úd90 Úd101
D0 = d00 Úd10 Úd20 Úd31 Úd50 Úd51 Úd60 Úd71 Úd81 Úd90 Úd101=
=d00 Úd10 Úd20 Úd31 Úd5 Úd60 Úd71 Úd81 Úd90 Úd101
Функциональная схема автомата Мили на D-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 3.
Таблица 7. Таблица переходов, выходных сигналов и сигналов возбуждения T-триггеров
Номер перехода | Исходное состояние | Код исходного состояния | Следующее состояние | Код следующего состояния | Входной набор | Выходные сигналы | Сигналы возбуждения | ||||
0 | 1 | T3 | T2 | T1 | T0 | ||||||
1 | d0 | 0000 | d1d2 | 00010010 | 01 | d00d01 | d01 | d00 | |||
2 | d1 | 0001 | d3d4 | 00110100 | 01 | d10d11 | d11 | d10 | d11 | ||
3 | d2 | 0010 | d7d8 | 01111000 | 01 | d20d21 | d21 | d20 | d21 | d20 | |
4 | d3 | 0011 | d5 | 0101 | 1 | d31 | d31 | d31 | |||
5 | d4 | 0100 | d6 | 0110 | 1 | d41 | d41 | ||||
6 | d5 | 0101 | d11 | 1011 | 0Ú1 | d50 | d51 | d50Úd51 | d50Úd51 | d50Úd51 | |
7 | d6 | 0110 | d11 | 1011 | 0 | d60 | d60 | d60 | d60 | ||
8 | d7 | 0111 | d9 | 1001 | 1 | d71 | d71 | d71 | d71 | ||
9 | d8 | 1000 | d10d5 | 10100101 | 01 | d80d81 | d81 | d81 | d80 | d81 | |
10 | d9 | 1001 | d11 | 1011 | 0 | d90 | d90 | ||||
11 | d10 | 1010 | d11 | 1011 | 1 | d101 | d101 | ||||
12 | d11 | 1011 | d0 | 0000 | - | - | - | - | - | - | - |
Из таблицы следует, что сигналы возбуждения T-триггеров автомата Мили описываются следующими выражениями:
T3 = d21 Úd50 Úd51 Úd60 Úd71 Úd81= d21 Ú d5 Úd60 Úd71 Úd81
T2 = d11 Úd20 Úd31 Úd50 Úd51 Úd60 Úd71 Úd81= d11 Úd20 Úd31 Úd5 Úd60 Úd71 Úd81
T1 = d01 Úd10 Úd21 Úd31 Úd41 Úd50 Úd51 Úd71 Úd80 Úd90= d01 Úd10 Úd21 Úd31 Úd41 Úd5Úd71 Úd80 Úd90
T0 = d00 Úd20 Úd60 Úd81 Úd101
Функциональная схема автомата Мили на T-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 4.
Таблица 8. Таблица переходов и сигналов возбуждения RS-триггеров
Номер перехода | Сигналы возбуждения | |||||||
R3 | S3 | R2 | S2 | R1 | S1 | R0 | S0 | |
1 | d01 | d00 | ||||||
2 | d11 | d10 | d11 | |||||
3 | d21 | d20 | d21 | d20 | ||||
4 | d31 | d31 | ||||||
5 | d41 | |||||||
6 | d50Úd51 | d50Úd51 | d50Úd51 | |||||
7 | d60 | d60 | d60 | |||||
8 | d71 | d71 | d71 | |||||
9 | d81 | d81 | d80 | d81 | ||||
10 | d90 | |||||||
11 | d101 | |||||||
12 | - | - | - | - | - | - | - | - |
Из таблицы следует, что сигналы возбуждения RS-триггеров автомата Мили описываются следующими выражениями: