Таблицы кодирования внутренних состояний, входных и выходных переменных автомата
Для кодирования внутренних состояний автомата используется двоично-десятичный код, то есть номер состояния представляется в двоичной системе счисления.
Рассмотрим таблицу кодирования внутренних состояний (таблица 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 | ||||||||