-
Структурный синтез автомата
-
Произвольное кодирование состояний автомата
RS-триггер
3 И-НЕ
Коэффициент разветвления: 4
ПЗУ: n=6, m=8
ПЛМ: n=6, t=8, m=4
q(t) →q(t+1) RS
0 → 0 * 0
0 → 1 0 1
1 → 0 1 0
1 → 1 0 *
Si |
q1 q2 |
S0 |
0 0 |
S1 |
0 1 |
S2 |
1 0 |
S3 |
1 1 |
Структурная схема автомата
-
Кодированная таблица переходов и выходов.
Данная таблица строится на основании ТПВ абстрактного автомата заменой символов состояний абстрактного автомата кодами состояний структурного автомата.
q1 q2 |
X1 X2 X3 |
|||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
|
0 0 |
11/0001 |
- |
01/0011 |
01/0011 |
01/0011 |
- |
01/0011 |
- |
0 1 |
10/0100 |
- |
10/0100 |
- |
10/0010 |
- |
10/0100 |
- |
1 0 |
- |
- |
- |
- |
00/1000 |
- |
- |
- |
-
Получение функции возбуждения и выходов
Таблица строится на основании кодированной ТПВ и диаграммы переходов триггера.
q1 q2 |
X1 X2 X3 |
|||||||
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
|
0 0 |
01,01/0001 |
- |
*0,01/0011 |
*0,01/0011 |
*0,01/0011 |
- |
*0,01/0011 |
- |
0 1 |
01,10/0100 |
- |
01,10/0100 |
- |
01,10/0010 |
- |
01,10/0100 |
- |
1 0 |
- |
- |
- |
- |
10,*0/1000 |
- |
- |
- |
-
Совместная минимизация функции возбуждения и выходов.
R1
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
- |
* |
* |
* |
- |
- |
* |
01 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
1 |
S1
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
1 |
- |
0 |
0 |
0 |
- |
- |
0 |
01 |
1 |
- |
- |
1 |
1 |
- |
- |
1 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
0 |
R2
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
- |
0 |
0 |
0 |
- |
- |
0 |
01 |
1 |
- |
- |
1 |
1 |
- |
- |
1 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
* |
S2
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
1 |
- |
1 |
1 |
1 |
- |
- |
1 |
01 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
0 |
Y0
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
- |
0 |
0 |
0 |
- |
- |
0 |
01 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
1 |
Y1
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
- |
0 |
0 |
0 |
- |
- |
0 |
01 |
1 |
- |
- |
1 |
1 |
- |
- |
0 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
0 |
Y2
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
- |
1 |
1 |
1 |
- |
- |
1 |
01 |
0 |
- |
- |
0 |
0 |
- |
- |
1 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
0 |
Y3
|
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
1 |
- |
1 |
1 |
1 |
- |
- |
1 |
01 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
11 |
- |
- |
- |
- |
- |
- |
- |
- |
10 |
- |
- |
- |
- |
- |
- |
- |
0 |
Карты Карно
R1
0 |
- |
* |
* |
* |
- |
- |
* |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
1 |
S1
1 |
- |
0 |
0 |
0 |
- |
- |
0 |
1 |
- |
- |
1 |
1 |
- |
- |
1 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
0 |
R2
0 |
- |
0 |
0 |
0 |
- |
- |
0 |
1 |
- |
- |
1 |
1 |
- |
- |
1 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
* |
S2
1 |
- |
1 |
1 |
1 |
- |
- |
1 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
0 |
Y0
0 |
- |
0 |
0 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
1 |
Y1
0 |
- |
0 |
0 |
0 |
- |
- |
1 |
1 |
- |
- |
1 |
1 |
- |
- |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
0 |
Y2
0 |
- |
1 |
1 |
1 |
- |
- |
1 |
0 |
- |
- |
0 |
0 |
- |
- |
1 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
0 |
Y3
1 |
- |
1 |
1 |
1 |
- |
- |
1 |
0 |
- |
- |
0 |
0 |
- |
- |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
0 |
Y2
Для перехода в универсальный базис И-НЕ из КНФ используется закон двойного отрицания и законы де-Моргана.
q1 q2 x1 x2 x3 |
R1 |
S1 |
R2 |
S2 |
y0 |
y1 |
y2 |
y3 |
1 - - - - |
1 |
|
|
|
1 |
|
|
|
- - 0 0 - |
|
1 |
|
|
|
|
|
|
- 1 - - - |
|
1 |
1 |
|
|
|
|
|
0 0 - - - |
|
|
|
1 |
|
|
|
1 |
- 1 0 - - |
|
|
|
|
|
1 |
|
|
0 - 1 0 - |
|
|
|
|
|
|
1 |
|
0 0 - 1 - |
|
|
|
|
|
|
1 |
|
- 1 1 1 - |
|
|
|
|
|
1 |
|
|
-
Проверка результата минимизации
S(t) |
X(t) |
φ(t) |
S(t+1) |
Y(t+1) |
q1 q2 |
x1 x2 x3 |
R1 S1 R2 S2 |
q1 q2 |
y0 y1 y2 y3 |
00 |
000 |
0101 |
00 |
1000 |
00 |
100 |
0001 |
11 |
0001 |
11 |
100 |
0110 |
10 |
0010 |
00 |
100 |
1001 |
01 |
1000 |
01 |
010 |
0110 |
10 |
0011 |
10 |
001 |
1100 |
11 |
0100 |
11 |
101 |
1110 |
10 |
0001 |
10 |
100 |
1000 |
00 |
0010 |
-
Оценка сложности комбинационной схемы для первого варианта кодирования
Приближенная оценка сложности, без учета ограничения на число входов, равна 10.
-
Кодирование состояний автомата, направленное на упрощение комбинационной схемы.
В памяти автомата используется один триггер, то упрощение комбинированной схемы невозможно.
-
Выбор варианта системы булевых функций для реализации.
Для реализации комбинационной схемы будем использовать найденную систему булевых функций.
-
Синтез синхронизируемого двухступенчатого триггера.
Двухступенчатый триггер RS задается графом переходов.
Схема из элементов И-НЕ, а также условное обозначение и временная диаграмма асинхронного триггера
Таблица переходов
si |
RSC |
|||||||
q1q2 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
00 |
00 |
10 |
00 |
- |
- |
00 |
- |
10 |
- |
- |
- |
- |
- |
- |
01 |
00 |
11 |
11 |
11 |
11 |
1 |
- |
- |
01 |
11 |
01 |
- |
- |
10 |
11 |
- |
- |
- |
- |
q1q2 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
*0,*0 |
*0,*0 |
|
*0,*0 |
- |
- |
*0,*0 |
- |
10 |
- |
- |
- |
- |
- |
- |
*0,*0 |
*0,10 |
11 |
0*,0* |
0*,0* |
0*,0* |
0*,0* |
- |
- |
10,0* |
0*,0* |
01 |
- |
- |
0*,*0 |
0*,01 |
- |
- |
- |
- |
R1 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
* |
* |
0 |
* |
- |
- |
* |
- |
10 |
- |
- |
- |
- |
- |
- |
* |
* |
11 |
0 |
0 |
0 |
0 |
- |
- |
1 |
0 |
01 |
- |
- |
0 |
0 |
- |
- |
- |
- |
S1 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
0 |
1 |
0 |
- |
- |
0 |
- |
10 |
- |
- |
- |
- |
- |
- |
0 |
0 |
11 |
* |
* |
* |
* |
- |
- |
0 |
* |
01 |
- |
- |
* |
* |
- |
- |
- |
- |
R2 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
* |
* |
* |
* |
- |
- |
* |
- |
10 |
- |
- |
- |
- |
- |
- |
0 |
1 |
11 |
0 |
0 |
0 |
0 |
- |
- |
0 |
0 |
01 |
- |
- |
* |
0 |
- |
- |
- |
- |
S2 |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
00 |
0 |
0 |
0 |
0 |
- |
- |
0 |
|
10 |
- |
- |
- |
- |
- |
- |
* |
0 |
11 |
* |
* |
* |
* |
- |
- |
* |
* |
01 |
- |
- |
0 |
1 |
- |
- |
- |
- |
R1
* |
* |
0 |
* |
- |
- |
* |
- |
- |
- |
- |
- |
- |
- |
* |
* |
0 |
0 |
0 |
0 |
- |
- |
1 |
0 |
- |
- |
0 |
0 |
- |
- |
- |
- |
S1
0 |
0 |
1 |
0 |
- |
- |
0 |
|
- |
- |
- |
- |
- |
- |
0 |
0 |
* |
* |
* |
* |
- |
- |
0 |
|
- |
- |
* |
* |
- |
- |
- |
- |
R2
* |
* |
* |
* |
- |
- |
* |
|
- |
- |
- |
- |
- |
- |
0 |
1 |
0 |
0 |
0 |
0 |
- |
- |
0 |
0 |
- |
- |
* |
0 |
- |
- |
- |
- |
S2
0 |
0 |
0 |
0 |
- |
- |
0 |
|
- |
- |
- |
- |
- |
- |
* |
0 |
* |
* |
* |
* |
- |
- |
* |
* |
- |
- |
0 |
1 |
- |
- |
- |
- |
Переход в базис:
-
Функциональная схема и временная диаграмма двухступенчатого триггера.
Функциональная схема синтезированного двухступенчатого триггера
Временная диаграмма работы двухступенчатого RS триггера
-
Функциональная схема автомата.
-
Расчет параметров сигнала синхронизации.
Максимальная длина цепочки входной ступени триггера равна 4 элементам, величина задержки равна 4τ. Следовательно длительность интервала Т1 должна быть не меньше 4τ. Цепочка максимальной длины в выходной ступени триггера состоит из 3 элементов, включая инвертор сигнала С, и вносит задержку 3τ. Максимальная длина цепочки в КС равна 2, максимальная задержка 2τ. Переключение элементов в выходной ступени триггера и в КС происходит в интервале Т0 (С=0), то длительность Т0 должна быть не менее 4 τ + 2τ = 6 τ. Период синхронизации должен быть не менее 8 τ. T0=2 τ, T1=4 τ
-
Временная диаграмма автомата.
-
Функциональные схемы автоматов на ПЛМ и ПЗУ.
ПЗУ
Таблица прошивки ПЗУ
q1 q2 x1 x2 x3 |
R1 |
S1 |
R2 |
S2 |
y0 |
y1 |
y2 |
y3 |
00000 |
|
1 |
|
1 |
|
|
|
1 |
00001 |
|
1 |
|
1 |
|
|
|
1 |
00010 |
|
|
|
1 |
|
|
1 |
1 |
00011 |
|
|
|
1 |
|
|
1 |
1 |
00100 |
|
|
|
1 |
|
|
1 |
1 |
00101 |
|
|
|
1 |
|
|
1 |
1 |
00110 |
|
|
|
1 |
|
|
|
1 |
00111 |
|
|
|
1 |
|
|
|
1 |
01000 |
|
1 |
1 |
|
|
1 |
|
|
01001 |
|
1 |
1 |
|
|
1 |
|
|
01010 |
|
1 |
1 |
|
|
1 |
|
|
01011 |
|
1 |
1 |
|
|
1 |
|
|
01100 |
|
1 |
1 |
|
|
|
1 |
|
01101 |
|
1 |
1 |
|
|
|
1 |
|
01110 |
|
1 |
1 |
|
|
|
|
|
01111 |
|
1 |
1 |
|
|
|
|
|
10000 |
1 |
1 |
|
|
1 |
|
|
|
10001 |
1 |
1 |
|
|
1 |
|
|
|
10010 |
1 |
|
|
|
1 |
|
1 |
|
10011 |
1 |
|
|
|
1 |
|
1 |
|
10100 |
1 |
|
|
|
1 |
|
|
|
10101 |
1 |
|
|
|
1 |
|
|
|
10110 |
1 |
|
|
|
1 |
|
|
|
10111 |
1 |
|
|
|
1 |
|
|
|
11000 |
1 |
1 |
1 |
|
1 |
1 |
|
|
11001 |
1 |
1 |
1 |
|
1 |
1 |
|
|
11010 |
1 |
1 |
1 |
|
1 |
1 |
|
|
11011 |
1 |
1 |
1 |
|
1 |
1 |
|
|
11100 |
1 |
1 |
1 |
|
1 |
|
|
|
11101 |
1 |
1 |
1 |
|
1 |
|
|
|
11110 |
1 |
1 |
1 |
|
1 |
|
|
|
11111 |
1 |
1 |
1 |
|
1 |
|
|
|
ПЛМ
Ограничение на число шин 8.
q1 q2 x1 x2 x3 |
R1 |
S1 |
R2 |
S2 |
y0 |
y1 |
y2 |
y3 |
1 - - - - |
1 |
|
|
|
1 |
|
|
|
- - 0 0 - |
|
1 |
|
|
|
|
|
|
- 1 - - - |
|
1 |
1 |
|
|
|
|
|
0 0 - - - |
|
|
|
1 |
|
|
|
1 |
- 1 0 - - |
|
|
|
|
|
1 |
|
|
0 0 1 - - |
|
|
|
|
|
|
1 |
|
- 0 0 1 - |
|
|
|
|
|
|
1 |
|
- 1 1 1 - |
|
|
|
|
|
1 |
|
|
-
Сравнительная оценка вариантов реализации автомата.
Вариант реализации КС автомата на логических элементах имеет значительные времена задержки по сравнение с вариантом на ПЛМ или ПЗУ. Поэтому с точки зрения быстродействия предпочтительнее использовать КС на элементах большой степени интеграции.