МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Национальный исследовательский ядерный университет «МИФИ»
ТЕОРИЯ АВТОМАТОВ
Лабораторный практикум
Под редакцией Б.Н. Ковригина
Рекомендовано УМО «Ядерные физика и технологии» в качестве учебного пособия
для студентов высших учебных заведений
Москва 2012
УДК 004.3(076.5)
ББК 32.973я7 Т33
Теория автоматов. Лабораторный практикум: учебное пособие
/Под ред. Б.Н. Ковригина. М.: НИЯУ МИФИ, 2012. 192 с.
Авторы: Н.А. Дмитриев, А.А. Дюмин, М.Н. Ёхин, Б.Н. Ковригин, В.Г. Тышкевич, Л.И. Шустова, И.М. Ядыкин.
В пособии содержится описание шести лабораторных работ по курсу «Теория автоматов». В каждой работе дано краткое изложение теоретических основ и особенностей выполнения работ.
Предназначено для приобретения и закрепления практических навыков при использовании теории автоматов для разработки цифровых устройств и программного обеспечения. Сопутствующая задача
это начальное изучение и освоение профессиональной САПР фирмы Xilinx, используемой на последующих трех семестрах.
Пособие предназначено для студентов, специализирующихся в области информатики и вычислительной техники.
Пособие подготовлено в рамках Программы создания и развития НИЯУ МИФИ
Рецензент канд. техн. наук Воронков А.Ф.
ISBN 978-5-7262-1781-9
© Национальный исследовательский ядерный университет «МИФИ», 2012
СОДЕР ЖАНИЕ |
|
Введение ........................................................................................................... |
4 |
Лабораторная работа 1. Изучение инструментальных средств |
|
проектирования цифровых автоматов ...................... |
9 |
Лабораторная работа 2. Структурный синтез синхронного |
|
автомата Мили .......................................................... |
15 |
Лабораторная работа 3. Структурный синтез синхронного |
|
автомата Мура ........................................................... |
28 |
Лабораторная работа 4. Синтез управляющего автомата .......................... |
42 |
Лабораторная работа 5. Синтез автомата распознавания делимости |
|
двоичных кодов большой размерности ................... |
55 |
Лабораторная работа 6. Синтез автомата распознавания соответствия |
|
бинарного сигнала заданному шаблону ................. |
74 |
Пр и ло же ни е 1 . Схемный редактор Xilinx Foundation ........................ |
111 |
Пр и ло же ни е 2 . Средства визуальной разработки цифровых |
|
автоматов ...................................................................... |
143 |
Пр и ло же ни е 3 . Реализация проекта на ПЛИС .................................... |
169 |
Пр и ло же ни е 4 . Минимизация состояний детерминированного |
|
конечного автомата ...................................................... |
180 |
3
ВВЕДЕНИЕ
Конечные автоматы. Основные понятия и определения
Конечный автомат представляет собой хотя и абстрактную, но с функциональной точки зрения довольно точную модель дискретного процесса либо (дискретного) вычислительного или управляющего устройства и является удобным средством описания многих систем, взаимодействующих с окружением и реагирующих на поток внешних событий, составляющих многие компоненты аппаратного и программного обеспечения. Такая модель обладает наглядностью и выразительностью, ясностью семантики (трактовки элементов модели) и в то же время достаточно строга и формальна. Ее используют при решении самых разнообразных задач, связанных с информационными процессами, таких как:
построение систем ПО, включая лексические анализаторы компиляторов;
проектирование систем технической диагностики;
проектирование узлов и блоков ЭВМ и других вычислительных систем и устройств;
проектирование устройств промышленной автоматики и др. Общую теорию автоматов подразделяют на абстрактную и
структурную. Различие между ними заключается в том, что абстрактная теория, отвлекаясь от структуры автомата (т.е. не интересуясь способом его построения), изучает лишь поведение автомата относительно внешней среды.
В противоположность абстрактной теории, структурная интересуется как структурой самого автомата, так и структурой входных воздействий и реакций автомата на них. В структурной теории изучаются способы построения автоматов, способы кодирования входных воздействий и реакций автомата. Таким образом, структурная теория автоматов является продолжением и дальнейшим развитием абстрактной теории. Опираясь на аппарат булевых функций и на абстрактную теорию автоматов, структурная теория дает эффективные рекомендации по разработке реальных устройств вычислительной техники.
4
Автоматом называют дискретный преобразователь информации, способный принимать различные состояния, переходить под воздействием входных сигналов из одного состояния в другое и выдавать выходные сигналы.
Если множество состояний автомата, а также множества входных и выходных сигналов конечны, то автомат называют конечным автоматом. Все реальные автоматы являются конечными.
В процессе работы конечного автомата происходят последовательные переходы между конечным числом его внутренних состояний, причем состояние автомата в определенный момент времени однозначно определяется входным и выходным сигналами. Такие автоматы представляют собой основу всей современной вычислительной техники и всевозможных дискретных систем автоматического контроля и управления.
Можно выделить несколько классов конечных автоматов, ос-
новными из которых являются детерминированные и недетерми-
нированные конечные автоматы; конечные автоматы без памяти и конечные автоматы с памятью (магазинной и произвольного доступа). Детерминированные автоматы определяются: множеством состояний, одно из которых является стартовым и минимум одно является принимающим, входным алфавитом (множеством сигналов, которые могут подаваться на вход автомата), и функцией переходов, которая однозначно определяет следующее состояние автомата в зависимости от текущего состояния автомата и символа алфавита на входе автомата. Основным (но не единственным) отличием недетерминированных конечных автоматов, от детерминированных конечных автоматов является возможность нахождения в нескольких состояниях одновременно, что значительно усложняет их моделирование, но в ряде случаев значительно облегчает синтез. Следует, отметить, что в теории конечных автоматов доказывается эквивалентность детерминированных и недетерминированных конечных автоматов.
Конечные автоматы с памятью помимо того, что хранят свое текущее состояние, имеют возможность хранения некоторой дополнительной информации, которая также может определять характер его работы. Данные автоматы являются более сложными в синтезе и реализации по сравнению с автоматами без памяти, но при этом позволяют решать значительно более широкий круг задач.
5