- •Кп 44.2201.4243.01 пз
- •Гкнт рф санкт-петербургский государственный университет аэрокосмического приборостроения
- •Техническое задание по курсовому проектированию на тему: «Проектирование конечного автомата по алфавитному отображению»
- •Технические условия
- •Содержание пояснительной записки
- •Введение
- •Абстрактный синтез конечного автомата
- •Формирование алфавитного оператора
- •Для получения столбцов w(3) и w(4) мантисса десятичного числа возводится в третью и в четвёртую степени соответственно и переводится в двоичную систему счисления.
- •Приведение алфавитного оператора к автоматному виду
- •Построение графа переходов абстрактного автомата и таблицы переходов-выходов
- •Минимизация состояний абстрактного автомата
- •Структурный синтез конечного автомата
- •Кодирование состояний, входных и выходных сигналов
- •Формирование функций возбуждения и выходных сигналов структурного автомата
- •Обоснование элементной базы
- •2.4 Разработка функциональной схемы
- •2.5 Устранение гонок в схеме
- •6 Расчет быстродействия и сложности функциональной схемы
- •Заключение
- •Список использованой литературы
Абстрактный синтез конечного автомата
Формирование алфавитного оператора
Алфавитное отображение формируется следующим образом.
На вход автомата поступают 16 различных последовательностей длины 4, составленных из букв двоичного алфавита {0,1}. На выходе вырабатывается 16 выходных последовательностей , составленных из букв того же алфавита.
По исходному числу W построим алфавитный оператор.
Исходное число W = 0,4201 преобразуем в нормальную форму записи W = 0.4201∙10-4.
Мантиссу нормализованного числа W запишем в двоичной системе счисления с точностью 16 разрядов и полученное число запишем в столбец w(1). Возведём нормализованную мантиссу числа W в квадрат, нормализуем и переведём двоичную систему счисления, 16 цифр после запятой полученной мантиссы запишем в виде столбца w(2).
Для получения столбцов w(3) и w(4) мантисса десятичного числа возводится в третью и в четвёртую степени соответственно и переводится в двоичную систему счисления.
Полученный алфавитный оператор имеет вид, представленный в таблице 1.1
Таблица 1.1 Полученный алфавитный оператор
|
z(1) |
z(2) |
z(3) |
z(4) |
w(1) |
w(2) |
w(3) |
w(4) |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
Приведение алфавитного оператора к автоматному виду
Данный оператор уже выровнен, так как длина каждого из входных слов равна длине соответствующего выходного слова. Каждому входному слову здесь сопоставляется не более одного выходного слова, поэтому оператор однозначен. Однако он не удовлетворяет условию полноты. Действительно, входной сигнал z(1) = 0 для первого, четвёртого и шестого слов преобразуется в w(1) = 0, а для второго, третьего, пятого, седьмого и восьмого слов преобразуется в w(1) = 1. По этой причине оператор неоднозначен для начальных отрезков слов. Проведём пополнение заданного оператора.
Поскольку, для приведения алфавитного оператора к автоматному виду мы используем символы и , то можем применить экономную процедуру выравнивания. Поскольку в таблице 1.1 при z(1) = 0 для первого, четвёртого и шестого слов w(1) = 0, а для второго, третьего, пятого, седьмого и восьмого слов w(1) = 1, допишем ко второму, третьему, пятому, седьмому и восьмому входным словам слева , а к выходным словам справа по одному . Далее в таблице 1.1 при z(1) = 1 для девятого, тринадцатого, пятнадцатого и шестнадцатого слов w(1) = 1, а для остальных w(1) = 0. Поэтому допишем к девятому, тринадцатому, пятнадцатому и шестнадцатому входным словам слева , а выходным словам справа по одному . Если при этом считать, что z(1) преобразуется в 0, то для однобуквенных начальных отрезков слов получилось однозначное преобразование.
Рассмотрим двухбуквенные начальные отрезки входных слов. Поскольку комбинация z(1)z(2) = 00 преобразуется неоднозначно, а именно для первого и четвёртого слов w(1)w(2) = 00, а для шестого w(1)w(2) = 01, то допишем к шестому входному слову справа , а к выходному слову слева . Проделаем подобную процедуру для всех начальных отрезков длины 2 символа. Далее рассмотрим трёхбуквенные начальные отрезки входных слов и повторим процедуру пополнения. Четырёхбуквенные начальные отрезки входных слов все различны, поэтому они преобразуются однозначно.
В результате операции пополнения получена таблица 1.2.
Таблица 1.2 Полученный автоматный оператор
|
z(1) |
z(2) |
z(3) |
z(4) |
z(5) |
z(6) |
z(7) |
w(1) |
w(2) |
w(3) |
w(4) |
w(5) |
w(6) |
w(7) |
|
0 |
0 |
0 |
0 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
0 |
|
0 |
0 |
1 |
1 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
|
|
|
|
|
0 |
1 |
1 |
1 |
|
0 |
1 |
1 |
0 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
1 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
|
|
|
|
|
|
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
|
|
|
|
|
|
0 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
|
|
|
|
|
0 |
0 |
0 |
1 |
|
1 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
|
|
|
|
|
|
0 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
|
|
|
|
|
1 |
1 |
0 |
0 |
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
1 |
0 |
1 |
0 |
|
