Глава 3
Синтез функций возбуждения для автоматов с триггерами JK имеет интересную особенность. Они могут быть получены не только указанным ранее путем, а и без поиска в таблицах функций J и К, столбцы которых можно в этом случае исключить.
Из данных о функционировании автомата можно получить функцию переходов каждого триггера
QHi = F (хь х2,..., xk, Q,, Q2,..., Qn).
Эту функцию можно разложить следующим образом
QHi = fAVgiQi, (3.1)
где функции fug уже не содержат, соответственно, переменных Q, и Qj. Характеристическое уравнение триггера типа JK имеет вид:
Q™ = JiQiVKA, (3.2)
Сопоставляя выражения (3.1) и (3.2), получим fj = J,, gj = Kj.
Следовательно, положив в функции переходов триггера Qj = 0, сразу получаем функцию возбуждения для входа J:
QHi =f|=Ji,
Qi = o
а приняв условие Q = 1, можно получить функцию возбуждения для входа К.;:
QHi = Si = К{, т. е. Kj = gi.
Qi=i
При этом члены формул для QH \, не содержащие Q(, и Q„ преобразуются путем умножения на QA/Qi – 1 в расширенную форму, в которой все слагаемые содержат переменные Ql или Qt. В результате можно получить выражения:
J2 = MQ1Q0VMO1Q0= MQ,Q0 • MQ]Q0; K2 = MQ1Q0VMQ1Q0= MQ,QQ • MQt(!0;
j1 = mq0vo2Q0=mOo-5Qo;
K1 = MQ0VQ2Q0=MQ0.Q2QD;
J0 = MVQ2Q1VQ2Q1 = M • Q2Q, • Q2Q,;
Ко = MVQ2QiVQ2Qi = M • Q2Q, • Q2Qi. Схема автомата приведена на рис. 3.26.
Функциональные узлы последовательностного типа (автоматы с памятью)__________175
Я-О, <V М
Q,
5„' м ■ Зг Q0–I
& <►
& <►
ВхЛ
Сброс
Q2
Qo-
Q2
Qo
Q0 м
– &
– &
– &
и
C1 1K R____2
&
Q2– & Qi–I____
Q2-
Q2–f &
Q,–
Q2– &
Q,–
и
1K R
Qi
и
7fC1
1K R
Q2 Q,
Рис. 3.26. Схема автомата на триггерах JK для примера проектирования
Вариант 2
Автомат, реализованный на триггерах с мультиплексным управлением.
Структура с мультиплексорами на входах триггеров отличается концептуальной простотой и наглядностью, для ее проектирования не требуется разработка логических преобразователей, обеспечивающих необходимые переходы автомата. Задача решается, в сущности, табличным методом. Переменные состояния, снимаемые с триггеров, и входные сигналы образуют слово, служащее для мультиплексора адресным входом. По этому адресу в каждом мультиплексоре выбирается переменная (0 или 1), необходимая для перевода триггера типа D в новое состояние. Ясно, что при этом данные для информационных входов мультиплексоров берутся прямо из таблицы переходов (Dj = Qj,,). Достоинство структуры – легкость перестройки автомата на новый алгоритм работы, недостаток – быстрый рост размерности мультиплексоров с ростом числа состояний и входов автомата. Структура с мультип-лексорным управлением триггерами показана на рис. 3.27. Входные сигналы Хо...хт_! и значения разрядов слова старого состояния Qo--Qn-i образуют Управляющее (адресное) входное слово мультиплексора, по которому выбираются значения разрядов нового слова состояния. Поступление тактового импульса ТИ вводит новое слово состояния в триггеры.
176
Глава 3
Нулевые разряды |
|
0 1 2 гп+П |
MUX 0 |
|
|||
нового < |
1- т |
||
слова состояния |
|||
|
А |
||
Л0---Ат-1 Q„...Q„-, |
п |
||
|
ТИ-
|
|
0 1 2 |
MUX n-1 |
|
|||
(п-1)-е |
|
|
|||||
разряды |
|
|
|
|
|||
|
|
|
D С n-1 |
|
|||
слова СОСТОЯНИЯ |
|
|
|||||
|
т |
|
–. |
||||
|
А |
||||||
Q„...Q„ < |
–/– п |
|
|
|
|||
|
|
|
|||||
|
|
|
|
||||
|
|
|
|
|
|
||
Рис. 3.27. Структура автомата на триггерах с мультиплексным управлением
м |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
0 – о– о– |
х0 Х1 х2 |
|
|
0 – 1 – |
Хо х2 |
|
|
0 – 1 – |
Хо Xl х2 |
|
|
|||||||||||||||
|
1 – 1 – 1 – 1 – о – о – |
х3 х4 х5 хе х7 х8 |
MUX 16–>1 |
|
0 – 0 – 1 – 1 – 0 – 0 – |
х3 х4 х5 Хб Х7 х8 |
MUX 16–*1 |
|
0 – 1 – 0 – 1 – 0 – |
Х3 х4 х5 х6 х7 Х8 |
MUX 16->1 |
|
|||||||||||||||
|
о – |
Х9 |
|
|
1 – |
Хз |
|
–1 |
1 ^~ |
Хд |
|
|
|
||||||||||||||
|
1 – о – 0 – 1 – 1 – 1 – |
хю Хц х12 Х13 Х14 Х,5 |
|
|
|
1 – 1 – 0 – 0 – 1 – о – |
хю х„ х12 Х13 Х,4 Х,5 |
|
|
|
-v -l о О О О МММ |
Х10 Хц х12 Х13 Х14 Х15 |
|
|
|
||||||||||||
|
|
|
м Q2 Qi о |
|
|
|
М Q2 Q |
|
|
|
м Q2 Qi |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
^0 |
|
wo |
|
™fi ........_.., |
|
||||||||||||||||||||
|
|
|
|
-j |
1D 'С1 R 2 |
|
|
|
|
–i |
1D 'С1 R ! |
|
|
|
~~з |
1D 'C1 R о |
|
||||||||||
ВхЛ |
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
«брос |
i |
|
|
|
||||||||||||||||||||||
Рис. 3.28. Схема автомата с мультиплексорами на входах триггеров для примера проектирования
Функциональные узлы последовательностного типа (автоматы с памятью)_________177
Конкретная реализация автомата для рассматриваемого примера (рис. 3.28) не требует особых пояснений.
При нулевых исходных состояниях триггеров и М = 0 на адресные входы мультиплексоров поступает код 0000 и на входах триггеров формируется комбинация сигналов 001. Поступление тактового импульса вводит эту комбинацию в триггеры. Теперь адресом для мультиплексоров становится комбинация 0001, по которой с них снимается комбинация 010, поступающая по разрешению следующего тактового импульса в триггеры (регистр состояния). Так реализуется режим двоичного счетчика.
Изменение управляющего сигнала М дает смену режима работы автомата. Если, например, при слове состояния 010 сигнал М становится единичным, то адрес мультиплексоров изменяется с 0010 на 1010 и с их выходов снимется комбинация 110, соответствующая следующему состоянию при работе счетчика в коде Грея.
Структура и работа автомата отличаются большой наглядностью, переход к другому алгоритму функционирования требует только смены сигналов на информационных входах мультиплексоров.
Вариант 3
Структура с кодированием типа "1 из N" содержит максимальное число триггеров, т. к. в ней для каждого состояния предусматривается специальный триггер, находящийся в активном состоянии (пусть это состояние 1) при пассивном состоянии всех остальных. Рост числа триггеров усложняет автомат, но, одновременно с этим, резко упрощается логика, обеспечивающая переходы автомата. Поэтому сложность автомата в целом может оказаться приемлемой.
Кодирование состояний автомата кодом "1 из N" (в английском языке ОНЕ, One-Hot Encoding) рекомендуется для ряда современных СБИС программируемой логики, т. к. дает простой метод построения автомата высокого быстродействия, имеющего во входных цепях триггеров мало уровней логики. Метод ОНЕ устраняет много логических схем, требуемых для декодирования состояний. Набор триггеров образует структуру типа сдвигающего регистра – узла, допускающего эффективное размещение и трассировку в топологии СБИС.
Для рассматриваемого примера автомат реализуется структурой (рис. 3.29) с числом триггеров 8. Переход в следующее состояние происходит как переход единственной единицы из триггера в соседний триггер, что осуществляется крайне просто сдвигающим регистром. В структуре должен быть шифратор для перевода кода "1 из N" в двоичный код либо в код Грея в зависимости от сигнала М. Этот сигнал выбирает один из двух шифраторов (шифраторы расположены в строке элементов ИЛИ-НЕ). При М = 0 получается двоичный код, при М = 1 – код Грея.
178
