Учебное пособие: Проектирование цифрового автомата
Каждый период (цикл) функционирования ЦА начинается в момент поступления на его вход сигнала запуска x(t) = 1. При поступлении на его вход очередного тактового импульса Ф, максимальное число которых равна периоду функционирования автомата R=14, ЦА проходит ряд сменяющих друг друга состояний a(t) = al (l = 0, 1, 2, …, S). Число рабочих состояний равно S, а общее число состояний ЦА, включая исходное a0, равно s+1 и связано с максимальным числом рабочих тактов R соотношением S ³ R.
Выполнение этого условия обеспечивает возможность выдачи выходных импульсов на любом такте цикла. Минимально необходимое количество триггеров для синтеза регистра (памяти) определяют из соотношения n ³ log2 (S + 1).
Для проектируемого ЦА минимальное количество триггеров n = 4, так как 24 > 14. Для определения активных состояний следует задать определенный порядок их чередования в рабочем цикле ЦА, т.е. функцию переходов.
В соответствии с заданием последовательность состояний регистра должна состоять из вычетов по модулю М, образовывать арифметическую прогрессию с разностью, равной простому наименьшему числу, не являющемуся делителем числа М, где М – период генерируемой последовательности.
В рассмотренном случае М = 14. Наименьшее простое число, не являющееся делителем 14, это 3. Поэтому состояния регистра будут изменяться в такой последовательности:
0, 3, 6, 9, 12, 1, 4, 7, 10, 13, 2, 5, 8, 11…
Каждое состояние регистра отождествляется с записанным в триггеры n-разрядным двоичным числом в соответствии с установленным выше правилом и может быть представлено табл.2.
Таблица 2
Таблица состояний цифрового автомата
Состояние регистра | Сигналы QB(t) на прямых выходах триггеров T4, T3, T2, T1 | |||
Q4(t) | Q3(t) | Q2(t) | Q1(t) | |
a0 | 0 | 0 | 0 | 0 |
a3 | 0 | 0 | 1 | 1 |
a6 | 0 | 1 | 1 | 0 |
a9 | 1 | 0 | 0 | 1 |
a12 | 1 | 1 | 0 | 0 |
a1 | 0 | 0 | 0 | 1 |
a4 | 0 | 1 | 0 | 0 |
a7 | 0 | 1 | 1 | 1 |
a10 | 1 | 0 | 1 | 0 |
a13 | 1 | 1 | 0 | 1 |
a2 | 0 | 0 | 1 | 0 |
a5 | 0 | 1 | 0 | 1 |
a8 | 1 | 0 | 0 | 0 |
a11 | 1 | 0 | 1 | 1 |
a0 | 0 | 0 | 0 | 0 |
Алгоритм функционирования ЦА можно задать с помощью графа, в котором номер состояния удобно обозначить числом, характеризующим состояние регистра, а также указать номер выхода в каждом состоянии, на котором формируется сигнал 1 (рис.2).
Рис. 2. Алгоритм функционирования цифрового автомата, заданный с помощью графа.
Для синтеза КС1 и КС2 следует таблично задать функцию переходов (табл.3) и функцию выходов (табл.4).
Таблица 3
Таблица функций переходов
Предшествующее состояние автомата a(t) |
Последующее состояние автомата a(t+1) | ||
при x(t) =1 | при x(t) =0 | ||
a0 | 0000 | a3 | a0 |
a3 | 0011 | a6 | a0 |
a6 | 0110 | a9 | a0 |
a9 | 1001 | a12 | a0 |
a12 | 1100 | a1 | a0 |
a1 | 0001 | a4 | a0 |
a4 | 0100 | a7 | a0 |
a7 | 0111 | a10 | a0 |
a10 | 1010 | a13 | a0 |
a13 | 1101 | a2 | a0 |
a2 | 0010 | a5 | a0 |
a5 | 0101 | a8 | a0 |
a8 | 1000 | a11 | a0 |
a11 | 1011 | a0 | a0 |
a0 | 0000 | a0 | a0 |
a0 | 0000 | a0 | a0 |
Таблица 4
Таблица функции выходов
Состояние автомата a(t) |
Значения выходных сигналов y(t) | ||||||
y1 | y2 | y3 | y4 | y5 | W | ||
a0 | 0000 | 0 | 0 | 0 | 0 | 0 | 0 |
a3 | 0011 | 1 | 0 | 0 | 0 | 0 | 0 |
a6 | 0110 | 0 | 1 | 1 | 1 | 1 | 0 |
a9 | 1001 | 0 | 0 | 1 | 1 | 1 | 0 |
a12 | 1100 | 0 | 1 | 0 | 0 | 1 | 0 |
a1 | 0001 | 0 | 1 | 1 | 0 | 0 | 0 |
a4 | 0100 | 0 | 1 | 1 | 1 | 1 | 0 |
a7 | 0111 | 0 | 0 | 0 | 1 | 1 | 0 |
a10 | 1010 | 0 | 0 | 0 | 0 | 1 | 0 |
a13 | 1101 | 0 | 0 | 0 | 0 | 0 | 0 |
a2 | 0010 | 0 | 1 | 1 | 1 | 1 | 0 |
a5 | 0101 | 0 | 0 | 0 | 0 | 0 | 0 |
a8 | 1000 | 0 | 1 | 0 | 0 | 0 | 0 |
a11 | 1011 | 0 | 0 | 0 | 0 | 0 | 1 |
a0 | 0000 | 0 | 0 | 0 | 0 | 0 | 0 |
Пусть в соответствии с заданием для синтеза регистра следует использовать RS-триггер. Можно применить ИМС 564ТР2. В одном корпусе микросхемы содержится четыре одинаковых независимых триггера (см. рис.3).
Рис.3. Микросхема 564ТР2 – четыре RS-триггера:
а – логическая структура одного триггера;