Синтез конечного распознающего автомата

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.08.2013
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Таблица 9

Символ

состояния

Код состояния

Функции возбуждения

z4 z3 z2 z1

D4

D3

D2

D1

r4

0000

0

0

r3

0001

0

0

0

r11

0010

0

0

1

0

r5

0011

0

1

r2

0100

0

0

0

r1

0101

0

0

*

0110

*

*

*

*

r0

0111

*

1000

*

*

*

*

r10

1001

1

0

1

r9

1010

0

1

0

r8

1011

1

0

1

*

1100

*

*

*

*

*

1101

*

*

*

*

r7

1110

1

1

r6

1111

1

В графе «Код состояния» таблицы представлены все возможные наборы значений внутренних переменных z1,z2,z3,z4 в порядке возрастания их двоичных эквивалентов. В графе «Символ состояния» эти наборы помечаются условными обозначениями (r0?r11) в соответствии с выбранным вариантом размещения состояний автомата (рис.12). Четыре набора, которые не соответствуют никаким состояниям автомата, помечены звездочками.

Принцип составления функций возбуждения заключается в следующем. Рассмотрим заполнение, например, строки r0 (табл.9). Из состояния r0 (код 0111) возможны три перехода: в состоянии r1 (код 0101) при поступлении на вход символа x5, в состоянии r4 (код 0000) при воздействии x7 и в состояние r6 (код 1111) при воздействии x3. В первом переходе (0111 - 0101) изменяет свое значение внутренняя переменная z2 из 1 в 0, поэтому в столбце D2 должен быть записан символx5. Во втором переходе (0111 - 0000) изменяют свои значения сразу три переменных z1, z2, z3, причем из 1 в 0, значит, в столбцах D1, D2, и D3 должны быть записаны символыx7. Но так как в столбце D2 уже записан символx5, а изменение z2 в обоих случаях происходит из 1 в 0, то в столбце D2 должно быть записано выражение . Последнее означает, что переход из 1 в 0 переменной z2 происходит при поступлении на вход схемы символа x2 или символа x3. Наконец в третьем переходе (0111-1111) при поступлении символа x3 изменяется только переменная z4 из 0 в 1, поэтому в столбце D4 записывается символ x3.

Аналогично заполняются остальные строки в таблице, причем при отсутствии изменений любой из переменных z1,z2,z3,z4, в каком либо состоянии в соответствующий столбец Di записывается значение переменой zi, определяемое данным состоянием. Значение Di в четырех строках, отмеченных звездочками, могут быть заданы произвольно.

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

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

Рис.15. Геометрическое представление функции D1

После этого можно считать, что остальная часть функций задана на этих вершинах произвольно.

На рис.15 для функции D1 мы имеем одну зачерненную вершину с координатой 1001 (иначе, доопределив функцию D1) запишем импликанту, покрывающую эту вершину. Она будет иметь вид z2, z4, так как эти переменные однозначно определяют данные вершины, (переменные z2 и z4 не меняют своих значений на этих вершинах, соответственно z1 и z3 меняют значения).

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

Например, для вершиныx5 (координата 1011) наилучшим будет покрытие: вершинаx5 (1011), зачерненная вершина (1001). Тогда импликанта будет иметь вид: x5 z1z3 z4. В то же время, для вершинx1 (0101 и 0001) наилучшим будет покрытие с вершинами, x1 (0101 и 0001), вершиной помеченной звездочкой (1101), и зачерненной вершиной (1001), а импликанта будет иметь вид:x1 z1z2. Проделав аналогичные операции для остальных вершин, получим минимальную ДНФ функции D1:

Упрощая выражение, окончательно получим минимальную ДНФ:

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

Рис.16. Геометрическое представление функции D2

Рис.17. Геометрическое представление функции D3

Рис.18. Геометрическое представление функции D4

По геометрическим представлениям функций (рис.16;рис.17;рис.18), получим минимальную ДНФ функции D2 D3 D4

Упрощая выражение, окончательно получим минимальную ДНФ:

Теперь рассмотрим переключательные функции z5 и z6, представляющие выходные сигналы автомата. Сигнал z6, свидетельствующий о принадлежности цепочки входных символов языку с грамматикой G“, принимает значение 1, если автомат находится в заключительном состоянии (в нашем случае r11) и на его вход поступает сигнал признака конца цепочки символов x8=1, в противном случае z6=0. Следовательно,

z6= x8z1 z2z3z4.

Функция сигнала ошибки z5 может быть построена точно так же, как функции D1?D4, но для уменьшения сложности ее реализации можно воспользоваться следующим условием.

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

, где

С целью исключения возможного влияния функциональных состязаний и фиксации ошибки до момента принятия решения сигнал z5 удобно представить состоянием триггера, стробируемого синхросигналом t2. В качестве триггера, реализующего сигнал z5, может быть выбран любой тип триггера, в том числе и RS-триггер. Сигнал z6 тоже необходимо стробировать, но синхросигналом t1. При этом необязательно представлять этот сигнал состоянием триггера.

Примечание. При условии, если минимальная ДНФ функции возбуждения для прямого значения имеет высокую сложность, можно найти минимальную ДНФ для инверсии функции возбуждения и оценить ее сложность.

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

Так, рассмотрим прямую и инверсную функции возбуждения для информационного входа D1. Геометрическое представление для D1. дано на рис.15. Функция возбуждения D1. будет иметь вид

Сложность функции - 23.

Для получения функции возбуждения D1 проинвертируем значения на помеченных вершинах, а непомеченные вершины будем рассматривать как единицы функции.

Сложность функции - 24. Необходимо реализовать функцию D1.

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

Сложность функции D2 - 12, D2 - 15. Необходимо реализовать функцию D2.

Сложность функции D3 - 16, D3 - 18. Необходимо реализовать функцию D3.

Сложность функции D4-7, D4-8.Необходимо реализовать функцию D4.

РЕАЛИЗАЦИЯ АВТОМАТА

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

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

Наибольшее распространение получили микросхемы серий КР555 и КР1533, выполненные по технологии ТТЛШ (транзистор-транзисторная логика с диодами Шоттки), а также серий К561 или КР1561, выполненных по технологии КМДМ (на основе комплементарных полевых транзисторов типа металл-диэлектрик-полупроводник).

Несмотря на различие параметров, схема автомата будет мало завесить от типа микросхем, поэтому выберем для применения в реализации автомата интегральные микросхемы серии КР555. Рекомендуемый набор микросхем приведен на рис.19.

Другие элементы, реализующие более сложные функции, приведены на рис.20. и рис.21. Здесь же приводятся таблицы состояний. Так, микросхема КР555ЛП5 реализует функцию «исключающее ИЛИ», а выходной сигнал соответствует логическому уравнению Q=AB=AB +BA, где - символ суммирования по модулю 2.

Микросхема КР555ИД4 - два дешифратора-демультиплексора. Она может выполнять функции двойного дешифратора с 2 на 4; двойного демультиплексора на 4; дешифратора с 3 на 8; демультиплексора 1 на 8. В частности, дешифратор (рис.14) может быть реализован на этой микросхеме.

Микросхема имеет два адресных входа A0 и A1, они служат для одновременного управления выходными состояниями DCA и DCB. В каждом дешифраторе имеется отдельный стробирующий входEA иEB, а также по одному информационномуEA иEB (инверсный).

Для дешифрации трехразрядного кода следует соединитьEA иEB,EA и EB.

Логические элементы

Рис.19

Рис.20

Рис.21

Таблица 10

Состояния КР555ИД4

ВХОДЫ

ВЫХОДЫ

Адрес

Разрешение

0

1

2

3

4

5

6

7

Eа иЕв

А0

А1

Eа иЕв

Y5

Y6

Y7

Y8

Y1

Y2

Y3

Y4

Х

Х

Х

1

1

1

1

1

1

1

1

1

0

0

0

0

0

1

1

1

1

1

1

1

0

0

1

0

1

0

1

1

1

1

1

1

0

1

0

0

1

1

0

1

1

1

1

1

0

1

1

0

1

1

1

0

1

1

1

1

1

0

0

0

1

1

1

1

0

1

1

1

1

0

1

0

1

1

1

1

1

0

1

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

1

0

В качестве элементов памяти выбраны триггеры D-типа. Поэтому рекомендуется использовать микросхему КР555ТМ8, содержащую четыре триггера D-типа. Структура микросхемы ТМ8 представлена на рис.22.

Рис.22

Таблица 11

Состояния триггера КР555ТМ8

Режим работы

ВХОДЫ

ВЫХОДЫ

R

D

C

Qn+1

Qn+1

Сброс

0

X

X

0

1

Загрузка “1”

1

1

^

1

0

Загрузка “0”

1

0

^

0

1

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

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

Реализация дешифратора входных сигналов, помимо приведенной на рис.21, может быть выполнена на микросхеме КР555ИД4. Реализация функции возбужденияS5 RS-триггера сигнала «Ошибка» (z5 ) может быть выполнена с использованием микросхемы КР555ЛП5.

Сигнал начальной установки НУ реализуется путем подачи на входы D триггеров вспомогательного регистра сигналов, соответствующих выбранному начальному состоянию (в рассматриваемом примере это r0=0111, что соответствует D1=1, D2=1, D3=1, D4=0). Эти сигналы объединяются логическим «ИЛИ» с функциями возбуждения D1,D2,D3,D4. Сигналом НУ триггеры основного регистра устанавливаются в состояние 0000. Синхросигналами t1 и t2, подаваемыми на вход С, оба регистра устанавливаются в начальное состояние. Если начальное состояние имеет код 0000, установка может производиться путем подачи сигнала начальной установки на входR триггеров вспомогательного и основного регистров.

Реализация формирования сигнала начальной установки для триггера 1 регистра 1 рассматриваемого примера приводится на рис.15.

Рис.23

Начальная установка автомата осуществляется сигналом НУ=1 каждый раз перед подачей на вход автомата первого символа очередной распознаваемой цепочки. При этом длительность сигнала начальной установки должна быть такой, чтобы синхросигнал t1 поступал во время действия сигнала НУ. Так как триггеры основного регистра установлены в состоянии 0, и следовательно для установки 4-го триггера вспомогательного регистра в состояние 0 нет необходимости использования объединения D4 и НУ по «ИЛИ».

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

§ элементы не могут иметь незадействованные входы, они либо соединяются с задействованными, либо на них подаются константы;

§ подача на вход элемента константы 0 осуществляется соединением этого входа с общим проводом, подача константы 1 - соединением этого входа с выходом инвертора, вход которого соединен с общим проводом;

§ объединение входов одного элемента не увеличивает нагрузку на выход элемента, соединенного с этими входами;

§ максимальная нагрузочная способность выхода элемента для микросхем серии КР555 и КР1533 равна 20, для серий КР561 и КР1561 равна 100, что означает невозможность соединения его более чем с 20 (или 100) входами различных элементов.

ЗАКЛЮЧЕНИЕ

распознающий автомат интегральная микросхема

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

Была синтезирована комбинационная схема распознающего конечного автомата и начерчена его принципиальная схема с использованием библиотеки интегральных микросхем.

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

1. Автоматное управление асинхронными процессами в ЭВМ и дискретных системах / Под. ред. В. И. Варшавского. - М.: Наука, 2006. - 400 с.

2. Крючкова Е.Н. Теория формальных языков и автоматов. - Барнаул; 2008

3. Рейуорд - Смит В.Дж. Теория формальных языков. Вводный курс. - М.: Мир, 2008

4. Саломаа А. Жемчужины теории формальных языков. - М.: Мир, 1987.

5. Автоматное управление асинхронными процессами в ЭВМ и дискретных системах под.ред. В.И.Варшавского. - М.Науки, 2006 - 400с.

6. Донован, Дж. Системное программирование/Дж. Донован. - М.Мир, 1975 - 540с.

7. Поспелов, Д.А. Логические методы анализа и синтеза схем/Д.А. Поспелов. - М.: Энергия, 1974. - 368с.

8. Шило, В.Л. Популярные мировые микросхемы: //Справочник/ В.Л. Шило. - М.: Радио и связь 2009. - 352с.

9. Цифровые интегральные микросхемы: //Справочник/ М.И. Богданович, И.Н. Грель, В.А.Прохоренко, В.В. Шалимо. - Минск: Беларусь, 1991. - 493с.

10. Горбунов, А.Н. Синтез конечного распознающего автомата:// Методические указания к выполнению дипломной работы/А.Н. Горбунов. - Брянск, 2004г.-20с.

Размещено на Allbest.ru


Подобные документы

  • Специфика построения и минимизации детерминированного автомата методом разбиения. Построение детерминированной сети Петри, моделирующей работу распознающего автомата. Особенности программной реализации праволинейной грамматики, построение ее графа.

    курсовая работа [615,1 K], добавлен 19.06.2012

  • Построение праволинейной грамматики, автоматной грамматики по полученным результатам. Построение недетерминированного конечного автомата. Сведение недетерминированного конечного автомата к детерминированному. Описание программы и контрольного примера.

    курсовая работа [674,9 K], добавлен 13.06.2012

  • Сведение недетерминированного конечного автомата к детерминированному. Построение минимального детерминированного автомата из праволинейной грамматики двумя различными способами: с помощью сетей Петри и с помощью таблиц. Описание контрольного примера.

    курсовая работа [903,9 K], добавлен 14.07.2012

  • Устройство управления и синхронизации в структуре микропроцессора. Порядок синтеза конечного автомата (КА) для устройства управления ЭВМ. Алгоритм функционирования КА, заданный с помощью графа, функции переходов. Состояние триггеров в микросхеме.

    методичка [1019,0 K], добавлен 28.04.2009

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

    курсовая работа [210,8 K], добавлен 05.12.2013

  • Составление формальной грамматики, недетерминированный конечный автомат. Построение конечного автомата, программное моделирование работы конечного автомата. Граф детерминированного автомата, Синтаксическая диаграмма. Блок-схемы, примеры разбора строк.

    курсовая работа [486,2 K], добавлен 19.11.2010

  • Минимизация абстрактного автомата Мили, моделирование его работы. Синтез схемы конечного автомата, микропрограммного автомата и счетчика числа микрокоманд. Разработка цифровой линии задержки. Построение граф-схем исходного и оптимизированного автоматов.

    курсовая работа [823,8 K], добавлен 19.07.2012

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

    контрольная работа [215,8 K], добавлен 22.06.2012

  • Понятие, последовательность построения и схемная реализация цифрового автомата. Описание форм представления функций алгебры логики. Принципы минимизации функций выходов и переходов автомата, их перевода в базис. Сведенья о программе Electronics Workbench.

    курсовая работа [2,0 M], добавлен 27.10.2010

  • Синтез цифрового автомата с комбинационной частью на логических элементах. Реализация спроектированного автомата в виде иерархического блока со схемой замещения на библиотечных компонентах в режиме SPICE–проектов. Разработка абстрактных символов.

    курсовая работа [831,2 K], добавлен 23.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.