Вы находитесь на странице: 1из 48

Федеральное агентство железнодорожного транспорта

Уральский государственный университет путей сообщения


Кафедра «Автоматика, телемеханика и связь
на железнодорожном транспорте»

В. А. Баранов

АНАЛИЗ И СИНТЕЗ
ПОСЛЕДОВАТЕЛЬНОСТНЫХ УСТРОЙСТВ

Екатеринбург
УрГУПС
2014
Федеральное агентство железнодорожного транспорта
Уральский государственный университет путей сообщения
Кафедра «Автоматика, телемеханика и связь
на железнодорожном транспорте»

В. А. Баранов

АНАЛИЗ И СИНТЕЗ
ПОСЛЕДОВАТЕЛЬНОСТНЫХ УСТРОЙСТВ

Учебно-методическое пособие
по дисциплине «Теория дискретных устройств»
для студентов специальности
23.05.05 «Системы обеспечения движения поездов»
и направления подготовки
27.03.04 «Управление в технических системах»
всех форм обучения

Екатеринбург
УрГУПС
2014
УДК 656.25:681.32
Б24

Баранов, В. А.
Б24 Анализ и синтез последовательностных устройств : учеб. метод.
пособие / В. А. Баранов. – Екатеринбург : УрГУПС, 2014. – 46, [2] с.

Изложены методы описания последовательностных устройств с


использованием рекуррентных булевых функций, математической модели
цифровых автоматов. Теоретический материал иллюстрируется рисунками.
Пособие составлено в соответствии с программой по специальности
23.05.05 «Системы обеспечения движения поездов», учебной программой по
дисциплине «Теория дискретных устройств» и направления подготовки 27.03.04
«Управление в технических системах» всех форм обучения.

УДК 656.25:681.32

Опубликовано по решению
редакционно-издательского совета университета

Автор: В. А. Баранов, доцент кафедры «Автоматика,


телемеханика и связь на железнодорожном
транспорте», канд. техн. наук, УрГУПС

Рецензенты: Б. С. Сергеев, профессор, д-р техн. наук, УО ВНИИЖТ


Ю. П. Неугодников, доцент кафедры «Автоматика,
телемеханика и связь на железнодорожном
транспорте», канд. техн. наук, УрГУПС

© Уральский государственный университет


путей сообщения (УрГУПС), 2014
ОГЛАВЛЕНИЕ

Введение…………………………………………………………………… 4
1. Структура дискретного устройства с памятью………………………. 5
2. Последовательностные устройства…………………………………… 18
2.1. Временные булевы функции………………………………………… 18
2.2. Последовательностные автоматы…………………………………... 21
3. Конечные автоматы……………………………………………………. 26
3.1. Основные понятия теории автоматов………………………………. 26
3.2. Алгебра событий……………………………………………………... 30
3.3. Регулярные выражения……………………………………………… 31
3.4. Расчленение регулярных выражений………………………………. 34
3.5. Синтез абстрактных автоматов…………………………………….. 37
Литература………………………………………………………………… 46

3
ВВЕДЕНИЕ

Одним из главных понятий вычислительной техники является понятие


цифрового автомата. Здесь авторы придерживаются определения, введен-
ного академиком В. Н. Глушковым: «Электронные цифровые машины с
программным управлением представляют собой пример одного из наибо-
лее распространенных в настоящее время типов преобразователей дис-
кретной информации, называемых дискретными или цифровыми автома-
тами...».
В свете данного определения термин «автомат» в тексте используется
в двух аспектах: как устройство и как математическая модель.
С целью облегчения усвоения материала по конечным автоматам сна-
чала введены и рассмотрены такие понятия, как временные булевы функ-
ции и последовательностные автоматы.
При подборе и изложении материала авторы стремились к тому, чтобы
дать возможность читателям самостоятельно овладеть навыками анализа и
синтеза несложных узлов и блоков ЭВМ.
Дискретные устройства с памятью, содержащие накапливающие схе-
мы (элементы с памятью), выходной сигнал в которых зависит не только
от состояния входов в данный момент времени, но и от их состояний в
предшествующие моменты времени.
Дискретные устройства с памятью часто называют многотактными,
или последовательностными схемами.
По количеству входов и выходов схемы бывают: с одним входом и од-
ним выходом, с несколькими входами и одним выходом, с одним входом и
несколькими выходами, с несколькими входами и выходами.
По способу осуществления синхронизации: с внешней синхро-
низацией (синхронные автоматы), с внутренней синхронизацией (асин-
хронные автоматы являются их частным случаем).
Практически любая ЭВМ включает в себя комбинационные и после-
довательностные схемы.

4
1. СТРУКТУРА ДИСКРЕТНОГО УСТРОЙСТВА С ПАМЯТЬЮ

В комбинационных дискретных устройствах состояния выходов в


данный момент времени однозначно определяются состояниями входов, т.
е. работа комбинационных устройств не зависит от времени.
На практике часто возникают вопросы формирования управляющих
воздействий, определяемых не только состояниями входов и выходов уст-
ройства в данный момент времени, но и их состояниями в пред-
шествующие моменты времени.
Для реализации этого свойства дискретное устройство должно обла-
дать памятью, т. е. способностью запоминать последовательности входных
сигналов. Запоминание предшествующего состояния осуществляется с по-
мощью цепей обратной связи (ОС), охватывающих комбинационную схе-
му (КС) или специальными элементами памяти (ЭП).

Рис. 1.1. Комбинационная схема с цепями обратной связи

Цепь ОС (рис. 1.1) соединяет выход КС с ее одноименным входом.


Особенностью такой памяти является то, что сигнал на выходе yj КС в ста-
тическом состоянии зависит от этого же сигнала на ее входе. На рис. 1.1
введены следующие обозначения: x1, …, xn - сигналы на входах устройства
(входные переменные); y1, …, yk - сигналы в цепях ОС (внутренние пере-
менные); z1, …, zm- сигналы на выходе устройства.
Для примера рассмотрим последовательностную схему, реализо-
ванную на релейно-контактных элементах (рис. 1.2). ОС в схемах на ре-
лейно-контактных элементах организуется введением в цепи включения
реле Yjего собственного контакта yj. Такую цепь принято называть цепью
самоблокировки.

5
Рис. 1.2. Релейные схемы с цепями самоблокировки

Исходное состояние: кнопки Кн1, Кн2 не нажаты (X1 = X2 = 0) и ре-


ле Y1, Y2 выключены (Y1 = Y2 = 0). После нажатия Кн2 включается X2 , а
затем реле Y1, которое своим контактом подготавливает цепь самобло-
кировки. На выходе z появится сигнал (z = 1). Отпускание Кн2 приводит
схему по входам x1 , x2 в исходное состояние (X1 = X2 = 0). Но реле Y1 по
цепи – – y1 остается включенным, и выходной сигнал z = 1. Нали-
чие в схеме ОС дало возможность зафиксировать (запомнить) факт на-
жатия Кн2. Под элементом памяти, таким образом, можно понимать
элемент, приводимый в некоторое состояние под воздействием входного
сигнала и сохраняющий такое состояние при снятии этого входного сиг-
нала.
Приведенный пример показывает, что для описания работы последо-
вательностной схемы не достаточно знать состояния входов и выходов
устройства. Необходимо, кроме того, знать состояния выходов элементов
памяти. Совокупность состояний петель ОС (элементов памяти, внутрен-
них реле) называют внутренним состоянием многотактной схемы. Общее
число внутренних состояний при «k» цепях ОС равно 2k. Совокупность со-
стояний ОС и входных сигналов называют полным состоянием схемы.

1.1. Элементы памяти


Элементы памяти (ЭП) можно разделить на два основных вида: ЭП без
фиксации воздействия и ЭП с фиксацией воздействия /I/.

6
1.1.1. Элементы памяти без фиксации воздействия

Рис. 1.3. Элемент памяти и временная диаграмма без фиксации


воздействия

Такие элементы памяти имеют один вход x и один выход y (рис. 1.3).
Из временной диаграммы видно, что изменение сигнала на входе переда-
ется на выход с некоторой задержкой τ. Так работают схемы задержки, ли-
нии задержки и электромагнитное реле. У перечисленных элементов за-
держка распространения сигнала может быть одного порядка с длительно-
стью входного сигнала. Задержка τ реле определяется инерционностью его
срабатывания при притяжении и отпускании якоря.

Рис. 1.4. Линия задержки (а) и электромагнитное реле (б) как элементы
памяти без фиксации воздействия

Отличительной особенностью ЭП без фиксации воздействия является


то, что время задержки τ не зависит от входных воздействий, а определяет-
ся конструкцией ЭП.

1.1.2. Элементы памяти с Фиксацией воздействия


Основой всех видов ЭП с фиксацией воздействия являются триггеры.
Существует большое число разновидностей триггера, различающихся ло-
гическими условиями работы.

7
RS – триггер имеет два информационных входа: вход S( set – установка)
и вход R. (reset – возврат) и два выхода уи . Сигналы на входах устанав-
ливают триггер в то или другое устойчивое состояние. В одном состоянии
на выходе у устанавливается уровень логической 1, а на выходе – уровень
логического 0 ( = 0); в другом состоянии у = 0, = 1. Записанная в триг-
гере двоичная информация (0 или 1) сохраняется до тех пор, пока состоя-
ния входов триггера не изменятся.

Рис. 1.5. Элемент памяти типа RS (а) и схема реализации (б) элементы
памяти типа RS на реле

При нахождении ЭП (рис. 1.5, а) в состоянии 1 на его выходе у, назы-


ваемом прямым, имеется сигнал логической 1, а на выходе , называемом
инверсным, – сигнал логического 0. В ЭП типа RSна реле (рис. 1.5, б) при
нажатии кнопки Sсрабатывает реле У и остается под током при отпускании
кнопки по цепи, проходящей через собственный фронтовой контакт. Обес-
точивание реле У происходит при нажатии кнопки R. Из рис. 1.5 следует
логическая формула памяти
y = (s v y) (1.1)

RS- триггеры могут строиться на основе логических элементов ИЛИ-


НЕ, И-НЕ. Промышленность выпускает триггеры в виде самостоятельных
изделий.
По способу записи входной информации триггеры делят на асинх-
ронные и синхронные (тактируемые). Особенностью асинхронных триг-
геров является то, что установка их состояния, т. е. запись информации
осуществляется непосредственно с поступлением сигналов на входы. В
синхронных триггерах наряду с информационными входами есть вход для
синхронизирующего (тактового) сигнала. Запись информации в них произ-
водится только с поступлением синхронизирующего сигнала.

8
На рис. 1.6 и 1.7 приведены структурные схемы асинхронных и син-
хронных одноступенчатых триггеров.

Рис. 1.6. Асинхронные RS-триггеры:


а) на элементах ИЛИ-НЕ; б) на элементах И-НЕ и соответственно
в) и г) условные обозначения

Функция на выходе y (рис. 1.6, a) описывается той же формулой


(1.1), так как схема управляется логическими сигналами 1-го уровня, как
на рис. 1.5, б.

y= ; = vy.

Подставляя второе равенство в первое, получаем

y= = (S v y) · .

Для схемы на рис. 1.6, б:

y= ;y= ;y= = S v ( · y).

Работа RS-триггера обычно записывается с помощью таблицы пере-


ходов (ТП) (табл. 1.1). В ней буквами Sn, Rn, Yn, Yn+1 обозначены значения
логических сигналов S и R и состояния триггера У в моменты времени
tnиtn+1, следующие друг за другом. Состояние входов S = R= I является
запрещенным, так как в этом случае состояние триггера не определено (~),
т. е. оно может быть как 1, так и 0.
9
Таблица 1.1
tn tn+1
Sn Rn Yn+1
0 0 Yn
1 0 1
0 1 0
1 1 ~

Логика работы синхронных RS-триггеров задается уравнениями:

y= v( · y) для рис. 1.7, а

y = (c · S v y) для рис. 1.7, б

Работа триггера (рис. 1.7, а) поясняется ТП (табл. 1.2) и временными


диаграммами на рис. 1.8.
Пусть в исходном состоянии триггер находится в состоянии у =0,
=1. При поступлении на вход Sсигнала логической 1 переключение триг-
гера не происходит, так как в этот момент c = 0 и S' =1. Для переключения
триггера необходимо S' = 0, а это возможно при S = 1 и c = 1.
На рис. 1.9 представлен синхронный двухступенчатый RS-триггер
/2/. Он состоит из двух одноступенчатых RS-триггеров – основного и
вспомогательного. Основная ступень служит для записи входного сигнала,
а вспомогательная – для его хранения. Выходы
вспомогательной ступени являются выходами
триггера.

10
Таблица 1.2.
tn tn+1
Sn Rn С Yn+1
0 0 0 Yn
1 0 0 Yn
0 1 0 Yn
1 1 0 Yn
0 0 1 Yn
Рис. 1.7. Структурные схемы и обозначение 1 0 1 1
синхронного RS-триггера: 0 1 1 0
а) на элементах И-НЕ; 1 1 1 ~
б) на элементах ИЛИ-НЕ

Рис. 1.8. Временная диаграмма работы


синхронного RS-триггера на элементах И-НЕ

Рис. 1.9. Двухступенчатый RS-триггер:


а) структурная схема; б) условное графическое обозначение

11
Работают ступени поочередно, что обеспечивается инвертором, через
который тактовый сигнал поступает на вход вспомогательной ступени.
При поступлении на с – вход тактового положительного импульса (с = 1)
информация на входах S и R записывается в первый триггер. В это время
второй триггер закрыт, так как на его с – входе присутствует уровень логи-
ческого 0, блокирующий оба информационных входа второй ступени и тем
самым препятствующий перезаписи информации. Только после окончания
тактового импульса откроется второй триггер и информация появится на
его выходе. Таким образом, для двухступенчатых триггеров характерно то,
что сигнал на их выходах появляется после окончания тактового импульса.
Другими словами, в отличие от одноступенчатого, двухступенчатые триг-
геры изменяют состояние не от переднего, а от заднего фронта входного
импульса.
D-триггер (delay – задержка) имеет один информационный вход (D-
вход) и вход для синхронизирующего сигнала. Основное назначение D-
триггера – задержка сигнала, поданного на D-вход на один такт. Различа-
ют одно- и двухступенчатые D-триггеры.
Первые состоят из одного RS- триггера и дополнительных логических
элементов на его входе. Одноступенчатые D-триггеры отличаются от RS-
триггеров лишь тем, что управление их работой осуществляется по одному
входу. Двухступенчатые D-триггеры состоят из двух RS- триггеров и обла-
дают большими функциональными возможностями, например: при соеди-
нении выхода со входом, получается триггер со счетным входом. На рис.
1.10 приведены структурная схема одноступенчатого D-триггера на эле-
ментах И-НЕ, таблица переходов и временные диаграммы работы.

Рис. 1.10. Одноступенчатый D-триггеры:


а) структурная схема; б) таблица переходов;
в) условное обозначение; г) временные диаграммы

12
Из таблицы видно, что при c = 0 изменение входного сигнала не ска-
зывается на состоянии триггера и только при c = 1 триггер принимает со-
стояние, определяемое информационным входом. В таблице обозначено
индексами n и n+1 состояния входов и выходов соответственно в моменты
времени tnиtn+1.
Разновидностью D-триггера является DV-триггер (рис. 1.11), который
дополнительно к D-входу имеет управляющий V-вход. При наличии на
входе V сигнала с уровнем логической 1 (V = 1) триггер работает анало-
гично D-триггеру, а при V = 0 сохраняет исходное состояние независимо
от изменения сигнала на D-входе.

Рис. 1.11. DV-триггер:


а) структурная схема; б) условное обозначение;
в) таблица состояний

Двухступенчатые D-триггеры строятся в основном по схеме двух или


трех триггеров. На рис. 1.12 приведена схема такого D-триггера. Работает
он аналогично рассмотренному двухступенчатому RS-триггеру с тем от-
личием, что информационный сигнал подается на один вход. Независимо
от структуры D-триггер выполняет роль линии задержки и поэтому (един-
ственный среди триггеров) относится к классу ЭП без фиксации воздейст-
вия.

13
Рис. 1.12. Двухступенчатый D– триггер:
а) структурная схема; б) условное обозначение

Работа двухступенчатого D-триггера иллюстрируется временными


диаграммами на рис. 1.13.

Рис. 1.13. Временная диаграмма работы двухступенчатого D-триггера

Двухступенчатый D-триггер построен по схеме 2-х триггеров (рис.


1.10, 1.7). Пусть исходное состояние у = 0, = 1. С приходом на c-вход им-
пульсов 1-го уровня происходит перезапись информации с D-входа на D -
выход одноступенчатого D-триггера. Переключение второй ступени (RS-
триггера) возможно при у' = 1, = 1, т. е. по заднему фронту входного им-
пульса (c).
На рис. 1.14 приведена схема и временные диаграммы работы двух-
ступенчатого D-триггера в счетном режиме.

14
Рис. 1.14: а) схема D-триггера в режиме Т-триггера;
б) временные диаграммы его работы

Такой режим работы обеспечивается введением обратной связи с ин-


версного выхода триггера на его информационный вход.
Пусть в исходном состоянии у = 0, = 1. Тогда с приходом первого
импульса на c-вход информация с D-входа (1) перепишется на выход (y =
1), при этом = 0, второй импульс на синхронизируемом входе переписы-
вает информацию с D-входа (0) на выход у, одновременно изменяя со-
стояние D-входа.
Т-триггер (триггер со счетным входом) имеет один вход Т. Его назы-
вают счетным, тем самым указывая на основное назначение триггера счи-
тать поступающие на вход сигналы. Коэффициент пересчета равен 2: двум
входным сигналам соответствует один сигнал на выходе. Такой триггер
составляет основу счетчиков. В микроэлектронном исполнении Т-триггер
специально не изготовляется. Т-триггер строится обычно на основе двух-
ступенчатых RS-, D- или универсальных JK-триггеров путем соединения
выходов со входами перекрестными связями, как показано на рис. 1.15, а.
Работа асинхронного триггера иллюстрируется временными диаграммами
на рис. 1.15, в.

15
Рис.1.15. Т-триггер:
а) структурная схема; б) условное обозначение;
в) временные диаграммы

Синхронный Т-триггер (TV-триггер) переключается под воздействием


сигнала на Т-входе, но при наличии разрешающего сигнала на управляю-
щем V-входе.
JK-триггер имеет два информационных входа Jи К и вход для синхро-
низирующего сигнала, обладает свойствами синхронного RS-триггера и
триггера со счетным входом.
Достоинства JK-триггера:
– не имеет запрещенных входных комбинаций, как RS-триггер;
– является универсальным триггерным устройством, поскольку мо-
жет выполнять функции триггера любого другого типа.
Все JK-триггеры имеют дополнительные входы для сигналов уста-
новки в исходное состояние. Такие сигналы имеют определенную дли-
тельность, т. е. являются импульсами.

16
Рис. 1.16. JK-триггер:
а) структурная схема; б) условные обозначения;
в) таблица переходов

На рис. 1.16 представлен JK-триггер, состоящий из двух ступеней. Ос-


новная ступень построена на элементах И-ИЛИ-НЕ DD1, DD2, вспомога-
тельная – на элементах И-НЕDD3, DD4. Связаны они с помощью двух
коммутирующих транзисторов VT1, VT2. Транзисторы блокируют вспомо-
гательную ступень при записи информации – в основную. Обеспечивается
это закрытием транзисторов высоким уровнем положительного напряже-
ния, поступающего на их эмиттеры при с = 1. При этом разрывается цепь
между ступенями триггера и информация, записанная в первую ступень, не
может перейти во вторую.
После окончания импульса синхронизации через c-вход на эмиттеры
коммутирующих транзисторов поступает уровень логического 0. Тот из
транзисторов, на базе которого присутствует уровень логической 1, откры-
вается и коммутируется сигнал логического 0 с c-входа на вход соответст-
вующего элемента второй ступени. В это время другой транзистор, имея на
базе уровень логического 0, остается закрытым. Элемент второй ступени,
на вход которого поступил логический 0, формирует на выходе уровень
логической 1, а второй элемент – уровень логического 0. Так информация с
основной ступени передается во вспомогательную и появляется на выходе
JK-триггера.

17
Установка начального состояния триггера осуществляется отрица-
тельными импульсами (перепад 1 → 0), подаваемыми на вход или ,
причем установка проводится независимо от наличия или отсутствия син-
хронизирующего импульса.
На основе JK-триггера с помощью внешних соединений его выводов
можно получить триггеры других видов (рис. 1.17).

Рис. 1.17. Использование JK-триггера:


а) типов ТV и Т (при V= 1); б) типа D;
в) типа DV; г) типа RS

2. ПОСЛЕДОВАТЕЛЬНОСТНЫЕ УСТРОЙСТВА

2.1. Временные булевы функции


Основная особенность схем с памятью состоит в том, что алгоритм их
работы зависит от времени. Следовательно, в число переменных, от кото-
рых зависит выходная функция схемы с памятью, должно входить время t.
Но время не является двоичной переменной. Поэтому вводится понятие
автоматного времени, принимающего дискретные целочисленные значе-
ния 0, 1, 2 и т. д. Это означает, что работа схемы с памятью распадается на
ряд интервалов, в течение которых автоматное время условно принимает
постоянное значение.
Временная булева функция (ВБФ) – логическая функция y = y(x1, x2,
…, xn, t), принимающая значение {0, 1} при 0 ≤ t ≤ S – 1, где S – количест-
во интервалов автоматного времени.

18
Можно утверждать, что число ВБФ равно . Действительно, если
функция времени принимает S значений, т. е. t = 0, 1, 2, …, S – 1и каждому
интервалу времени соответствует 2n различных двоичных наборов, то все-
гда будет различных наборов. Следовательно, общее число ВБФ равно
.
Любая временная булева функция может быть представлена в виде

y = Y (x1, x2, …, xn, t) = Y0, τ0vY0, τ0v … vYS-1, τS-1, (2.1)

где Yi – конъюнктивный или дизъюнктивный терм от переменных (x1, x2,


…, xn);
τi – вспомогательная функция, принимающая значения τi = {0,1} в мо-
мент времени ti.
Форма представления временных логических функций (2.1) позволяет
применить к функциям y все методы упрощения и минимизации, рассмот-
ренные ранее [3].
Пример. Преобразовать функцию, представленную в табл. 2.1, в вид 2.1.

Таблица 2.1
Y(x1, x2, Y(x1, x2,
x1 x2 t x1 x2 t
t) t)
0 0 0 0 1 0 1 1
0 1 0 0 1 1 1 0
1 0 0 1 0 0 2 0
1 1 0 0 0 1 2 0
0 0 1 0 1 0 2 1
0 1 1 1 1 1 2 1

Решение. Функцию y = Y (x1, x2, t) представляем совокупностью трех


логических функций Y0 (x1, x2); Y1 (x1, x2); Y2 (x1, x2), которые для табл. 2.1
имеют вид

y0 (x1 , x2) = x1 · ; y1 (x1 , x2) = x2 v x1 ;

19
y2 (x1 ,x2) = x1 vx1x2 = x1.

На основании (2.1) записываем окончательный вид временной логиче-


ской функции
y = x1 τ 0 v ( x2v x1 )τ1v x1 τ2 (2.2)
Ответ: см. формулу (2.2).
Разложение (2.1) можно применить только к периодическим времен-
ным функциям. Переход к схеме от логического выражения вида (2.1)
можно осуществить следующим образом.
Предположим, что на выходах некоторой схемы (дешифратора) в мо-
менты времени t появляются сигналы:
если t1 = 0, то на выходе 1 сигнал τ0 = 1, при τ1 = 0,τ2 = 0;
если t2 = 1, то на выходе 2 сигнал τ1 = 1, при τ0 = 0, τ2 = 0;
если t3 = 2, то на выходе 3 сигнал τ2 = 1, при τ0 = 0, τ1 = 0.
Для каждой функции yi строим соответствующую логическую схему,
не зависящую от переменной. После этого все схемы соединяем между
собой в соответствии с (2.1).
Рекуррентная булева функция (РБФ) – логическая функция, зависящая
как от текущих значений xti входных переменных, так и от предшествую-
щих значений самой функции y (t–1). Полная аналитическая запись такой
функции
yt = Y (xt1, xt2, …, xtn, yt-1, yt-2, …, yt-k),
yt = {0,1} при t> 0,

где xti – текущие значения входных переменных;


yj – значения выходных функций в момент времени j = t-1;
t – 2 и т. д.
Чтобы представить необходимость рекуррентных булевых функций,
рассмотрим некоторый физический элемент, работа которого описывается
соответствием:
t … 0 1 2 … ti-1 ti
x … x0 x1 x2 … xi-1 xi
yt= f (x,
… 0 x0 x1 xi-2 xi-1
t)

20
Следовательно, yt+1 = xt.Отсюда значение выходного сигнала в момент
времени t+1 равно значению входного сигнала в момент времени t. Такой
элемент называют задержкой; D(t) – его логический оператор.
Рассмотрим логическую схему, имеющую цепь обратной связи с
включенной в нее схемой задержки (рис. 2.1, а). Предположим, что в каче-
стве схемы с функцией f(x,у) взята логическая схема ИЛИ. Тогда работа
этой схемы показана на временной диаграмме (рис. 2.1, б), т. е. f (x, у) = xt+1
v уt .

Рис. 2.1. Схема с обратной связью

В схеме рис. 2.1 выходной сигнал зависит как от входного сигнала в


данный момент времени, так и от выходного сигнала в предыдущий мо-
мент времени. В самом общем случае при наличии n-входов и k-цепей об-
ратной связи, в которых осуществляется равная задержка, такие схемы мо-
гут быть описаны с помощью рекуррентных временных логических функ-
ций.
Следовательно, любая рекуррентная булева функция может быть реа-
лизована с помощью набора логических операторов функциональных эле-
ментов, представляющих обычные функции алгебры логики, и операторов
схем задержки.

2.2. Последовательностные автоматы


Допустим, что на вход функциональной схемы входные переменные не
подаются, а поступают только сигналы по цепям обратных связей, т.е. в
момент времени t (t ≠ 0) все xi= 0. Тогда рекуррентная булева функция
(РБФ)

21
yi(t+1) = Yi (y1t , y1(t-1), …, y1(t-S), …, y2t, …, ymt, …, ym(t-S)) (2.3)
Для таких функций всегда необходимо задавать нулевые значения (т.е.
при t= 0). Предположим, что обратная связь осуществляется только на
один такт времени. Тогда

yi(t+1) = Yi (y1t , y2t , …, ymt). (2.4)

На рис. 2.2 представлена логическая схема последовательностного ав-


томата, описываемая системой уравнений вида (2.4).

Рис. 2.2. Логическая схема последовательностного автомата

Последовательностные автоматы – схемы, описываемые системой


уравнений вида (2.4) при заданных начальных условиях.
Рассмотрим последовательностный автомат, имеющий три выхода и
начальные значения y1,0 = 1, y2,0= 1, y3,0 = 1. Для такой схемы в любой мо-
мент времени на входе может действовать одна из восьми возможных ком-
бинаций входных сигналов.
При этом для каждого набора входных переменных можно определить
значения выходных переменных, предполагая, что в этот момент цепи об-
ратной связи условно разорваны. Предположим, что получилась следую-
щая таблица состояний автомата (табл. 2.2). На основании данных этой
таблицы записана СДНФ для всех выходных параметров:

22
Уравнения (2.5) справедливы для любого момента времени. Используя
методы минимизации, можно получить следующую минимальную форму:

Таблица 2.2
y1t y2t y3t y1(t+1) y2(t+1) y3(t+1)
0 0 0 0 1 1
0 0 1 1 0 0
0 1 0 1 1 0
0 1 1 0 0 0
1 0 0 1 1 1
1 1 0 0 1 0
1 1 1 1 0 1

Теперь рассмотрим работу автомата последовательно в различные мо-


менты времени, начиная с t = 0. По условию, при t = 0 на входе действуют:
y1,0 = l,y2,0 = 1, y3,0 = 1.
Таблица 2.3
y1t y2t y3t y1(t+1) y2(t+1) y3(t+1)
1 1 1 1 0 1
1 0 1 0 0 1
0 0 1 1 0 0
1 0 0 1 1 1
1 1 1 1 0 1
1 0 1 0 0 1
0 0 0 1 0 0
1 0 0 1 1 1
1 1 1 1 0 1
1 0 1 0 0 1
0 0 1 1 0 0
1 0 0 1 1 1
1 1 1 1 0 1

23
Из табл. 2.3 видно, что такому набору входных переменных соответст-
вуют следующие значения на выходах: y1,1 = l,y2,1 = 0, y3,1 = 1. В свою оче-
редь, для момента времени t = 1 этот набор переменных действует уже на
входе автомата и вызывает соответствующие значения на выходах: y1,2 =
0,y2,2 = 0, y3,2 = 1 и т. д.
Таким образом, можно провести анализ работы автомата в любой фик-
сированный момент времени и получить полную таблицу.
Состояния автомата повторяются с определенным периодом (в данном
случае он равен четырем). Периодичность и значение выходов зависят
также от начального состояния автомата, в чем нетрудно убедиться, зада-
вая различные начальные условия.
Выражения (2.6), полученные в результате минимизации, позволяют
построить схему автомата в выбранном базисе функций (И, ИЛИ, НЕ).
Таблицу состояний автомата можно также представить в виде диа-
граммы переходов, представляющей собой круг, разделенный на k равных
частей, из которых каждая часть представляет состояние входов автомата
(соответственно выходов). Стрелками внутри круга соединяются входные
наборы с соответствующими им выходными наборами.
Рассмотрим обобщенную схему последовательностного автомата
(рис. 2.3), которая описывается следующей системой:

y1(t+1) = Y1 (x1(t+1), …, xn(t+1); y1t, …, ySt; y1(t-k), …, yS (t-k);


y2(t+1) = YS (x1(t+1), …, xn(t+1); y1t, …, ySt; y1(t-k), …, yS (t-k);
z1(t+1) = X1 (x1(t+1), …, xn(t+1); y1t, …, ySt; y1(t-k), …, yS (t-k); (2.7)
z2(t+1) = XS (x1(t+1), …, xn(t+1); y1t, …, ySt; y1(t-k), …, yS (t-k).

где xi,t- выходные переменные;


yi,t- внутренние состояния схемы в момент времени t;
zi,t- выходные переменные в момент времени t.

24
Рис. 2.3. Обобщенная схема последовательностного автомата

В этой схеме выходные переменные зависят как от входных пе-


ременных, так и от внутренних состояний. Если ввести следующие обо-
значения:
Xt+1 = { x1,t+1, x2,t+1, …, xn,t+1};
Yt = { y1,t, y2,t, …, ym,t};
Yt+1 = { y1,t+1, y2,t+1, …, ym,t+1};
Zt+1 = { z1,t+1, z2,t+2, …, zk,t+1}.
то система уравнений (2.7) может быть представлена в виде
Yt+1 = F(Xt+1, Yt); Zt+1 = Ф (Xt+1, Yt). (2.8)
(2.8)
Уравнения (2.8) называются каноническими уравнениями.
Теорема. Любую схему с памятью можно представить в виде совокуп-
ности схем И, ИЛИ, НЕ и триггеров.
Опираясь на теорему о разложении функции по k переменным, любое
уравнение из системы уравнений (2.7) можно представить в виде

yS,t+1 = y1,tY1 (x1,t+1, …, xn,t+1;1; y2,t, …, ym,t) v

(2.9)
v Y1 (x1,t+1, …, xn,t+1; 0; y2,t, …, ym,t).

u1,t+1

В сокращенной записи (2.9) имеет вид

yS,t+1 = y1,t v u1,t+1 ,

25
что является уравнением триггера с двумя входами, при этом функции
u1(t+1) и u2(t+1) - сигналы на входах триггера.
Проведя аналогичную операцию с другими уравнениями, придем к вы-
воду, что все они могут быть записаны в виде (2.9).
В качестве примера предлагается самостоятельно синтезировать схему,
заданную следующей таблицей (табл. 2.4) состояний.
Таблица 2.4
y1,t y2,t y2,t-1 y1,t+1 y2,t+1
0 0 0 1 1
0 0 1 0 0
0 1 0 1 0
0 1 1 0 0
1 0 0 1 0
1 0 1 0 0
1 1 0 1 0
1 1 1 0 0

3. КОНЕЧНЫЕ АВТОМАТЫ

3.1. Основные понятия теории автоматов


Термин автомат, как правило, используется в двух аспектах.
С одной стороны, автомат - устройство, выполняющее некоторые
функции без непосредственного участия человека.
С другой стороны, термин «автомат» как математическое понятие обо-
значает математическую модель реальных технических автоматов. В этом
аспекте автомат представляется как «черный ящик», имеющий конечное
число входов и выходов и некоторое множество внутренних состояний K =
{ϰ 1(t), ϰ 2(t), …, ϰ n (t)}, в которые он под воздействием входных перемен-
ных переходит скачкообразно, т.е. практически мгновенно, минуя проме-
жуточное состояние. Конечно, это условие не выполняется реально, так
как любой переходный процесс длится конечное время.
Введем понятия для описания математической модели автомата
Набор входных переменных будем называть входной буквой (в дис-
кретных устройствах 0 и 1). Множество входных букв назовем входным

26
алфавитом. Аналогично наборы выходных переменных будем называть
выходными буквами, а их множество - выходным алфавитом.
Автомат называется конечным, если множество его внутренних со-
стояний и множество значений выходных переменных - конечные множе-
ства.
На практике часто используется понятие цифрового автомата, под ко-
торым понимают устройство, предназначенное для преобразования цифро-
вой информации.
В общем виде цифровой автомат может быть представлен в виде
структур (рис. 3.1).

Рис. 3.1. Цифровой автомат

Входной алфавит реального автомата воспроизводится множеством


входных сигналов X (x1(t), x2(t), …, xn(t)); внутренний алфавит Y (y1(t), y2(t),
…, ym(t)) – множеством внутренних состояний автомата; выходной Z (z1(t),
z2(t), …, zm(t)) – множеством выходных сигналов.
Для определения абстрактного автомата вводятся три конечные мно-
жества:

P (ρ1(t), …, ρr(t)) – входной алфавит;


K (ϰ 1(t), …, ϰ k-1(t)) – внутренний алфавит;
Λ (λ1(t), …, λl(t)) – выходной алфавит.
Величины n, m, pопределяются соответственно через величины r, k, l
соотношениями, связанными с представлением информации. Для двоич-
ных не избыточных систем r, k, l определяются из неравенств:
r ≤ 2n; k ≤ 2m; l ≤ 2p.
Математическая модель цифрового автомата – абстрактный автомат –
задается совокупностью множеств

27
M = (P, K, Λ, ϰ 0, Y (ϰ , ρ), ψ (ϰ , ρ)), (3.1)
где Р – входной алфавит;
К – внутренний алфавит;
Λ – выходной алфавит;
ϰ 0 – начальное состояние автомата, как элемент множества К;
Y (ϰ , ρ) – функция переходов, которая определяется таблицей перехо-
дов автомата из одного состояния в другое;
Ψ (ϰ , ρ) – функция выходов, которая определяется таблицей выходов
автомата.
В начальный момент времени t0автомат находится в состоянии ϰ 0. В
каждый момент времени tавтомат способен принять входную букву ρ(t) и
выдать соответствующую выходную букву λ(t). Таким образом, через по-
нятие «абстрактный автомат» реализуется некоторое отображение слов
входного алфавита Р во множество слов выходного алфавита Λ. Так как
все события (состояния), происходящие в автоматах, рассматриваются в
дискретные, фиксированные моменты времени, то состояние автомата со-
ответствует некоторой памяти о прошлом, позволяя устранить время, как
явную переменную, и выразить выходные сигналы, как функцию состоя-
ний и входных сигналов.
В зависимости от способа введения дискретных интервалов времени
рассматривают два класса цифровых автоматов. В синхронных автоматах
моменты времени, в которых фиксируются изменения состояний автомата,
задаются специальным устройством – генератором синхросигналов, вы-
дающим импульсы через равные промежутки времени (постоянный интер-
вал дискретности). В асинхронных автоматах моменты перехода автомата
из одного состояния в другое заранее не определены и зависят от каких-
либо событий. В таких автоматах интервал дискретности переменный.
Общая теория автоматов разбивается на две большие части – абст-
рактную теорию автоматов и структурную теорию автоматов.
В абстрактной теории автоматов дискретное устройство рас-
сматривается безотносительно к средствам реализации, т. е. без анализа
внутренней структуры. Методы этой теории определяют поведение дис-
кретного устройства в терминах входных и выходных последовательно-
стей сигналов. Абстрактная теория автоматов близка теории алгоритмов,
является ее дальнейшей детализацией.
Структурная теория автоматов изучает построение структур на задан-
ном типе элементов.

28
Цифровые автоматы могут быть стохастическими (вероятностными) и
детерминированными. В детерминированных автоматах поведение и
структура автомата в каждый момент времени однозначно определены те-
кущей входной информацией и состоянием автомата. При работе любого
автомата в силу ряда причин (например, случайных воздействий в виде
помех) могут наблюдаться сбои, приводящие к нарушению соответствия
между входными словами и выходными буквами. Такие автоматы называ-
ются стохастическими.
В дальнейшем рассматриваются детерминированные автоматы.
Детерминированный абстрактный автомат определяется аналитически
системой рекуррентных соотношений.
С учетом введенных обозначений переменных для абстрактных авто-
матов систему уравнений (2.7) последовательностного автомата можно за-
писать более кратко:
ϰ (t) = Y [ϰ (t-1), ρ(t)]
(3.2)
λ(t) = ψ [ϰ (t-1), ρ(t)], t = 1,2…

Автоматы, описываемые системой уравнений (3.2) называются син-


хронными, или автоматами Мили I рода. Автомат Мили II рода описывает-
ся системой уравнений
ϰ (t) = Y (ϰ (t-1), ρ(t))
λ(t) = ψ (ϰ (t), ρ(t)), t =1,2… (3.3)
Отличие системы уравнений (3.3) от (3.2) состоит в том, что выходное
состояние λ в момент времениt определяется входным и внутренним со-
стояниями автомата также в момент времени t.
Частным случаем автомата Мили II рода является автомат Мура, рабо-
та его определяется системой уравнений:
ϰ (t) = Y (ϰ (t-1), ρ(t))
(3.4)
λ(t) = ψ (ϰ (t))

У автомата Мура выходное состояние не зависит от состояния входов,


а определяется только внутренним состоянием в данный момент времени.
Кроме аналитического, абстрактные автоматы представляются таб-
лично и графически. Табличное представление абстрактных автоматов бу-
дет рассмотрено позднее на примере.

29
Для графического представления абстрактных автоматов строятся гра-
фы, в которых каждой букве внутреннего алфавита соответствует вершина.
Стрелками указываются переходы из одного состояния в другое, которое
соответствует ветвям графа. На стрелках ставятся обозначения букв вход-
ного алфавита, обусловливающих переходы. Состояния выходов для авто-
матов Мура фиксируются на вершинах, а автоматов Мили – на нисходя-
щих ветвях графов.
Задачей синтеза абстрактного автомата является представление его в
одной из трех форм (аналитической, графической или табличной) с после-
дующим отображением множеств Р, К, Λ на множествах X, Y, Z и по-
строения структурной схемы автомата.
Аналитическое описание абстрактных автоматов базируется на алгебре
событий.

3.2. Алгебра событий


Событием S, представленным в автомате, называется конечное множе-
ство слов, заданных во входном алфавите и представленных выходной бу-
квой.
Под длиной слова понимают число составляющих его букв.
События могут состоять как из конечных, так и из бесконечных мно-
жеств слов.
Алгебра событий замкнута на множестве событий, представленных в
автомате, относительно пяти действий: дизъюнкции, конъюнкции, итера-
ции, пересечения, дополнения. Первые три действия являются основными
действиями алгебры событий.
Дизъюнкция события
S = S1vS2v … vSn (3.5)

представляет собой событие, содержащее все слова, входящие в события


S1, S2, …, Sn.
Пример. S1 = (0, 010, 110)
S2 = (1, 001, 011).
S = S1 v S2 = (0, 010, 110, 1, 001, 011).
Конъюнкция, или произведение событий

S = S1 · S2 (3.6)

30
представляет собой событие, содержащее слова, образованные путем при-
писки справа к каждому слову события S1 поочередно всех слов события S2.
Пример. Для S1 и S2 предыдущего примера получим
S = S1 · S2 = (01, 0001, 0011, 0101, 010001, 010011, 1101, 110001,
110011).
Произведение событий не коммутативно, т. е. S = S1 · S2 ≠ S2 ·S1.
Итерация событий {S}представляет собой событие, состоящее из пус-
того слова (e) и всех слов, образованных путем умножения S на самого се-
бя:

{S} = (e, S, SS, SSS, …) (3.7)

Пример. S = (0,1).
{S} = (e, 0, 1, 00, 01, 10, 11, 000, 001, 011, 100, 101,111 …).
Если сравнить рассмотренные операции алгебры событий с опе-
рациями алгебры действительных чисел, то дизъюнкция соответствует
сложению, произведение – умножению. Итерацию можно сопоставить с
возведением в степень (a)n при n = 0, 1, 2, 3...:

(a)n = 1 + a + aa +aaa + … ;
{a} = e v a v aa v aaa v … .
Из этих уравнений следует, что пустое слово e в алгебре событий игра-
ет ту же роль, что и 1 в алгебре чисел. По аналогии с I: a · 1 = 1 · a = a –
пустое слово e имеет свойство
S·e = e·S = S.
Таким образом, если к словам события S приписывать слева и справа
пустые слова e, событие Sне изменяется.
Смысл введения операции итерации состоит в том, что она позволяет
записывать бесконечные события.

3.3. Регулярные выражения


События, полученные путем применения конечного числа операций
дизъюнкции, конъюнкции и итерации к любому конечному алфавиту, на-
зываются регулярными. Выражения, описывающие регулярные события,
называются регулярными выражениями (РВ).

31
Связь между регулярными событиями и конечными автоматами уста-
навливают две основные теоремы абстрактной теории автоматов, доказан-
ные С.К. Клини (США) и В.М. Глушковым (СССР) и приводимые без до-
казательств.
Теорема 1. Любые регулярные выражения, и только они, представимы
в конечных автоматах.
Теорема 2. Любой конечный автомат представим в виде регулярного
выражения.
Для регулярных выражений справедливы следующие формулы:
S1v S2 = S2v S1; (3.8)
(S1 v S2) v S3 = S1 v (S2 v S3); (3.9)
S1 v S1 = S1; (3.10)
(S1·S2) ·S3 = S1· (S2·S3); (3.11)
S1 (S2 v S3) = S1·S2 v S1·S3; (3.12)
{{S}} = {S}; (3.13)
e S = S e = S; (3.14)
{S} = e v S {S}; (3.15)
S {S} = {S} S; (3.16)
{S}{S} = {S}; (3.17)
{S} v {S} = {S}; (3.18)
{e} = e. (3.19)
Доказательство формул вытекает из определения трех основных дей-
ствий алгебры событий.
Разметка мест в регулярном выражении
При проектировании структурных схем с использованием теории абст-
рактных автоматов используются таблицы переходов и выходов. Для пере-
хода от регулярного выражения к таблицам удобно использовать расчле-
ненную форму регулярных выражений.
Для формулировки правил расчленения введем понятие «место регу-
лярного выражения». Местами в регулярном выражении будем называть
специально вводимые знаки раздела (вертикальные линии) между любыми
двумя символами выражения, а также начальное и конечное места, кото-
рые ограничивают выражение слева и справа. Снизу вертикальной линии -
места - проставляется порядковый номер из натурального ряда чисел. Эта
операция называется разметкой мест.

32
Разметка мест в регулярном выражении, содержащем конъюнкцию и
дизъюнкцию, проводится по порядку, начиная с крайнего левого, отмечае-
мого нулем. В РВ, содержащем дизъюнкцию, нулевые места – крайние ле-
вые после знака дизъюнкции.
Пример. Задан автомат, определяемый регулярным выражением

В примере событие Sλ имеет 7 мест, 2 места отмечены как нулевые, так


как слова могут начинаться с букв ρ1 и ρ3.
Смысл введения понятия места состоит в том, что процесс разверты-
вания регулярного выражения в некоторое слово можно интерпретировать
как переходы от одного места к другому, начиная с начального места и
кончая конечным.
Различают три типа мест:
- начальные места – крайние левые места всех слов; отмечаются ну-
лем;
- промежуточные места, или просто места; например, места 1, 2, 4, 5;
- конечные места, т. е. те места, которыми заканчивается регулярное
выражение и которые определяют слово, после которого появляется соот-
ветствующая буква на выходе автомата (λ). Конечные места имеют двой-
ное обозначение; нижний индекс – очередной номер места и верхний ин-
декс – выходная буква, соответствующая событию

Для упрощения выражения и сокращения общего количества мест ре-


комендуется производить объединение событий, реализуемых в одном ав-
томате, с вынесением общих членов за скобки.
Пример. Дан автомат S, состоящий из двух событий Sλ1vSλ2.
Sλ1 = ρ1 (ρ2vρ3) (ρ4vρ5) . Sλ2 = ρ1 (ρ2vρ3) ρ2 .

Разметка мест в регулярном выражении, содержащим итерационные


скобки, осуществляется таким образом: все крайние правые места внутри
итерационных скобок отличаются тем же номером, что и места перед
скобкой.
33
Примеры:

Если в регулярном выражении встречается произведение итераций, то


конечные места в каждой итерации нумеруются отдельно, а места каждой
последующей итерации исчисляются, как произведения всех мест преды-
дущих итераций:

(3.20)

Пример.

3.4. Расчленение регулярных выражений


Итак проведена разметка мест регулярного выражения, при этом пред-
полагается, что каждому месту ρk соответствует одна буква внутреннего
алфавита , где i – нижний и λj - верхний индексы места по разметке. Это
означает, что после появления на входе буквы ρk автомат переходит из со-
стояния ϰ k → в состояние ϰ iи записывается в виде:

= xkρk (3.21)

Пример. Для автомата, закон функционирования которого опи-


сывается регулярным выражением

34
смена внутренних состояний, которые приводят к появлению на выходе
автомата буквы λ, определяется одной из двух последовательностей ϰ 0, ϰ 1,
ϰ 2, ϰ 3, или ϰ 0, ϰ 1, ϰ 2, ϰ 4, . Первая последовательность будет соот-
ветствовать входному слову ρ1ρ2ρ1ρ3, вторая – ρ1ρ2ρ4ρ3.
Конечное множество слов, состоящих из букв входного алфавита, ко-
торым соответствует буква внутреннего алфавита ϰ , назовем подсобытием
(или внутренним состоянием) и обозначим Sϰ , часто просто ϰ . Тогда для
регулярного выражения последнего примера можно записать следую-
щие подсобытия:
ϰ 0 = e; ϰ 1 = ϰ 0 ρ1;ϰ 2 = ϰ 1 ρ2;
ϰ 3 = ϰ 2 ρ1; ϰ 4 = ϰ 2 ρ2; = (ϰ 3vϰ 4) ρ3.
Эта запись условно показана стрелками и читается так. В ϰ 0 ← e по-
падаем из пустого места (что означает момент времени, когда на входе ав-
томата отсутствует набор входных слов). В состояние ϰ 1 ← из ϰ 0 при по-
даче ρ1, ... . В ϰ 5 ← из ϰ 3 или ϰ 4 при подаче ρ3, причем является одно-
временно и событием и подсобытием.
Операция преобразования регулярного выражения в системе формул
типа ϰ i = ϰ j ρk,при которой осуществляется фиксация внутренних состоя-
ний автомата при определенном наборе входных букв называется расчле-
нением.
Рассмотренный пример и правила разметки мест позволяют сформули-
ровать несколько определений.
Расчленение производится по следующим формулам:
– дизъюнкция
ϰ i = ϰ i-1 ρm;
(3.22)
ϰ i+1 = ϰ i-1 ρn.

– произведение
ϰ i = ϰ i-1 ρm;
(3.23)
ϰ i+1 = ϰ iρn.

– итерация
ϰ i = ϰ i-1vϰ i S
(3.24)

Для выражения, если событие S состоит из одного слова длиной более


1, расчленение производится
35
ϰ i+1 = ϰ iρ2;
ϰ i+2 = ϰ i+1 ρ3; (3.25)
ϰ i = ϰ i-1ρ1 vϰ i+2 ρ4;

Если S состоит из нескольких слов длиной более 1, то расчленение


имеет вид

ϰ i+1 = ϰ iρ2; (3.26)


ϰ i+2 = ϰ iρ3;
ϰ i= ϰ i-1 ρ1vϰ i+1 ρ3 v ϰ i+2 ρ2.

Пример. Расчленить регулярное выражение

= evϰ 3 ρ0;ϰ 1 = ρ1; ϰ 2 = ϰ 1ρ1; ϰ 3 = ϰ 2ρ1;


= ρ1; = ρ0 ; = ρ1; = ρ0 .
Пример 2

ϰ 0 = ev ρ1 v ρ2
Пример 3

ϰ 1 = evϰ 0S1; ϰ 2 = evϰ 1S2; ϰ 3 = evϰ 2S3.

Если при вынесении за скобки соответствующее место остается справа


от пустой буквы e, то верхний индекс события переносится через пустую
букву e на предыдущее место, а пустая буква вычеркивается:

36
3.5. Синтез абстрактных автоматов
Алгоритм абстрактного синтеза конечного автомата включает этапы:
1. На основании словесного или графического описания (временная
диаграмма) составляется блок-схема автомата, определяется цикл автома-
та, производится кодирование входного и выходного алфавитов.
2. Составляется регулярное выражение, определяются события, пред-
ставленные в заданном автомате. Проводится объединение событий, вхо-
дящих в цикл, так как события могут многократно повторяться, то объеди-
нение их берется в итерационных скобках. Определяется S-цикла.
3. Разметка мест регулярного выражения.
4. Расчленение регулярного выражения и минимизация расчлененных
регулярных выражений / I /.
5. Составление таблиц переходов и выходов.
6. Кодирование внутреннего алфавита.
7. Составление канонической таблицы. Таблица необходима для пере-
хода от расчлененных регулярных выражений к аналитическому выраже-
нию структуры реального автомата в виде булевых функций. В состав таб-
лицы входят входные переменные x1, ... , xn, элементы памяти y1, ... , ym,
выходные переменные z1, ... , zp и функции возбуждения U1(t-1), …, Um(t-1)
элементов памяти yi, последние столбцы заполняются по специальным таб-
лицам переходов для каждого типа элементов памяти. Каноническая таб-
лица конечного автомата с памятью имеет вид (табл. 3.1).
Таблица 3.1
Um (t-1)
U1(t-1)
ym(t-1)
x1(t-1)

xn(t-1)

y1(t-1)

ym(t)
y1(t)

z1(t)

zp(t)

Первые n и m столбцов заполняются в соответствии с состояниями


входов в такте (t-1) или (t) и состояниями mэлементов памяти в такте (t-1).
Следующие m столбцов характеризуют состояния элементов памяти в так-
те t.
Функции переходов абстрактного автомата соответствуют функциям
переходов реального автомата
ϰ (t) = Y (ρ(t-1), ϰ (t-1)); Yi(t) = Y (Yi (t-1), Xi (t-1)).

37
Значения ρ и ϰ , соответствующие значениям X и Y, находятся по таб-
лице кодирования. Следовательно, по расчлененным функциям переходов
и таблице кодирования заполняются первые n + 2mстолбцов канонической
таблицы 3.1. В следующих ρ-столбцах фиксируются функции выходов ав-
томата Мили
λ(t-1) = ψ (ρ(t-1), ϰ (t-1)) → Z(t-1) = ψ (X(t-1), Y(t-1)).
Илиавтомата Мура
λ(t) = ψ’(ϰ (t)) → Z(t) = ψ (Y (t))
на базе X(t -1), Y(t -1) или Y (t), таким образом, заполнение столбцов Z про-
водится по функциям выходов и таблицам кодирования ρ, ϰ и λ.
8. Нахождение канонических формул ДСНФ и КСНФ.
8.1. Для релейных схем набор, определяющий схему включения реле
yi, находится по столбцу yi(t)на базе X(t-1), Y(t-1).
8.2. Для схем на электронных элементах памяти (линии задержки,
триггеры) набор, определяющий схему включения элемента, находится по
столбцу Ui на базе
X(t), Y(t-1)- для асинхронных
и X(t-1), Y(t-1)- для синхронных автоматов.
8.3. Для любого типа схемы набор, определяющий схему включения
выхода zi, находится по столбцу zi (t) на базе X(t-1), Y(t-1) илиY(t) в зависи-
мости от типа автомата (Мили или Мура).

Пример. Синтезировать конечный автомат, заданный временной диа-


граммой.

Рис. 3.2. Временная диаграмма автомата

38
1. Определяем цикл автомата. По окончании цикла состояния выходов
повторяются.
Структура автомата имеет вид

Составляем таблицы кодирования входного и выходного алфавитов.


На вход автомата x поступает последовательность импульсов (x = 1),
разделенных интервалами (x = 0). По окончании первого импульса состоя-
ние выхода z2 равного 1, принимает значение 0, состояние выхода z1 стано-
вится равным 1, после окончания второго импульса x, z1 принимает значе-
ние 0, а z2 = 1.
Из временной диаграммы и словесного описания видно, что входной и
выходной алфавиты состоят из двух букв 0 и 1, и можно принять, что абст-
рактные алфавиты Р(0, 1) и Λ (0, 1) совпадают с реальными X (0, 1) и
Z(0,1).
Проводим отображение множества Х(x1, ... , xn) во множество ρ(ρ1, ρ2,
…, ρr). В нашем примере X (x1) и n = 1, тогда табл. 3.2 – таблица кодирова-
ния входного алфавита в двоично-десятичной системе.
Отображение множества Z(z1, ... , zp) во множество Λ (λ1, …, λl) дает
табл. 3.3 кодирования выходного алфавита. У нас Z(z1, z2) и ρ = 2.

Таблица 3.2 Таблица 3.3


x ρi z1 z2 λi
0 ρ0 = 0 0 1 λ1 = 1
1 ρ1 = 1 1 0 λ2 = 2

2. Конечные последовательности букв по времени (см. временную диа-


грамму) образуют входные слова. Выходные буквы образуются под воз-
действием букв входного алфавита.
В табл. 3.4 приводятся входные слова и соответствующие им буквы
выходного алфавита в течение цикла. Таким образом, в автомате представ-
лены два события, соответствующие двум буквам выходного алфавита λ1 и

39
λ2. Слова, соответствующие каждой из выходных букв аналитически мож-
но записать:
Sλ1 = (0, 01);
Sλ2 = (010, 0101);
Читается так: событие Sλ1 является множеством, состоящим из входных
слов 0, 01; событие Sλ2 является множеством, состоящим из входных слов
010, 0101.
Таблица 3.4
Входные Выходные
слова буквы
ρ0
0 ρ0 ρ1 λ1
01 ρ0 ρ1 λ1
010 ρ0 λ2
0101 ρ0 ρ1 λ2
ρ0 ρ1

Так как длительность импульсов (x = 1) и интервалов (x = 0) не норми-


рована во времени (т.е. не задана частота последовательности входных им-
пульсов и она в общем случае может быть переменной, обозначим импульс
I{I} а интервал 0{0}.
Тогда последовательность входных букв будет

0{0} I{I}0{0} I{I}…


С учетом этого можно записать
событие λ1 Sλ1 = S1 = 0{0} v0{0} I{I};
событие λ2 Sλ2 = S2 = 0{0} I{I}0{0} v0{0} I{I}0{0} I{I}.

S цикла состоит из Sλ1 или Sλ2


Sцикла = Sλ1vSλ2.

3. Разметка мест регулярного выражения

40
4. Расчленение регулярного выражения
←ev ·1v ·1←ev( v )·1
←( v )·0
←( v )·1
←( v )·0
Полученные выражения не минимизируются.
5. Составление таблиц переходов (табл. 3.5) и выходов (табл. 3.6) про-
водится в соответствии с формулами
ϰ (t) = Y (ϰ (t-1) ρ (t-1)) λ(t) = ψ’ (ϰ (t)) для автомата Мура

Таблица 3.5 Таблица 3.6

ρ(t-1) x0(t-1) x1(t-1) x2(t-1) x3(t-1) λi(t) x0(t) x1(t) x2(t) x3(t)

ρ
λ2 λ1 λ1 λ2
0 1 1 3 3
ρ По вертикальным индексам
0 1 2 2 0 регулярных выражений

6. Кодирование внутреннего алфавита. После расчленения опреде-


лили количество букв внутреннего алфавита k= 4 (ϰ 0, ϰ 1, ϰ 2, ϰ 3) в соот-
ветствии с неравенством определяем число элементов памяти m. Эле-

41
менты памяти принято обозначать y1, y2, …, ym. В нашем автомате 2 m ≥
4; m= 2, тогда y1 и y2.
Число возможных вариантов кодирования равно (числу размещений
m
на 2 элементов по k). С точки зрения абстрактной теории автоматов все
эти варианты равноценны, но с точки зрения структурного синтеза разли-
чаются степенью сложности функций возбуждения элементов памятиUи
функций выходов z. При синтезе асинхронных автоматов необходимо,
чтобы слова, образованные
y1(t-1) y2(t-1) … ym(t-1) и y1(t) y(t) … ym(t)
на одной строке, были соседними, т. е. расстояние между ними равнялось
одному шагу. Не соблюдение этого условия в асинхронных автоматах при-
водит к явлению «гона», заключающегося в том, что при разном времени
переключения элементов памяти возможно состояние автомата, соответст-
вующее другой букве внутреннего алфавита, а в результате –ложная рабо-
та автомата.
Для исключения явления «гона» соседние состояния автомата необхо-
димо кодировать соседними кодами (у соседних кодов меняется лишь один
разряд переменной, 0010 → 0011, 0011 → 0111 – соседние коды; 0011 →
0100; 0111 → 1000 несоседние коды).
С учетом сделанных замечаний составлена таблица 3.7 кодирования
внутреннего алфавита.

Таблица 3.7
y1 y2 ϰi
0 0 ϰ0
0 1 ϰ1
1 0 ϰ3
1 1 ϰ2

7. Каноническая таблица.
Проводим отображение множества ϰ (ϰ 0, …, ϰ 3) в множество y (y1 …
y2) реального автомата, а множество λ в множество z.
Функции переходов абстрактного автомата соответствует функция пе-
реходов реального автомата
ϰ (t) = Y (ϰ (t-1) ρ (t-1)) → yi(t) = (yi (t-1) xi (t-1))
Функции выходов

42
λ(t) = ψ’ (ϰ (t)) → z(t) = ψ’ (yi(t))
Составляем каноническую табл. 3.8.
Таблица 3.8
x(t-1) y1 (t-1) y2 (t-1) y1 (t) y2 (t) z1 (t) z2 (t)

ϰ0 0 0 0 0 1 0 1
1 0 0 0 0 1 0
ϰ1 0 0 1 0 1 0 1
1 0 1 1 1 0 1
ϰ2 0 1 1 1 0 1 0
1 1 1 1 1 0 1
ϰ3 0 1 0 1 0 1 0
1 1 0 0 0 1 0

Состояния ϰ iопределяются набором ρi, соответствующих возможным


значениям входного сигнала x = 0 v 1. Поэтому в столбце x(t-1) заполняют-
ся для каждого состояния ϰ возможные значения входного сигнала.
Столбцы y1(t-1), y2(t-1) заполняются в соответствии с таблицей кодирова-
ния внутреннего алфавита, например, x(t-1) = 0 при этом внутреннее со-
стояние ϰ 2 тогда в столбцах y1(t-1), y2(t-1) запишем соответствующие
ϰ 2состояния y1 = 1, y2 = 1. При заполнении столбцов y1(t), y2(t) необходимо
воспользоваться табл. 3.5 переходов и табл. 3.7 кодирования внутреннего
состояния, поскольку y1иy2рассматриваются в последующий момент вре-
мени при изменении входного набора букв автомата. Так для y1(t-1), y2(t-1)
= 1 по таблице внутренних состояний имеем ϰ 2 . Приэтом входной сигнал
ϰ (t-1)= 0, соответствует входной букве ρi = 0, тогда по таблице переходов
3.5 для ϰ 2при подаче ρi = 0 осуществляется переход в новое состояние →
ϰ 3, которому по табл. 3.7 кодирования внутренних состояний соответст-
вуют буквы y1 = 1, y2= 0. Эти значения y1y2 (10) и проставляются в столбцы
y1(t), y2(t). Аналогично заполняются остальные клеточки.
Заполнение столбца U(t-1) табл. 3.1 можно проводить двумя спосо-
бами:
– задавшись элементом памяти, например, задержкой или тем или дру-
гим видом триггера, проводить заполнение на базе y1(t), y2(t) в соответст-
вии с выбранным элементом памяти;

43
– либо на основании таблиц истинности известных (см. /4/) элементов
памяти проводить подбор на базе y(t-1), y(t) подходящего элемента памяти.
Использование столбца U(t-1)является обязательным при использова-
нии элементов памяти и создании структуры автомата на логических эле-
ментах.
Заполнение столбцов z1(t), z2(t) проводится с использованием табл. 3.7
кодирования внутреннего алфавита, табл. 3.6 выходов и табл. 3.3 кодиро-
вания выходного алфавита на базе y1(t) и y2(t). Пусть y1(t) · y2(t) = 10,по
таблице кодирования внутреннего алфавита находим соответствующее со-
стояние (событие) ϰ 3, которому по таблице выходов соответствует выход-
ная буква λ2, а для λ2 по табл. 3.3 кодирования выходного алфавита значе-
ния z1z2 = 10, эти переменные и проставляются в столбцах z1(t) z2(t).
8. Составление ДСНФ и минимизация полученных выражений
y1 (t) = 101, 011, 111, 010 <x(t-1), y1(t-1), y2(t-1)>
Карта Карно

y1 = x y2 v y1
y2 (t) = 000, 001, 101, 111 <x(t-1), y1(t-1), y2(t-1)>

y2 = x y2 v

z1 (t) = 00, 10 <y1(t), y2(t)>= v y1 =


z2 (t) = 01, 11 <y1(t), y2(t)> = y2v y1y2 = y2.
По полученным выражениям строится схема.

44
Рис. 3.3: а) схема на логических элементах;
б) схема на логических элементах

При использовании элементов памяти возможен и такой подход


на основании полученных выражений для y1(t) и y2(t) проводится сравне-
ние с таблицами истинности элементов памяти. Если найдено соответст-
вие, то проводится замена логических элементов элементами памяти. Ана-
логично и для z1(t) и z2(t). В данном примере возможно использование
триггера со счетным входом.
Использование методов абстрактного синтеза позволяет находить бо-
лее оптимальные структуры, чем при интуитивных методах синтеза схем.

45
Литература

1. Сапожников В.В. Дискретные устройства железнодорожной авто-


матики, телемеханики и связи : учеб. для вузов ж.-д. трансп. / В.В. Сапож-
ников Ю.А. , Кравцов, Вл.В. Сапожников. – М. : Транспорт, 1988. – 255 с.

2. Микросхемы и их применение : справ. пособие / В. А. Батушев [и


др.]. – 2-е изд. – М. : Радио и связь, 1983. – 272 с.

3. Поспелов Д.А. Логические методы анализа и синтеза схем / Д.А.


Поспелов. – Изд. 3-е. – М. : Энергия, 1974. –368 с.

4. Теоретические основы железнодорожной автоматики и теле-


механики : Учебник для вузов / А.С. Переборов [и др.] ; под ред. А.С. Пе-
реборова/ – 3 изд., перераб. и доп. – М. : Транспорт, 1984. – 384 с.

5. Савельев А.Я. Прикладная теория цифровых автоматов : учеб. для


вузов по спец. ЭВМ / А.Я. Савельев. – М. : Высш. шк. 1987. – 272 с.

6. Мельников А.Г. Анализ и синтез комбинационных устройств :


метод. указания / А.Г. Мельников, В.А. Баранов. – Свердловск : Уральский
электромехан. ин-т инж. ж.-д. трансп., 1990.

7. Баранов В.А. Элементы последовательностных устройств : метод.


указания / В.А.Баранов, А.Г. Мельников. – Свердловск : Уральский элек-
тромех. ин-т инж. ж.-д.трансп., 1990.

46
Учебное издание

Баранов Валерий Алексеевич

АНАЛИЗ И СИНТЕЗ
ПОСЛЕДОВАТЕЛЬНОСТНЫХ УСТРОЙСТВ

Учебно-методическое пособие
по дисциплине «Теория дискретных устройств»
для студентов специальности
23.05.05 «Системы обеспечения движения поездов»
и направления подготовки
27.03.04 «Управление в технических системах»
всех форм обучения

Редактор С. И. Семухина

Подписано в печать 17.11.2014. Формат 60х84/16.


Усл. печ. л. 2,8. Заказ 964. Электронная версия.

УрГУПС
620034, Екатеринбург, ул. Колмогорова. 66

Вам также может понравиться