3.1.3.2 Кодирование внутренних состояний автомата
Кодирование внутренних состояний автомата осуществляли с помощью кода Грея с целью исключения логических гонок. Для этого составили расширенную таблицу состояний автоматов, где номер каждого состояния закодирован с помощью кода Грея (таблица 3.4). В качестве разрядов кода приняли состояния триггеров Qt. В таблице 3.4 помимо входов и выходов автомата указываются предыдущие и последующие состояния триггеров Qt.
Таблица 3.4.
Расширенная таблица состояний автомата.
Номера состояний | Входные сигналы | Внутренние состояния автомата | Выходные сигналы | |||||||||||
х1 | х2 | y1 | y2 | y3 | y4 | |||||||||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
5 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
6 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
7 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
8 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
9 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
10 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
11 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
12 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
13 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
14 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
3.1.3.3 Выбор микросхемы триггера
В качестве триггеров выбрали микросхему КР1533ТМ7. Параметры выбранной микросхемы приведены в таблице 3.5.
Таблица 3.5.
Электрические параметры выбранной микросхемы.
Тип микросхемы | Параметры микросхемы | |||
Потребляемый ток Icc, мА | Напряжение питания Ucc, В | Время нарастания сигнала tPLH, нс | Время спада сигнала tPHL, нс | |
КР1533ТМ7 | 10 | 5 | 22 | 25 |
В корпусе данной микросхемы содержится четыре синхронных D-триггера с общим входом сброса.
3.1.3.4 Составление таблицы переходов автомата
Для этого составили карту Карно для каждого входа триггера, ячейки которой заполнили нулями и единицами согласно их координатам (за координаты принимали внутренние состояния цифрового автомата в начальный момент времени
), первое число в ячейке соответствует предыдущему состоянию автомата , второе последующему , то есть в ячейку с координатами (Q1, Q2, Q3, Q4)=(1,1,1,1) (одиннадцатое состояние автомата) для входа D1 триггера, определяющего состояние автомата Q1 в любой момент времени, установили, согласно таблицы 3.4, число 11, где первая единица указывает на состояние =1, а второе =1. Аналогичным образом заполнили ячейки карты Карно для других входов и состояний триггеров. В результате получили следующие таблицы.Таблица 3.6.
Карта Карно переходов D-триггера, определяющего состояние Q1.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 00 | 00 | 00 | 00 |
01 | 01 | 00 | 00 | 00 |
10 | * | * | 11 | 10 |
11 | 11 | 11 | 11 | 11 |
Таблица 3.7.
Карта Карно переходов D-триггера, определяющего состояние Q2.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 00 | 00 | 01 | 00 |
01 | 11 | 11 | 11 | 11 |
10 | * | * | 00 | 00 |
11 | 11 | 11 | 10 | 11 |
Таблица 3.8.
Карта Карно переходов D-триггера, определяющего состояние Q3.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 00 | 01 | 11 | 11 |
01 | 00 | 00 | 11 | 10 |
10 | * | * | 11 | 10 |
11 | 00 | 01 | 11 | 11 |
Таблица 3.9.
Карта Карно переходов D-триггера, определяющего состояние Q4.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 01 | 01 | 00 | 10 |
01 | 00 | 10 | 01 | 11 |
10 | * | * | 01 | 10 |
11 | 01 | 11 | 00 | 10 |
При составлении таблиц 3.6-3.9 получилось что состояния триггеров при наборах (1,0,0,0) и (1,0,0,1) неопределенны, и мы их обозначили знаком «*».
3.1.3.5 Определение состояния входов D-триггеров
Используя таблицы переходов D-триггеров [4] заменили переходы триггеров на состояния входа D, соответствующие данным переходам, Например для триггера, определяющего состояние Q1 переход из нуля в единицу будет соответствовать D1=1. Аналогичные операции замена произвели для других переходов. Результаты сведены в таблицы 3.10-3.13
Таблица 3.10.
Карта Карно для входа D1.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 0 | 0 | 0 | 0 |
01 | 1 | 0 | 0 | 0 |
10 | * | * | 1 | 0 |
11 | 1 | 1 | 1 | 1 |
Таблица 3.11.
Карта Карно для входа D2.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 0 | 0 | 1 | 0 |
01 | 1 | 1 | 1 | 1 |
10 | * | * | 0 | 0 |
11 | 1 | 1 | 0 | 1 |
Таблица 3.12.
Карта Карно для входа D3.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 0 | 1 | 1 | 1 |
01 | 0 | 0 | 1 | 0 |
10 | * | * | 1 | 0 |
11 | 0 | 1 | 1 | 1 |
Таблица 3.13.
Карта Карно для входа D4.
Состояния Q1 и Q2 | Состояния Q3 и Q4 | |||
00 | 01 | 10 | 11 | |
00 | 1 | 1 | 0 | 0 |
01 | 0 | 0 | 1 | 1 |
10 | * | * | 1 | 0 |
11 | 1 | 1 | 0 | 0 |
3.1.3.6 Минимизация зависимости входа триггера от состояния триггеров
С этой целью представили таблицы Карно в виде совокупности ячеек, координаты которых определяют инверсные и прямые состояния триггеров (рис.3.3-3.6). Инверсное состояние соответствует логическому нулю на выходе триггера, прямое - логической единице.
Логические функции представленные с помощью карт Карно являются неполными, поскольку значения в ячейках (1,0,0,0) и (1,0,0,1) неопределенны. С целью получения большего числа единиц мы считаем, что при данном наборе переключательная функция принимает значение логической единицы. Объединив единицы в соседних клетках, мы составили логические зависимости состояния входов триггеров от их состояний. В результате получили: