Этап 3. Составление таблицы переходов и выходов автомата.
Эти таблицы носят название автоматных таблиц.
Таблица 1. Переходов.
a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | |
x0 | a0 | a2 | a3 | a0 | a5 | a6 | a7 | a0 |
x1 | a1 | a0 | a0 | a4 | a0 | a0 | a0 | a0 |
Таблица 2. Выходов.
a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | |
x0 | y0 | y0 | y0 | y0 | y0 | y0 | y0 | y0 |
x1 | y0 | y0 | y0 | y0 | y0 | y0 | y0 | y1 |
Этап 4. Кодирование элементов.
Таблица 3. Кодирование входных сигналов.
x1ф | |
x0 | 0 |
x1 | 1 |
Таблица 4. Кодирование выходных сигналов.
y1ф | |
y0 | 0 |
y1 | 1 |
Таблица 5. Кодирование состояний автомата.
Q2 | Q1 | Q0 | |
a0 | 0 | 0 | 0 |
a1 | 0 | 0 | 1 |
a2 | 0 | 1 | 0 |
a3 | 0 | 1 | 1 |
a4 | 1 | 0 | 0 |
a5 | 1 | 0 | 1 |
a6 | 1 | 1 | 0 |
a7 | 1 | 1 | 1 |
Мы проектируем синхронный автомат, в котором переход из одного состояния в другое выполняется по синхроимпульсу, причем время переключения триггеров (τпер < τОС) меньше, чем время передачи сигнала по цепям обратной связи.
Этап 5. Выбор типа элементарных автоматов.
Для хранения сведений о состоянии автомата выберем триггер D-типа, поскольку у него наиболее простая матрица переходов.
Таблица 6. Таблица переходов D-триггера.
Q(t) | Q(t+1) | q(t) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
Очевидно, состояние на такте Q(t+1) не зависит от состояния на такте Q(t)
Кроме того, мы будем использовать триггеры с динамическим способом приема информации. Это означает, что прием сигнала на вход триггера осуществляется только во время изменения фронта синхроимпульса СИ.
Этап 6. Заполнение кодированной таблицы переходов и выходов.
Теперь воспользуемся первыми пятью таблицами и составим общую кодированную таблицу переходов и выходов. В дальнейшем она будет рассматриваться как таблица истинности для результирующей логической функции.
Таблица 7.
# | аргументы | состояние в момент времени t+1 | функции в момент времени t | Переход из состояния в состояние | |||||||||
вход | состояние в момент времени t | ||||||||||||
х1ф | Q2 | Q1 | Q0 | Q2 | Q1 | Q0 | q2 | q1 | q0 | y1ф | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a0 | a0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | a1 | a2 |
2 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | a2 | a3 |
3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a3 | a0 |
4 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | a4 | a5 |
5 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | a5 | a6 |
6 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | a6 | a7 |
7 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a7 | a0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | a0 | a1 |
9 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a1 | a0 |
10 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a2 | a0 |
11 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | a3 | a4 |
12 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a4 | a0 |
13 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a5 | a0 |
14 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | a6 | a0 |
15 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | a7 | a0 |
Замечание: входной сигнал q(t) повторяет выходной сигнал Q(t+1).