-
Кодирование состояний
Принимаем естественный способ кодирования. Число элементов памяти при этом будет равно
n = (
N)
,
где: n – число элементов памяти;
N – число S состояний автомата;
- знак округления в большую сторону до целого.
При N = 10 получим:
n = (
10) =
4.
Обозначим
элементы памяти символами
,
,
и
.
Далее каждому состоянию поставим в
соответствие двоичный код его номера
и набор состояний элементов памяти. В
результате получим следующее кодирование
состояний:
- - - - - -
0000
0101
![]()
- - - - -
0001
0110
![]()
- - - -
0010
0111
![]()
- - - - -
0011
1000
![]()
- - - - -
0100
1001
![]()
6.7 Составление кодированной таблицы переходов и выходов
Для
составления кодированной таблицы
переходов заменим в таблице 2 состояния
их двоичными номерами в соответствии
с принятым кодированием. В результате
получим кодированную таблицу переходов
и выходов, которая имеет вид таблицы 3.
В таблице 3 приведены как двоичные Q
номера состояний, так и состояния каждого
элемента памяти. Кроме этого, в таблице
приведены значения выходных сигналов,
которые остаются теми же, что и в таблице
2.
-
Выбор типа триггера
Выбор типа триггера производится методом перебора. При этом поочередно выполняется синтез автомата для всех рассматриваемых типов триггеров. Для реализации выбирается тип триггера, при использовании которого автомат имеет меньшую сложность. В данном случае синтез производится для T - триггера и D – триггера.
Таблица 3
|
Входы |
Y0 |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 |
|
|
|
|
|
|
|
|
|
|
|
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
|
|
SB |
- - - -
|
- - -
|
- - -
|
- -
|
- - -
|
- -
|
- -
|
-
|
|
0 - - - - |
0000 |
- |
- |
- |
- |
- |
- |
- |
|
1 0 0 0 0 |
0001 |
0010 |
0101 |
- |
0111 |
0100 |
- |
0000 |
|
1 0 0 0 1 |
0001 |
0010 |
0101 |
- |
0111 |
0100 |
- |
1000 |
|
1 0 0 1 0 |
0001 |
0010 |
0101 |
- |
- |
0110 |
0111 |
0000 |
|
1 0 0 1 1 |
0001 |
0010 |
0101 |
- |
- |
0110 |
0111 |
1000 |
|
1 0 1 0 0 |
0001 |
0010 |
0011 |
0100 |
0111 |
- |
- |
0000 |
|
1 0 1 0 1 |
0001 |
0010 |
0011 |
0100 |
0111 |
- |
- |
1000 |
|
1 0 1 1 0 |
0001 |
0010 |
0011 |
0110 |
- |
- |
0111 |
0000 |
|
1 0 1 1 1 |
0001 |
0010 |
0011 |
0110 |
- |
- |
0111 |
1000 |
|
1 1 0 0 0 |
0001 |
0010 |
0101 |
- |
0111 |
- |
- |
0000 |
|
1 1 0 0 1 |
0001 |
0010 |
0101 |
- |
0111 |
- |
- |
1000 |
|
1 1 0 1 0 |
0001 |
0010 |
0101 |
- |
0111 |
0100 |
- |
0000 |
|
1 1 0 1 1 |
0001 |
0010 |
0101 |
- |
0111 |
0100 |
- |
1000 |
|
1 1 1 0 0 |
0001 |
0010 |
0011 |
0110 |
- |
0100 |
0111 |
0000 |
|
1 1 1 0 1 |
0001 |
0010 |
0011 |
0110 |
- |
0100 |
0111 |
1000 |
|
1 1 1 1 0 |
0001 |
0010 |
0011 |
0100 |
0111 |
- |
- |
0000 |
|
1 1 1 1 1 |
0001 |
0010 |
0011 |
0100 |
0111 |
- |
- |
1000 |
Продолжение таблицы 3
|
Входы |
Y8 |
Y9 |
|
|
|
|
|
1000 |
1001 |
|
|
SB |
- - -
|
- -
|
|
0 - - - - |
- |
- |
|
1 0 0 0 0 |
- |
- |
|
1 0 0 0 1 |
1001 |
0000 |
|
1 0 0 1 0 |
- |
- |
|
1 0 0 1 1 |
1001 |
0000 |
|
1 0 1 0 0 |
- |
- |
|
1 0 1 0 1 |
1001 |
0000 |
|
1 0 1 1 0 |
- |
- |
|
1 0 1 1 1 |
1001 |
0000 |
|
1 1 0 0 0 |
- |
- |
|
1 1 0 0 1 |
1001 |
0000 |
|
1 1 0 1 0 |
- |
- |
|
1 1 0 1 1 |
1001 |
0000 |
|
1 1 1 0 0 |
- |
- |
|
1 1 1 0 1 |
1001 |
0000 |
|
1 1 1 1 0 |
- |
- |
|
1 1 1 1 1 |
1001 |
0000 |
6.9 Преобразование таблицы переходов в таблицу функций возбуждения триггеров
При использовании D – триггеров преобразование таблицы переходов не выполняется.
Поэтому приведем преобразование таблицы переходов в таблицу функций возбуждения для Т – триггеров. Эта таблица имеет вид таблицы 4.
Таблица 4
|
Входы |
Y0 |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 |
|
|
|
|
|
|
|
|
|
|
|
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
|
|
nkabs |
- - - -
|
- - -
|
- - -
|
- -
|
- - -
|
- -
|
- -
|
-
|
|
0 - - - - |
0000 |
- |
- |
- |
- |
- |
- |
- |
|
1 0 0 0 0 |
0001 |
0011 |
0111 |
- |
0011 |
0001 |
- |
0111 |
|
1 0 0 0 1 |
0001 |
0011 |
0111 |
- |
0011 |
0001 |
- |
1111 |
|
1 0 0 1 0 |
0001 |
0011 |
0111 |
- |
- |
0011 |
0001 |
0111 |
|
1 0 0 1 1 |
0001 |
0011 |
0111 |
- |
- |
0011 |
0001 |
1111 |
|
1 0 1 0 0 |
0001 |
0011 |
0001 |
0111 |
0011 |
- |
- |
0111 |
|
1 0 1 0 1 |
0001 |
0011 |
0001 |
0111 |
0011 |
- |
- |
1111 |
|
1 0 1 1 0 |
0001 |
0011 |
0001 |
0101 |
- |
- |
0001 |
0111 |
|
1 0 1 1 1 |
0001 |
0011 |
0001 |
0101 |
- |
- |
0001 |
1111 |
|
1 1 0 0 0 |
0001 |
0011 |
0111 |
- |
0011 |
- |
- |
0111 |
|
1 1 0 0 1 |
0001 |
0011 |
0111 |
- |
0011 |
- |
- |
1111 |
|
1 1 0 1 0 |
0001 |
0011 |
0111 |
- |
0011 |
0001 |
- |
0111 |
|
1 1 0 1 1 |
0001 |
0011 |
0111 |
- |
0011 |
0001 |
- |
1111 |
|
1 1 1 0 0 |
0001 |
0011 |
0001 |
0101 |
- |
0001 |
0001 |
0111 |
|
1 1 1 0 1 |
0001 |
0011 |
0001 |
0101 |
- |
0001 |
0001 |
1111 |
|
1 1 1 1 0 |
0001 |
0011 |
0001 |
0111 |
0011 |
- |
- |
0111 |
|
1 1 1 1 1 |
0001 |
0011 |
0001 |
0111 |
0011 |
- |
- |
1111 |
Продолжение таблицы 4
|
Входы |
Y8 |
Y9 |
|
|
|
|
|
1000 |
1001 |
|
|
nkabs |
- - -
|
- -
|
|
0 - - - - |
- |
- |
|
1 0 0 0 0 |
- |
- |
|
1 0 0 0 1 |
0001 |
1001 |
|
1 0 0 1 0 |
- |
- |
|
1 0 0 1 1 |
0001 |
1001 |
|
1 0 1 0 0 |
- |
- |
|
1 0 1 0 1 |
0001 |
1001 |
|
1 0 1 1 0 |
- |
- |
|
1 0 1 1 1 |
0001 |
1001 |
|
1 1 0 0 0 |
- |
- |
|
1 1 0 0 1 |
0001 |
1001 |
|
1 1 0 1 0 |
- |
- |
|
1 1 0 1 1 |
0001 |
1001 |
|
1 1 1 0 0 |
- |
- |
|
1 1 1 0 1 |
0001 |
1001 |
|
1 1 1 1 0 |
- |
- |
|
1 1 1 1 1 |
0001 |
1001 |
6. 10 Запись функций возбуждения и функций выходов в СДНФ
Функции возбуждения D – триггера:
- - - - - - - - - - - - -
( kabs
kabs
kabs
kabs
kabs
kabs
kabs
kabs
) n![]()
- - -
n
![]()
- - - - - - - - - - - - - - - - - - - - - - -
(
kabs
kabs
kabs
kabs
kabs
kabs
kabs
kabs
) n![]()
- - - - - - - - -
(
)
n
![]()
- - - - - - - - - - - - - - - - - -
n
n
(kabs
kabs
kabs
kabs
kabs
kabs
kabs
kabs)
- - - - - - - - - - - - - - - - - -
n
( kabs
kabs
kabs
kabs
)
n
(
kabs
kabs
) n
-
n
![]()
- - - - - - - - - - - - - - -
n
(
)
Выражения в скобках можно упростить методом непосредственных преобразований. В результате получим следующие выражения:
- - - -
n
( s
)
- - - - - - - - - - - - -
n
( a
)
- - - - - - - - - - - - - - - - - -
n
(
a
kb
kb
kb
![]()
- -
)
- - - - - - - - - - - - - - -
n
(
)
Функции возбуждения T – триггера:
- - - - - - - - - - - - - - -
(
kabs
kabs
kabs
kabs
kabs
kabs
kabs
kabs
) (n
n
)
- - - - - - - - - - - - -- - -- - - - - - -
(
kabs
kabs
kabs
kabs
kabs
kabs
kabs
kabs
) n![]()
- - -
n
ns![]()
![]()
- - - - - - - - - - - - - - - - - - -
n(
a
)
( kabs
kabs
) n
Ú
ns
1
Аналогично функциям возбуждения D-триггера упрощаем функции возбуждения T-триггера.
- - -
ns (
)
- - - - - - -
n ( a
Ú
Ú
s
)
- - - - - - - - - - - - - - - - - - -
n
(
a
kbs
kbs
Ú
s
)
1
Функции выходов :
- - - - -
=
;
- - - - - - - -
;
![]()
;
![]()
;
- - -
![]()
![]()
- - - -
![]()
;
![]()
![]()
- - - - - -
![]()
;
![]()
;
![]()
;
-
Минимизация функций возбуждения и функций выходов
Для окончательной минимизации функций используется метод Карно. При минимизации следует учесть, что все функции являются не полностью определенными, так как в таблице переходов не использованы состояния Q10, Q11, Q12, Q13, Q14 и Q15. Стоит отметить, что метод Карно применим непосредственно только к функциям не более четырех переменных. В случае более сложных функций они минимизируются по частям.
- - - -
n
( s
)
= n ( s
)
![]()
|
|
|
|
|
|
|
|
1 |
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
|
|
|
|
|
* |
* |
* |
* |
|
1 |
|
* |
* |


![]()
![]()
- - - - - - - - - - - - -
n ( a
) =
n ( s
)
|
|
|
|
|
|
1 |
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
1 |
1 |
|
|
1 |
|
1 |
|
* |
* |
* |
* |
|
|
|
* |
* |
- - - - - - - - - - - - - - - - - -
n (
a
kb
kb
kb
![]()
- -
)
|
|
1 |
|
1 |
|
|
|
1 |
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
1 |
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
|
1 |
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
|
1 |
|
1 |
|
* |
* |
* |
* |
|
|
|
* |
* |
- - - - - - - - - - - - - - -
n (
)
|
1 |
|
|
1 |
|
1 |
|
|
1 |
|
* |
* |
* |
* |
|
1 |
|
* |
* |


В результате минимизации получим следующие выражения для функций D – триггеров:
-
n ( s
)
- - - - - -
n ( a
Ú
Ú
Ú
)
- - - - - - - - - - - -
n (
Ú
a
Ú
kb
Ú
kb
Ú
Ú
kb
![]()
Ú
)
-
n![]()
Диаграммы
Карно для функций
- - -
ns
(
)
|
|
|
|
|
|
1 |
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
- - - - - - -
n ( a
Ú
Ú
s
)
|
|
|
|
|
|
|||||
|---|---|---|---|---|---|---|---|---|---|
|
|
1 |
|
|
|
|||||
|
|
* |
* |
* |
* |
|||||
|
|
|
|
* |
* |
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
1 |
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
-
1
*
*
*
*
*
*
- - - - - - - - - - - - - - - - - - -
n (
a
kbs
kbs
Ú
s
)
|
|
|
|
1 |
|
1 |
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
1 |
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
1 |
|
|
|
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
|
|
|
|
|
|
1 |
|
|
* |
* |
* |
* |
|
|
|
* |
* |
В результате минимизации получим следующие выражения для функций возбуждения
T – триггеров:
ns (
Ú
)
- - - -
n ( a
Ú
Ú
s
)
- - - - - - - - - -
n (
Ú
Ú
kbs
Ú
kbs
Ú
s
)
1
Функции выходов :
- - - - - - - -
=
;
;
|
1 |
|
|
|
|
|
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
|
|
1 |
|
|
|
|
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
- - - - -
![]()
;
![]()
;
|
|
|
|
|
|
|||||
|---|---|---|---|---|---|---|---|---|---|
|
|
1 |
|
|
|
|||||
|
|
* |
* |
* |
* |
|||||
|
|
|
|
* |
* |
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
1 |
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
- - - - -
;
;
|
|
|
1 |
|
|
|
|
|
|
|
* |
* |
* |
* |
|
1 |
|
* |
* |
|
|
|
|
1 |
|
|
|
|
|
|
* |
* |
* |
* |
|
|
|
* |
* |
- - -
;
;
|
|
|
|
|
|
||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
1 |
||||||
|
|
* |
* |
* |
* |
||||||
|
|
|
|
* |
* |
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
1 |
|
|
* |
* |
* |
* |
|
1 |
|
* |
* |
- - - - -
;
;
|
|
|
|
|
|
|
|
|
|
|
* |
* |
* |
* |
|
|
1 |
* |
* |
|
|
|
|
|
|
|
|
|
|
|
* |
* |
* |
* |
|
1 |
|
* |
* |
После минимизации получили следующие функции выходов:
- - - - - - - - - - - - -
=
;
;
![]()
;
![]()
;
![]()
;
- - -
![]()
;
![]()
;
![]()
;
![]()
;
![]()
