В качестве элементов памяти структурного автомата обычно используются триггеры.
Триггер – это устройство, имеющее два устойчивых состояния, в которые он переходит под действием определённых входных сигналов.
Обычно в триггерах выделяют два вида входных сигналов (и соответственно входов): информационные и синхросигналы.
Информационные сигналы определяют новое состояние триггера и присутствуют в любых триггерах. По типу информационных сигналов осуществляется классификация триггеров: D, T, RS, JK, RST, DV и т.д.
Синхросигнал не является обязательным и вводится в триггерах с целью фиксации момента перехода триггера в новое состояние, задаваемое информационными входами. Обычно, при синтезе ЦА используются триггеры с синхровходом, поэтому в дальнейшем будем рассматривать только такие триггеры.
На синхровход триггера поступают тактирующие импульсы задающего генератора, синхронизирующего работу ЦА. Период следования импульсов соответствует одному такту автоматного времени ЦА.
Рассмотрим основные типы триггеров, используемые для синтеза ЦА: D, T, RS, JK.
D-триггер – элемент задержки – имеет один информационный вход D и один выход Q и осуществляет задержку поступившего на его вход сигнала на один такт.
Условное обозначение и таблица переходов D-триггера представлена на рис. .
D
Q t
Qt+1
Из приведенной таблицы переходов для данного триггера Qt+1 = f(Qt,Dt) можно получить таблицу функций его входов Dt = j(Qt, Qt+1).
Q t
Q t+1
Dt
Таблица функции входов D-триггера.
1
Как видно из таблицы, состояние, в которое переходит триггер (средний столбец), совпадает с поступившим на его вход сигналом D(t) (правый столбец). В связи с этим таблица функций возбуждения памяти синтезируемого автомата с использованием D-триггеров будет полностью совпадать с кодированной таблицей переходов этого автомата. Промышленность выпускает D-триггера в интегральном исполнении. Например,
K155TM2 (рис. 25).Таких триггеров два в одном корпусе. Вход С –вход синхронизации, Q,`Q – выходы, Q – прямой, – инверсный. R, S – входы установки в 0 и 1 соответственно. При подаче на вход R и S логического нуля триггер устанавливается в соответствующие состояния независимо от сигнала на входах D и C.
T-триггер – триггер со счетным входом – имеет один информационный вход Т и один выход Q и осуществляет суммирование по модулю два значений сигнала T и состояния Q в заданный момент времени.
Условное обозначение и таблица переходов T-триггера представлена на рис 26.
T
Q t
Qt+1
Таблица переходов T-триггера.
Таблица функций входов триггера Tt = f(Qt, Qt+1) представлена в таблице.
Q t
Q t+1
Tt
Таблица функции входов T-триггера.
1
На основании этой таблицы можно получать функцию возбуждения элементов памяти при синтезе автомата на базе T-триггера. Например, если автомат перешел из состояния ai = 010 в состояние aj = 110, то для обеспечения этого перехода функции возбуждения должны быть:
для первого триггера при переходе из 0 в 1 T1 = 1,
для второго триггера при переходе из 1 в 1 T2 = 0,
для третьего триггера при переходе из 0 в 0 T3 =0 и т.д.
В чистом виде промышленность не выпускает T-триггера.
RS-триггер – триггер с раздельными входами.
Данный триггер имеет два входных канала R и S и один выходной Q. Вход S (set) называется входом установки в единицу, вход R (reset) – входом установки в нуль. Условное обозначение и таблица переходов RS-триггера представлена на рис. 27.
В таблице переходов при подаче комбинации S = R = 1 состояние перехода Qt+1 не определено и эта комбинация сигналов является запрещенной для RS-триггера.
Таблицу переходов можно более компактно изобразить в виде (см. табл. 21б) Анализируя табл.21 б,в отмечаем что, например, переход триггера из 0 в 0требует подачи комбинации R=0, S=0 или R=1,S=0, т.е. можно сказать что этот переход будет при R=X (безразличное состояние) , S=0.
Аналогично рассуждая по отношению к другим переходам получим следующую таблицу функций входов.
R
S
Q t
Q t+1
R
S
Q t+1
–
б)
–
–
а)
Q t
Q t+1
Rt
S
X
X
На основании таблицы можно получить функцию возбуждения памяти автомата при синтезе на базе RS-триггеров. Например, если автомат переходит из состояния ai= 010 в состояние aj=110, то для обеспечения такого перехода функции возбуждения должны быть:
для первого триггера при переходе из 0 в 1 R1 =0, S1 = 1;
для второго триггера при переходе из 1 в 1 R2 =0, S2 = X;
для третьего триггера при переходе из 0 в 0 R3 =X, S3= 0.
Аналогично для любого другого перехода автомата.
В чистом виде синхронный RS - триггер, используемый для синтеза ЦА, промышленностью не выпускается.
JK- триггер – имеет два информационных входа J и K и один выход Q. Вход J – вход установки в 1, вход K – вход установки в 0, т.е. эти входы аналогичны соответствующим входам RS-триггера: J – соответствует S, K – соответствует R. Однако, в отличие от RS-триггера, входная комбинация J = 1, K= 1 не является запрещённой. Условное обозначение и таблица переходов JK-триггера представлены на рис.28. и в табл. 22.
J
K
Q t
Q t+1
J
K
Q t+1
Q t
Q t
б)
а)
Как следует из таблиц переходов, для комбинаций входных сигналов JK = 00¸10 триггер ведет себя как RS-триггер, а при комбинации JK = 11 – как T-триггер.
Анализируя таблицу переходов ( табл. 22 а), отмечаем, что переход триггера, например, из 0 в 1 требует подачи входных сигналов J=1, K=0 или J=1, K=1, т.е. J=1, K=Х (безразличное значение). Аналогично рассуждая по отношению к другим переходам, получим следующую таблицу функций входов JK-триггера.
Q t
Q t+1
J
K
X
X
X
X
Таблица функций выходов JK-триггера.
На основании последней таблицы можно получить функцию возбуждения элементов памяти при синтезе автомата на JK-триггерах. Например, при переходе автомата из состояния ai=010 в состояние aj=110, функции возбуждения должны быть:
для первого триггера при переходе из 0 в 1 J1 = 1, K1 = X;
для второго триггера при переходе из 1 в 1 J2 = X, K2 = 0;
для третьего триггера при переходе из 0 в 0 J3 = 0, K3 = X.
Пример канонического метода структурного синтеза автомата.
Выполним структурный синтез частичного автомата А, заданного своими таблицами переходов и выходов (табл. 23 и 24.).
Синтез будем выполнять в следующем порядке:
1. Выберем в качестве элементов памяти D-триггер, функция входов которого представлена в таблице стр. 33.
2. Закодируем входные, выходные сигналы и внутренние состояния автомата. Количество входных абстрактных сигналов F = 3, следовательно количество входных структурных сигналов L= ]log2F [ = ]log23[ = 2, т.е. х1, х2.
Количество выходных абстрактных сигналов G = 4, следовательно количество выходных структурных сигналов N =]log2G[ = ]log24[ = 2, т.е. у1, у2. Количество внутренних состояний абстрактного автомата M = 4, следовательно количество двоичных элементов памяти (триггеров) R = ] log2M [ = ]log24[ = 2.
Следовательно, структура ЦА с учетом того, что исходный автомат является автоматом Мили, в качестве элементов памяти используется D-триггер, может быть представлена в виде(рис. 29):
Кодирование входных, выходных сигналов и внутренних состояний представлена в таблицах:
x1
x2
y1
y2
Q1
Q2
z1
w1
a1
z2
w2
a2
z3
w3
a3
w4
a4
Кодирование, в общем случае, осуществляется произвольно. Поэтому, например, каждому из сигналов Zi можно поставить в соответствие любую двухразрядную комбинацию х1, х2. Необходимо только, чтобы разные выходные сигналы Zi кодировались разными комбинациями х1, х2. Аналогично для Wi и ai.
3.Получим кодированные таблицы переходов и выходов структурного автомата. Для этого в таблицах переходов и выходов исходного абстрактного автомата вместо Zi, Wi, ai cтавим соответствующие коды. Получим таблицы:
a1
a2
a3
a4
a1
a2
a3
a4
Z1
–
Z1
–
Z2
–
–
Z2
–
–
Z3
–
Q1Q2
Z3
–
y1y2
В кодированной таблице переходов заданы функции
В кодированной таблице выходов заданны функции:
4.При каноническом методе синтез сводится к получению функций:
и последующем построении комбинационных схем, реализующих данную систему булевых функций.
Функции у1 и у2 могут быть непосредственно получены из таблицы выходов, например, в виде :
Однако выражения для у1 и у2 можно существенно упростить в результате минимизации, например, с помощью карт Карно:
10
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
В результате минимизации имеем:
Для получения выражений для D1 и D2 необходимо получить таблицы функций возбуждения. Для чего в общем случае необходимо воспользоваться таблицей переходов и функциями входов элементов памяти. Зная код исходного состояния автомата и код
состояния перехода на основании таблицы входов триггера получаем требуемое значение функции возбуждения, обеспечивающее заданный переход. Однако для D-триггеров, как отмечалось ранее, таблица переходов совпадает с таблицей функции возбуждения. Тогда либо непосредственно из этой таблицы, либо в результате минимизации получаем требуемые значения Di. Обычно используется минимизация с помощью карт Карно:
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
В результате минимизации получаем:
5.На основании полученных в результате синтеза булевых выражений ((*), (**)) ,строим функциональную схему автомата. Для этого уравнения ((*), (**)) представим в виде:
Функциональная схема автомата представлена на странице 41:
Дополнительно на функциональной схеме показан сигнал , устанавливающий автомат в начальное состояние (в данном случае 00).
Особенности синтеза автоматов на базе T, RS, JK триггеров.
Необходимо отметить, что синтез на базе указанных типов триггеров осуществляется аналогично выполненному синтезу на базе D-триггеров. В частности, п. 1¸3 (см. предыдущий параграф) абсолютно аналогичны. Кроме того, как следует из п.4 (см. предыдущий параграф) выходные сигналы не зависят от типа триггеров, поэтому выражение для yi будут одинаковыми для любого типа триггеров. Однако функции возбуждения будут различны для разных типов триггеров и получаются на основании таблицы переходов исходного автомата и функции входов выбранного триггера. Без особых пояснений ниже приведены таблицы функций входов, функций возбуждений и карты Карно для минимизации функций возбуждения при использовании для синтеза автомата предыдущего параграфа T-, RS-, JK-триггеров.
T-триггер.
Q t
Q t+1
T t
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
RS-триггер.
Q t
Q t+1
R
S
X
X
R1
S1
R2
S2
R1
S1
R2
S2
R1
S1
R2
S2
R1
S1
R2
S2
X
X
X
–
–
–
–
X
–
–
X
–
–
X
X
X
–
X
–
–
–
–
–
X
–
–
X
–
–
–
–
–
–
–
–
X
–
–
–
–
–
X
–
–
–
X
–
–
–
–
–
–
–
–
JK-триггер.
Q t
Q t+1
J
K
X
X
X
X
J1
K1
J2
K2
J1
K1
J2
K2
J1
K1
J2
K2
J1
K1
J2
K2
X
X
X
X
X
X
–
–
–
–
X
X
X
X
–
–
X
X
–
–
X
X
X
X
X
–
X
X
–
–
X
–
–
X
–
–
X
X
X
–
–
–
–
–
–
–
–
–
X
X
–
X
–
–
X
X
–
–
–
X
–
–
X
–
–
–
–
–
–
–
–
Функциональные схемы автоматов с различными типами триггеров предлагается построить самостоятельно.