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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Работа № 113017


Наименование:


Методичка Синтез конечных автоматов

Информация:

Тип работы: Методичка. Предмет: Информатика. Добавлен: 07.06.18. Сдан: 2017. Страниц: 40. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Самарский государственный архитектурно-строительный университет
Факультет информационных систем и технологий
Кафедра прикладной математики и вычислительной техники




Методические указания к выполнению курсовой работы
«Синтез конечных автоматов» для студентов специальности 230400
по дисциплине «Информационные технологии»

Самара 2017


УДК 62-50 (076.5 )

Синтез конечных автоматов: Методические указания к выполнению курсовой работы для студентов специальности 230400 / cост. . – Самара, СГАСУ, 2013. - 41c.


Изложены основные требования к выполнению курсовой работы по синтезу конечных автоматов. Приведено индивидуальное задание, описан пример построения автомата по заданной грамматике и его схемотехническая реализация, даны сведения, необходимые для выполнения работы.
Оглавление
Введение 4
1. Задание на курсовое проектирование 5
2. Построение и преобразование грамматик 8
3. Построение детерминированного конечного автомата 10
4. Минимизация автомата 13
5. Работа с сетями Петри 16
6. Кодирование состояний автомата 19
7. Структурный синтез автомата 24
Литература 40


Введение

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



1. Задание на курсовое проектирование

1. Построение право-линейной грамматики по полученным данным.

2. Переход от право-линейной грамматики к автоматной. Результат -
Право-линейная и автоматная грамматики.

3. Построение недетерминированного распознающего автомата.

4. Результат - таблица переходов и граф переходов автомата.

5. Переход от недетерминированного автомата к полностью опреде-
ленному детерминированному автомату. Результат - таблица перехо-
дов и граф переходов автомата, проверка эквивалентности автоматов.

6. Минимизация автомата. Построение таблиц переходов на основе
эквивалентных преобразований. Построение разбиения множества
состояний на классы эквивалентности. Результат - таблица переходов
и граф переходов минимального автомата.

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

8. Кодирование состояний автомата. Результат - логические функции переключения элементов памяти; логические функции состояния ошибки и состояния, подтверждающего принадлежность анализируемой формальной цепочки входных символов формальному языку заданной грамматики.
9. Построение комбинационной схемы автомата.

Для синтеза конечного автомата задана формальная грамматика
G = < V , W , S , R >,
где V = {c1, c2,..., c18} - словарь терминальных символов;
W = {S, A, B, C, D, E, F} - словарь нетерминальных символов;
S - начальный символ грамматики; R - множество правил вывода:

S ® c1 c2 c3 A С ® c8 E
S ® c1 c4 c5 B C ® c9
S ® c6 C D ® c10 S
S ® c7 F D ® c11
A ® c8 D E ® c10 S
A ® c9 E ® c11
B ® c8 E F ® c12 c13 c14 c15
B ® c9 F ® c10 c13 c14 c15
F ® c17 c18 c15

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

Для выполнения индивидуальной работы требуется перейти к новому терминальному словарю, используя табл. 1 и 2.


Таблица 1

А Б В Г Д Е Ж З И Й К Л М Н О П
x1 x5 x2 x4 x6 x6 x4 x3 x3 x0 x7 x0 x3 x7 x4 x5
Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Э Ю Я
x0 x4 x5 x7 x2 x5 x4 x2 x2 x0 x6 x1 x1 x3 x7 x5


Таблица 2

c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18
д о с о в я р о с л а в а л е к
x6 x4 x4 x6 X2 x5 x7 x0 x4 x4 x0 X1 x2 x5 X1 X0 X6 X7
2. Построение и преобразование грамматик

На основе использования табл.1 и 2 составляется грамматика индивидуальная для конкретного студента. Например,

1. S ® x6 x4 x4 A 9. C ® x0 E
2. S ® x6 x6 x2 B 10. C ® x4
3. S ® x5 C 11. D ® x4 S
4. S ® x7 F 12. D ® x0
5. A ® x0 D 13. E ® x4 S
6. A ® x4 14. E ® x0
7. B ® x0 E 15. F ® x1 x2 x5 x1
8. B ® x4 16. F ® x4 x2 x5 x1
17. F ® x6 x7 x1.

Грамматика называется праволинейной, если правая часть каждого правила содержит не более одного нетерминала, причем этот нетерминал является самым правым символом.
Грамматика называется автоматной, если ее правила имеют вид:

A ® x B ; A ® x , где x I V , В I W.

Для сведения праволинейной грамматики к автоматной используют следующий прием (в качестве примера возьмем одно из правил приведенной выше грамматики, а именно, правило S -> x7 x0 x1 A). Перепишем левую часть правила и первый слева символ правой части, а оставшуюся от правой части цепочку обозначим новым нетерминальным символом, который дополнительно будет вводиться в грамматику, например , S1. В результате получим следующее новое правило:

S ® x7 S1; S1 ® x0 x1 A.

Затем, аналогичным способом преобразуем правило для S1 (получим правила вида S1 ® x0 S2 и S2 ® x1 A). Правило S2 не требует дальнейших преобразований, так как оно удовлетворяет требованиям правил автоматной грамматики.
Данным образом преобразуются все правила грамматики, которые имеют в правой части цепочку терминальных символов.
Продолжим пример. Из праволинейной грамматики, записанной выше, получаем автоматную грамматику G’ с правилами вывода вида:
1. S ® x6 S1 16. D ® x0
2. S1® x4 S2 17. E ® x4 S
3. S2® x4 A 18. E ® x0
4. S ® x6 S3 19. F ® x1 S5
5. S3® x6 S4 20. S5®x2 S6
6. S4®x2 B 21. S6® x5 S7
7. S ® x5 C 22. S7® x1
8. S ® x7 F 23. F®x4 S6
9. A ® x0 D 24. F ® x6 S8
10. А ® x4 25. S8 ® x7 S7.
11. B ® x0E
12. B ® x4
13. C ® x0 E
14. C ® x4
15. D ® x4 S

3. Построение детерминированного конечного автомата

Для автоматной грамматики строится таблица переходов недетерминированного автомата (в таблице по строкам расположены состояния, а по столбцам - входные символы, в клетках на пересечении i-й строки и j-го столбца проставляется состояние, в которое переходит автомат из состояния i по приходу входного символа j ). Для этого каждому нетерминалу ставится в соответствие некоторое состояние автомата. Затем по грамматике таблица заполняется следующим образом: на пересечении строки состояния, соответствующего нетерминалу левой части правила, и столбца, соответствующего терминальному символу, ставится состояние, соответствующее нетерминальному символу правой части правила. Если нетерминал в правой части отсутствует, то в клетке таблицы ставится заключительное состояние, которое вводится дополнительно к уже имеющимся состояниям.

Приведение недетерминированного автомата
к детерминированному виду

Детерминированным конечным автоматом называется конечный автомат, любая клетка таблицы переходов которого не содержит несколько состояний. В пустой клетке подразумеваем состояние ошибки.
Процедура приведения недетерминированного конечного автомата к детерминированному (по таблице переходов) сводится к следующему:

1. Определяется клетка, в которой содержится 2 или более состояний
( например, qi и qj).
2. Строка i и строка j накладываются друг на друга, и в таблице переходов появляется новая склеенная строка, соответствующая новому состоянию qi, j.
3. Если состояние qi или qj стоит отдельно или в комбинации с другими состояниями еще в какой-либо клетке таблицы, то соответствующая строка i или j сохраняется в таблице, иначе - убирается из таблицы после склеивания.
Продемонстрируем изложенное на примере:
Таблица 3
Состояние x0 x1 x2 x3 x4 x5 x6 x7
q0 S (нач. сост.) q15 q3 q7 ,q9 q6
q1 A q4 q15
q2 B q5 q15
q3 C q5 q15
q4 D q15 q0
q5 E q15 q0
q6 F q11 q12 q14
q7 S1 q8
q8 S2 q1
q9 S3 q10
q 10 S4 q2
q 11 S5 q12
q 12 S6 q13
q 13 S7 q15
q 14 S8 q13
q 15 закл. сост.

Склеиваем состояния q7 и q9 в состояние q7,9 . В итоге, получаем таблицу 4:


Таблица 4
Состояние x0 x1 x2 x3 x4 x5 x6 x7
q0 S (нач. сост.) q15 q3 q7 ,9 q6
q1 A q4 q15
q2 B q5 q15
q3 C q5 q15
q4 D q15 q0
q5 E q15 q0
q6 F q11 q12 q14
q7,9 S1 q8 q10
q8 S2 q1
q 10 S4 q2
q 11 S5 q12
q 12 S6 q13
q 13 S7 q15
q 14 S8 q13
q 15 закл. сост.

4. Минимизация автомата

Теорема. Для любого автомата существует минимальный автомат единственный с точностью до изоморфизма.
Рассмотрим алгоритм минимизации автомата по методике Мура:

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

2. Рабочие состояния внутри группы проверяются на эквивалентность.
Два состояния qi и qj называются эквивалентными, если для любого
входного символа Xk функции выходов и функции переходов пар
( qi, Xk ) , ( qj, Xk ) будут равны.

3. Если среди рабочих состояний групп через ряд проверок устанавливается эквивалентность, то такие состояния также считаются эквивалентными.
Удаляем из таблицы строку состояния q9, так как на состояние q9 нет больше переходов. Cтроку состояния q7 заменяем на склеенную строку q7,9, так как на состояние q7 нет больше переходов. Состояния
q1, q2, q3 - эквивалентны, удаляем строки q2 и q3. Заменяем в таблице 5 все q2 и q3 на q1. Состояния q4 и q5 - эквивалентны, удаляем строку q5, соответственно q5 в таблице 4 заменяем на q4. В итоге, получаем таблицу 5:


Таблица 5
Состояние x0 x1 x2 x3 x4 x5 x6 x7
q0 S (нач. сост.) q15 q1 q7 ,9 q6
q1 A q4 q15
q4 D q15 q0
q6 F q11 q12 q14
q7,9 S1 q8 q10
q8 S2 q1
q 10 S4 q1
q 11 S5 q12
q 12 S6 q13
q 13 S7 q15
q 14 S8 q13
q 15 закл. сост. q0

Продолжим рассматривать решение в соответствии с обозначенным алгоритмом. Анализ делаем по табл. 4. Группы состояний, проверяемые на эквивалентность, следующие:
( q1;q2;q3), (q4; q5,).
Проведем анализ этих состояний по переходам. Устанавливаем, что состояния q1, q2 и q3, а также состояния q4 и q5 являются эквивалентными по определению. Обозначив эквивалентные состояния одним состоянием, введем новые нетерминальные символы r вместо q. Будем иметь:
r0 = q0; r1 = q1; r2 = q4; r3 = q6; r4 = q7,9;
r5 = q8; r6 = q10; r7 = q11; r8 = q12; r9 = q13, r10= q14,
r11=q15;
Введем полученные замены и подстановки в табл.5 переходов автомата. Будем иметь новую таблицу 6 эквивалентную с точностью до изоморфизма таблице переходов 5.


Таблица 6
Соответствие
нетерминалов Терминалы
Х0 Х1 Х2 Х3 Х4 Х5 Х6 Х7
r0 -нач.сост. q0 r11 r1 r4 r3
r1 q1 r2 r11
r2 q4 r11 r0
r3 q6 r7 r8 r10
r4 q7,9 r5 r6
r5 q8 r1
r6 q10 r1
r7 q11 r8
r8 q12 r9
r9 q13 r11
r10 q14 r9
r11-
закл. сост q15 ro


5. Работа с сетями Петри

Сеть Петри определяется как формальная система, характеризуемая 4 формальными объектами: S = < P, T, E, M0 >, где
• P - конечное множество позиций;
• T - конечное множество переходов;
• E - конечное множество дуг;
• M0 - начальная маркировка.

Графически сеть Петри изображается двудольным графом с двумя типами вершин P и T. При переходе от грамматики к сети Петри позиции ассоциируют с нетерминальными символами, а переходы - с терминальными. Позиции могут иметь несколько входящих и исходящих дуг, а переходы - одну входящую дугу и не более одной исходящей дуги для автоматных сетей .
Процедура минимизации конечного автомата с использованием сети Петри:
1. На сети выделяются 2 позиции, имеющие одинаковое количество одинаковых входных переходов.
2. Позиции склеиваются. При этом множества входящих и исходящих дуг этих позиций объединяются без дублирования.
3. На сети выделяются 2 позиции, имеющие одинаковое
количество одинаковых выходных переходов.
4. Позиции склеиваются. При этом множества входящих и
исходящих дуг этих позиций объединяются без дублирования.
5. Если на найденные позиции есть ссылки из других позиций, то они остаются в сети, иначе удаляются после склеивания вместе с входными и выходными дугами и соответствующими переходами.
6. Если из некоторой позиции по одинаковому переходу xi существует более одной выходной позиции, то такие выходные позиции должны быть склеены.
Процедура повторяется с п. 1 до тех пор, пока позиции сети могут быть склеены.
Рассмотрим построение сети Петри для автоматной грамматики. Выполняя все необходимые правила построения сети и минимизации автомата по сети, последовательно получим сети, приведенные на рис.1 -3. На последней сети Петри проставлены ri, по разметке которых легко сравнить результаты минимизации автомата по сети Петри с минимизацией автомата по методике алгоритма Мура (См. табл. 6).

Рис. 1. Сеть Петри, составленная по автоматной грамматике

Применяя выше названные правила минимизации сети Петри, можно объединить вершины {D, E} и {A,B,C} согласно правилам 3-4. У них имеется на выходе одинаковое количество одинаковых переходов. Затем объединяются вершины {S1,S3} согласно правилам 1-2. Построим сеть после преобразования, получим:
Рис. 2. Минимизированная сеть Петри

Если провести параллель между состояниями минимизированного детерминированного автомата и минимальной сетью Петри, то можно установить соответствие:

r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11
S A,B,C D,E F S1,S3 S2 S4 S5 S6 S7 S8 Z
6. Кодирование состояний автомата

Кодирование автомата определяет обеспечение одного из важнейших свойств автомата, а именно устойчивость автомата по отношению к состязаниям элементов памяти. Переходам автомата из одного состояния в другое сопоставим изменение состояний элементов памяти.
Если на входы двух элементов памяти подать одновременно один сигнал, то на выходе сигнал возникнет не одновременно. Это явление называется состязаниями элементов памяти.
Считается, что автомат работает устойчиво, если в процессе его работы не возникает критических состязаний. Критическим считаем такое состязание элементов памяти, когда автомат под действием одного и того же входного воздействия может перейти в разные состояния. Поэтому первоочередной задачей кодирования является обеспечение устойчивости автомата.
Существует 2 способа кодирования автомата. Первый характеризуется устранением всех состязаний элементов памяти. Для этого всем внутренним
состояниям, для которых существуют переходы, приписываются соседние кодовые комбинации, отличающиеся друг от друга одной переменной.
Второй способ кодирования связан только с устранением критических состязаний. Методы первой и второй групп имеют свои преимущества и свои недостатки.
Чтобы приступить к кодированию, которое необходимо выполнить для построения в последующем структурной схемы автомата, введем в табл. 6 переходов автомата символ конца цепочки входных символов, например, символ x3, который оказался неиспользуемым в рассматриваемой грамматике. Соответственно, необходимо в таблицу переходов ввести переход из заключительного состояния r11 в начальное состояние r0 по входному символу x3. Новая таблица переходов примет вид, показанный табл. 7, в которой последний столбец отведен для формируемых кодов состояний автомата.
Число внутренних переменных кода, изменяющих свои значения при переходе автомата из одного состояния в другое, есть расстояние по Хеммингу между этими кодами .
Наименьшее число переменных, необходимое для кодирования синхронного автомата с N внутренними состояниями определяется формулой:
n = ] log2 (N) [
] [ - ближайшее сверху к log2 (N) целое число. Например, при N=13 n
будет равно 4.

Число кодовых переменных, необходимое для кодировки состояния автомата соседними кодами определяется по формуле:
n = 2 • ] log2 (N) [ - 1.
Знаком • обозначена операция умножения.
Чем меньше внутренних переменных изменяется при любом переходе, тем проще реализация функций переходов, т.е. проще структурная реализация автомата.
В курсовой работе используется код минимальной длины. В связи с этим может возникнуть ситуация, когда все соседние коды заняты, а состояния автомата еще не закодированы в полном объеме. Это требует увеличения расстояния по Хеммингу на следующем шаге кодирования. Кодирование будем осуществлять методом проб и ошибок.


Таблица 7
x0 x1 x2 x3 x4 x5 x6 x7 Код
r0 нач. сост. r11 r1 r4 r3 0000
r1 r2 r11 0001
r2 r11 r0 0101
r3 r7 r8 r10 0010
r4 r5 r6 0100
r5 r1 1100
r6 r1 0110
r7 r8 0011
r8 r9 1010
r9 r11 1110
r10 r9 0110
r11 закл. сост. r0 1000

Таблица 8
x0 x1 x2 x3 x4 x5 x6 x7 Код
r0 нач. сост. r11 r1 r4 r3 0000
r1 r2 r11 1000
r2 r11 r0 1001
r3 r7 r8 r10 0100
r4 r5 r6 0010
r5 r1 1010
r6 r1 0011
r7 r8 1100
r8 r9 0110
r9 r11 0111
r10 r9 0101
r11 закл. сост. r0 0001


Таблица 9
x0 x1 x2 x3 x4 x5 x6 x7 Код
r0 нач. сост. r11 r1 r4 r3 0000
r1 r2 r11 0010
r2 r11 r0 0110
r3 r7 r8 r10 0001
r4 r5 r6 1000
r5 r1 1100
r6 r1 1010
r7 r8 1001
r8 r9 0011
r9 r11 0111
r10 r9 0101
r11 закл. сост. r0 0100

При этом используем направления кодирования состояний, представленные на рис. 4.


r10 r3 r0 r11

r8 r7 r4 r1 r2

r9 r5 r6

Рис. 4


Выполним три варианта кодирования (Таблицы 7, 8, 9), из которых выберем наилучший на основе критерия Махалонобиса. Критерием кодирования автомата считаем минимум функционала Махаланобиса.
,

где M - число переходов. Через (ri , rj) обозначено расстояние между кодами ri и rj по Хеммингу.
В результате получим, что в первом случае суммарное расстояние по Хеммингу для 20 переходов равно 32, а во втором и третьем случае - 26. Выберем третий вариант.


7. Структурный синтез автомата

Выберем в качестве структурной схемы распознающего автомата следующую схему:

Рис. 5. Структурная схема распознающего автомата

Схема (рис. 5) состоит из комбинационной схемы, реализующей функцию возбуждения элементов памяти. Элементы памяти построены из триггеров по двухрегистровой схеме. Схема содержит также дешифратор входных сигналов.
При синхронной реализации автомата предполагается, что все переходные процессы в этих схемах успевают закончиться к моменту прихода сигнала t1, стробирующего (разрешающего) прием информации с выходов комбинационной схемы в триггеры регистра 1. Второй триггерный регистр, прием информации в который стробируется синхросигналом t2, нужен для того, чтобы все состояния автомата сделать устойчивыми. Триггеры регистра 1 будем называть вспомогательными, а регистра 2 - основными.
derr - сигнал функции ошибки; dok - сигнал функции принадлежности цепочки входных символов языку с грамматикой G’, (p1, p2, p3 - код входного символа); z(t-1) - код предыдущего состояния; z(t) - код нового состояния
С помощью сигнала НУ осуществляется начальная установка триггеров автомата.
Дешифратор преобразует двоичный код символов (p1,p2,p3) в унитарный код, в котором только одна из выходных переменных принимает значение 1, в то время как все другие равны 0.
Комбинационная схема автомата реализует функцию его переходов. Исходным заданием для ее построения является таблица или граф переходов, а также выбранный вариант кодирования .
Построить функцию переходов, значит найти переключательную функцию кодирующих (внутренних) переменных. Каждая внутренняя переменная кода (z1,z2,z3,z4 ) представляет собой состояние соответствующего элемента памяти, то есть триггера. По переключательным функциям внутренних переменных находятся функции возбуждения соответствующих им триггеров. Реализация этих функций образует комбинационную схему автомата.
Рассмотрим часть общей комбинационной схемы автомата, реализующую функцию переходов по x0, x1, ..., x7.

Рис. 6. Общая комбинационная схема автомата

Рассмотрим построение логической схемы на примере для f(x0):
z(t)
xo f(xo) z(t+1)

Рис. 7. Общий вид схемы обработки сигнала х0
Пусть входной сигнал xo обрабатывается автоматом в соответствии с функцией переходов следующим образом: r1 ® r2; r2 ® r11. Приведем таблицу кодировки (см. табл.8), чтобы на ее основе построить таблицу переходов автомата по символу xo.

Таблица 8
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11
0000 0010 0110 0001 1000 1100 1010 1001 0011 0111 0101 0100

Cоставим таблицу переходов автомата по символу x0:
Таблица 9
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r1 0 0 1 0 0 1 1 0
r2 0 1 1 0 0 1 0 0

Запишем в соответствии с табл.9 функции z(t+1). Будем иметь:

z1(t+1) = z1(t); z2(t+1) = z3(t);
z3 (t+1) = z4(t+1) = z1(t);

Построим схему на элементах И-НЕ:

Рис. 8. Схема обработки входного сигнала х0

Аналогично составляются логические функции остальных zi (t+1)
и строятся соответствующие им комбинационные схемы fxi , а в итоге и вся схема : xi & z (t) ® z (t+1) , то есть схема таблицы переходов автомата. В случае, когда по таблице переходов сложно записать функцию zi(t+1), применяют построение карт Карно и минимизацию слабо определенных функций.
Cоставим таблицу переходов автомата по символу x1:
Таблица 10
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r3 0 0 0 1 1 0 0 1
r9 0 1 1 1 0 1 0 0


Запишем в соответствии с табл.10 функции z(t+1). Будем иметь:
z1 (t+1) = z3(t+1) = z1(t);
z2(t+1) = z2(t); z4 (t+1) =
Построим схему на элементах И-НЕ:

Рис. 9. Схема обработки входного сигнала х1
Cоставим таблицу переходов автомата по символу x2:
Таблица 11
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r6 1 0 1 0 0 0 1 0
r7 1 0 0 1 0 0 1 1

Запишем в соответствии с табл.11 функции z(t+1). Будем иметь:
z1 (t+1) = z2(t); z3(t+1) =
z2(t+1) = z2(t); z4 (t+1) = z4 (t);
Построим схему на элементах И-НЕ:


Рис. 10. Схема обработки входного сигнала х2

Cоставим таблицу переходов автомата по символу x3:
Таблица 12
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r11 0 1 0 0 0 0 0 0
Запишем в соответствии с табл.12 функции z(t+1). Будем иметь:
z1 (t+1) = z1(t); z3(t+1) = z1 (t);
z2(t+1) = z1(t); z4 (t+1) = z1 (t);
Построим схему на элементах И-НЕ:


Рис. 11. Схема обработки входного сигнала х3
Cоставим таблицу переходов автомата по символу x4:
Таблица 13
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r0 0 0 0 0 0 1 0 0
r1 0 0 1 0 0 1 0 0
r2 0 1 1 0 0 0 0 0
r3 0 0 0 1 1 0 1 1
r4 1 0 0 0 1 1 0 0
r5 1 1 0 0 0 0 1 0

Запишем в соответствии с табл.13 функции z(t+1). Будем иметь:
z1 (t+1) = ; z3(t+1) =
z2(t+1) = z4 (t+1) =
Построим схему на элементах И-НЕ:


Рис. 12. Схема обработки входного сигнала х4

Cоставим таблицу переходов автомата по символу x5:
Таблица 14
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r0 0 0 0 0 0 0 1 0
r8 0 0 1 1 0 1 1 1

Запишем в соответствии с табл.14 функции z(t+1). Будем иметь:
z1 (t+1) = z1(t); z3(t+1) =
z2(t+1) = z3(t); z4 (t+1) = z3 (t);
Построим схему на элементах И-НЕ:

Рис. 13. Схема обработки входного сигнала х5

Cоставим таблицу переходов автомата по символу x6:
Таблица 15
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r0 0 0 0 0 0 1 0 0
r3 0 0 0 1 0 1 0 1
r4 1 0 0 0 1 0 1 0

Запишем в соответствии с табл.15 функции z(t+1). Будем иметь:
z1 (t+1) = z3(t+1) = z1(t);
z2(t+1) = z4(t); z4 (t+1) = z4 (t);
Построим схему на элементах И-НЕ:



Рис. 14. Схема обработки входного сигнала х6

Cоставим таблицу переходов автомата по символу x7:
Таблица 16
ri t t+1
z1 z2 z3 z4 z1 z2 z3 z4
r0 0 0 0 0 0 0 0 1
r10 0 1 0 1 0 1 1 1

Запишем в соответствии с табл.16 функции z(t+1). Будем иметь:
z1 (t+1) = z1(t); z3(t+1) = z2(t);
z2(t+1) = z2(t); z4 (t+1) =
Построим схему на элементах И-НЕ:


Рис. 15. Схема обработки входного сигнала х7

Функция возбуждения сигнала ошибки может быть представлена в виде:
derr = x0 & derrx0 U x1 & derr x1 U ... U x7 & derr x7.

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

Таблица 17
r derr x0 derr x1 derr x2 derr x3 derr x4 derr x5 derr x6 derr x7
0 0000 0 0 0 0 1 1 1 1
1 0010 1 0 0 0 1 0 0 0
2 0110 1 0 0 0 1 0 0 0
3 0001 0 1 0 0 1 0 1 0
4 1000 0 0 0 0 1 0 1 0
5 1100 0 0 0 0 1 0 0 0
6 1010 0 0 1 0 0 0 0 0
7 1001 0 0 1 0 0 0 0 0
8 0011 0 0 0 0 0 1 0 0
9 0111 0 1 0 0 0 0 0 0
10 0101 0 0 0 0 0 0 0 1
11 0100 0 0 0 1 0 0 0 0

Анализ табл. 17 показывает, что в ней больше нулей, чем единиц. Поэтому по ней удобно строить логическую функцию для . Для каждой функции проводим минимизацию слабо определенной функции. Затем берется отрицание полученной в ходе минимизации функции. Запишем функции ошибок при обработке x0, x1 и т.д.:
Для x0:
(z1 z2 z3 z4) v (z1 z2 z3 z4) = (z4 z1 z3) & (z2 v z2) = z4 z1 z3



Для x1:
(z1 z2 z3 z4) v (z1 z2 z3 z4) = (z1 z2 z4) & (z3 v z3) = z1 z2 z4


Для x2:
(z1 z2 z3 z4) v (z1 z2 z3 z4)


Для x3:


Для x4 проведём минимизацию при помощи карты Карно:

(z1 z4) v (z1 z4) v (z4 z2 z3 z1) = z4 (z1 v z1) v (z4 z1 z2z3) = z4 v (z1 z2 z3 z4)



Для x5:
(z1 z2 z3 z4) v (z1 z2 z3 z4)


Для x6 проведём минимизацию при помощи карты Карно:

(z3 z2) v (z3 z4 z1) = z3 (z2 v z4 z1)


Для x7:
(z1 z2 z3 z4) v (z1 z2 z3 z4)



Функцию ошибки можно представить формулой вида
=


которая после формирования необходимых логических функций будет изображаться соответствующей комбинационной схемой.
Сигнал dok=1 вырабатывается только тогда, когда на вход автомата пришел сигнал «конец цепочки», в рассматриваемой задаче x3, а автомат находился в заключительном состоянии, то есть


Очевидно, при этом derr = 1.
Комбинационная схема функции dok строится аналогично рассмотренным выше построениям.
Литература
1. Льюис Ф., Розенкранц Д., Стинз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979. -654 с.
2. Шоломов Л. А. Основы теории дискретных логических и вычислительных устройств. - М. : Наука, 1980. - 400 с.
3. Герасимов И. В. Построение цифровых устройств в автома-
тике и вычислительной технике на современной элементной базе: Учеб. пособие / ЛЭТИ. - Л., 1984. - 49 с.
4. Поспелов Д. А. Логические методы анализа и синтеза схем. - М. : Энергия, 1974. - 368 с.
5. Синтез распознающего автомата: Методические указания к курсовой
работе .-Новочеркасск: Изд-во НПИ, 1987. - 32 с.
6. Прохорова О.В. Синтез конечных автоматов. Йошкар-Ола: МарГТУ, 2000. – 24с.

Перейти к полному тексту работы