Таблицы кодирования внутренних состояний, входных и выходных переменных автомата

Для кодирования внутренних состояний автомата используется двоично-десятичный код, то есть номер состояния представляется в двоичной системе счисления.

Рассмотрим таблицу кодирования внутренних состояний (таблица 5.1):

Таблица 5.1

At Qt
Q3 Q2 Q1
A5
A6
A4
A3
A2
A1
A0
A7

В проектируемом автомате имеется четыре набора входных сигналов и для их представления достаточно двух переменных.

Таблица кодирования входных переменных (таблица 5.2):

Таблица 5.2

Xt x2 x1
X0
X1
X2
X3

Проектируемый автомат имеет четыре набора выходных сигналов. Для их представления достаточно двух переменных

Таблица кодирования выходных переменных:

Таблица 5.2

Yt y2 y1
Y0
Y1
Y2
Y3

В качестве элементов памяти Q1, Q2, Q3 принимаем JK – триггеры.

Таблица функционирования JK – триггеров (таблица 5.3):

Таблица 5.3

Qt → Qt+1 Jt Kt
0 → 0 ~
0 → 1 ~
1 → 0 ~
1 → 1 ~

Если триггер в такте t находится в состоянии «0» и он должен остаться в такте t+1 в том же состоянии, то на J-вход нужно подать «0», а на K – любое значение («0» или «1»).

Если триггер в такте t находится в такте «0», и он должен переключится в такте t+1, то в такте t на J-вход нужно подать «1», а на K – любое значение.

Таблица функционирования цифрового автомата.

В таблице функционирования приводятся все комбинации входных сигналов, которые могут действовать на узле 2 (комбинационная схема для формирования управляющих сигналов на входах триггеров).

На вход этой схемы поступает пять переменных (см. структурную схему): Q3, Q2, Q1, x1, x2. при пяти переменных может быть число наборов K=25=32 набора. Внесем эти наборы в таблицу функционирования цифрового автомата

Набор переменных Q3, Q2, Q1 характеризует внутреннее состояние автомата в такте t. Для каждого набора состояний триггеров по таблице кодирования внутренних состояний можно определить внутреннее состояние автомата. Например: набор Q3Q2Q1=000 в соответствии с таблицей кодирования внутренних состояний свидетельствует, что автомат находится в состоянии A7.

На вход поступает набор переменных x2x1=00, который в соответствии с таблицей кодирования входных сигналов обозначен как X0. Итак, в такте t автомат находится в состоянии A7 и на вход поступает набор сигналов X0. В соответствии с таблицей переходов и выходов находим, что автомат должен перейти в такте t+1 в состояние A1,Y3. В соответствии с таблицей кодирования внутренних состояний автомата состоянию A1 будет соответствовать набор Q3Q2Q1=001. Выходному набору Y3 соответствует набор переменных y2y1=11.

В соответствии с заполненной таблицей видим, что триггер Q3 должен переключиться из состояния «0» в такте t в состояние «0» в такте t+1. Триггер Q2 в такте t+1 должен остаться в состоянии «0». Триггер Q1 в такте t+1 должен переключиться в состояние «1».

Для того чтобы произошли указанные переключения триггеров, в такте t на управляющие входы триггеров должны быть поданы сигналы в соответствии с таблицей функционирования JK-триггеров.

Задание функций алгебры – логики картами Карно

Карта Карно представляет собой таблицу, которая содержит столько клеток, сколько имеется наборов функций алгебры – логики. Адрес клетки определяется через аргументы функции.

В карте Карно можно выделить горизонтальные ряды или строки, и вертикальные ряды или столбцы. Поскольку у нас 32 клетки, то мы их расположим в виде 4 строк и 8 столбцов. Для нумерации строк будем использовать переменные x2, x1; для нумерации столбцов – Q3, Q2, Q1. Номера строк и столбцов будем представлять в двоичной системе исчисления.

Карно предложил нумеровать строки и столбцы не в двоично–десятичном коде, а в коде Грея. В этом случае карта приобретает важные свойства, позволяющие записывать логическое выражение в форме, содержащей минимальное число членов, каждый из которых содержит минимальное число переменных.

Алгоритм получения комбинации в коде Грея:

1) Десятичное число записывается в двоичной системе исчисления

2) Кодовая комбинация в коде Грея записывается по следующему правилу: «Если в кодовой комбинации двоично–десятичного кода слева от рассматриваемого разряда стоит 0, то в этом разряде в кодовой комбинации кода Грея значение будет таким же, как и в кодовой комбинации двоично–десятичного кода. Если в кодовой комбинации двоично–десятичного кода слева от рассматриваемого разряда стоит 1, то в кодовой комбинации кода Грея записывается инверсное значение по сравнению со значением в этом же разряде в двоично–десятичном коде.

Таблица получения кода Грея для входных переменных (таблица 7.1)

№ набора Двоичный код Код Грея
x2 x1 x2 x1

Таблица получения кода Грея для внутренних состояний (таблица 7.2)

№ набора Двоичный код Код Грея
Q3 Q2 Q1 Q3 Q2 Q1

Каждая клетка карты Карно соответствует набору переменных, который соответствует пересечению строки и столбца. В эту клетку карты Карно проставляется значение функции, соответствующее рассматриваемому набору переменных.

Карта Карно для J3 (таблица 7.3)

Q3Q2Q1 x2x1
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~

Карта Карно для K3 (таблица 7.4)

Q3Q2Q1 x2x1
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~

Карта Карно для J2 (таблица 7.5)

Q3Q2Q1 x2x1
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~

Карта Карно для K2 (таблица 7.6)

Q3Q2Q1 x2x1
~ ~ ~ ~ ~
~ ~ ~ ~ ~
~ ~ ~ ~ ~
~ ~ ~ ~ ~

Карта Карно для J1 (таблица 7.7)

Q3Q2Q1 x2x1
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~

Карта Карно для K1 (таблица 7.8)

Q3Q2Q1 x2x1
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~
~ ~ ~ ~

Карта Карно для y2 (таблица 7.9)

Q3Q2Q1 x2x1

Карта Карно для y1 (таблица 7.10)

Q3Q2Q1 x2x1

Наши рекомендации