- •Часть 3 – синтез асинхронных конечных автоматов;
- •Часть 4 – синтез синхронных автоматов.
- •3. Синтез асинхронных конечных автоматов
- •3. 1. Основные положения
- •3. 2. Метод кодирования состояний
- •Например, на релейно-контактных элементах она имеет вид рис 3.7.
- •3.3. Методика выполнения практического задания
- •4. Синтез синхронных автоматов
- •4.1. Основные положения
- •4.2. Пример синтеза синхронного автомата
- •4.3. Методика выполнения задания
4.2. Пример синтеза синхронного автомата
Рассмотрим пример синтеза СА по структуре рис. 4.4, которая в основном повторяет структуру рис. 4.3. Автомат задан таблицей переходов и таблицей выходов и строится в базисе И, ИЛИ. НЕ. В качестве элементов памяти блока БП и элементов синхронизации схемы СС используются RS-триггеры, имеющие синхронизирующий вход С. Принцип действия схемы на рис. 4.4 такой же, как и схемы на рис. 4.3
О
тметим
особенности рассматриваемой структуры.
Схема рис.4.4 отличается от схемы рис.
4.3 тем, что схема СС введена в состав
блока БП, т.е. функции схемы СС выполняет
вход “С” RS-триггера.
Для каждого ЭП блок ЛП формирует два
входа: YS –
для переключения триггера по входу S;
YR – для
переключения триггера по входу R.
Рис. 4. 4
АЛГОРИТМ СИНТЕЗА
Пусть задан синхронный автомат с помощью таблицы переходов (ТП) и таблицы выходов (ТВ) (табл. 4.1 и табл. 4.2 соответственно).
1. Осуществляется кодирование строк таблицы ТП произвольным образом, поскольку решать задачу исключения критических состязаний не требуется. Для построения схемы необходимы три элемента памяти Y1, Y2, Y3. Число ЭП определяется по формуле
m = ] log 2 S [
где m – количество необходимых ЭП; S – число состояний автомата. Закодируем строки таблицы ТП в порядке возрастания двоичных чисел (см. табл. 4.3).
Таблица 4.1 Таблица 4.2 Таблица 4.3
x |
0 |
1 |
|
x |
0 |
1 |
|
S |
y1 |
y2 |
y3 |
S |
a1 |
a2 |
|
S |
a1 |
a2 |
|
1 |
0 |
0 |
0 |
1 |
5 |
1 |
|
1 |
1 |
0 |
|
2 |
0 |
0 |
1 |
2 |
3 |
2 |
|
2 |
1 |
1 |
|
3 |
0 |
1 |
0 |
3 |
4 |
3 |
|
3 |
0 |
1 |
|
4 |
0 |
1 |
1 |
4 |
4 |
1 |
|
4 |
0 |
0 |
|
5 |
1 |
0 |
0 |
5 |
5 |
4 |
|
5 |
1 |
1 |
|
|
|
|
|
2. Составляются кодированные ТП (табл. 4.4) и ТВ (табл. 4.5). Табл. 4.4 и 4.5 заполняются следующим образом. В качестве исходных берутся таблицы 4.1 и 4.2, в которых состояния автомата S заменяются соответствующими им кодами из табл. 4.3.
3. Составляется таблица истинности (табл. 4.6) функций включения YS и выключения YR триггеров и выходной функции Z.
Для определения функций YS и YR применяются следующие правила. Пусть в клетке (x’, y’1, y’2, y’3) кодированной таблицы ТП записан код y”1, y”2, y”3 на пересечении столбца x’ и строки y’1, y’2, y’3. Значение y’1 указывает состояние триггера Т1 в предшествующий момент времени t-1, а значение y”1 определяет состояние, в которое триггер Т1 должен переключиться в момент времени t.
Правила для функции YS:
а) если y’1 = 0 и y”1 = 1, то YS1 = 1 (триггер Т1 должен переключаться из состояния 0 в состояние 1);
б) если y’1 = 1 и y”1 = 1, то YS1 = ~ (значение YS1, безразлично, так как триггер Т1 должен сохранить свое состояние);
в) если y”1 = 0, то YS1 = 0 (триггер Т1 должен быть в состоянии 0);
Таблица 4.4 Таблица 4.5
y1 y2 y3 |
x = 0 |
x = 1 |
|
y1 y2 y3 |
x = 0 |
x = 1 |
0 0 0 |
1 0 0 |
0 0 0 |
|
0 0 0 |
1 |
0 |
0 0 1 |
0 1 0 |
0 0 1 |
|
0 0 1 |
1 |
1 |
0 1 0 |
0 1 1 |
0 1 0 |
|
0 1 0 |
0 |
1 |
0 1 1 |
0 1 1 |
0 0 0 |
|
0 1 1 |
0 |
0 |
1 0 0 |
1 0 0 |
0 0 1 |
|
1 0 0 |
1 |
1 |
Таблица 4.6
x y1 y2 y3 |
YS1 |
YR1 |
YS2 |
YR2 |
YS3 |
YR1 |
Z |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 |
1 0 0 0 ~ |
0 ~ ~ ~ 0 |
0 1 ~ ~ 0 |
~ 0 0 0 ~ |
0 0 1 ~ 0 |
~ 1 0 0 ~ |
1 1 0 0 1 |
0 1 0 1 0 1 1 0 0 1 1 1 |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 |
0 0 0 0 0 |
~ ~ ~ ~ 1 |
0 0 ~ 0 0 |
~ ~ 0 1 ~ |
0 ~ 0 0 1 |
~ 0 ~ 1 0 |
0 1 1 0 1 |
1 1 0 1 1 1 1 0 1 1 1 1 |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
~ ~ ~ |
Правила для функции YR:
а) если y’1 = 1 и y”1 =0, то YR1 = 1 (триггер Т1 должен переключиться из состояния 1 в состояние 0);
б) если y’1 = 0 и y”1 =0, то YR1 = ~ (триггер Т1 должен сохранить свое значение);
в) если y’1 = 1, то YR1 = 0 (триггер Т1 должен быть в состоянии 1).
Данные правила сведены в табл. 4.7 и 4.8.
Таблица 4.7 Таблица 4.8
y’ |
y” = 0 |
y” = 1 |
|
y’ |
y” = 0 |
y” = 1 |
0 |
0 |
1 |
|
0 |
~ |
0 |
1 |
0 |
~ |
|
1 |
1 |
0 |
4. Осуществляется минимизация функций, результаты которой показаны на рис. 4.5.
Особенностью рассматриваемых вариантов минимизации является то, что в картах Карно имеются клетки, в которых проставлен знак ~. Этот знак говорит о том, что в данной клетке могут быть проставлены 1 или 0. Это обстоятельство дает нам право включать знак ~ в контуры минимизации, дающие наилучшие решения для построения искомой функции в виде ДНФ.
5. Строится схема, которая показана на рис. 4.6.
