Исследование и логическое проектирование конечного частично определённого автомата
Для построения схемы начнём с шин данных, которые расположены слева. Также справа будут находится инверсные шины для состояний. По сколько логические функции получены в виде СДНФ, то первой ступенью будут являться конъюнкторы, второй дизъюнкторы, а заключительной стадией будут триггеры. Выходы триггеров соединены по принципу обратной связи. Конъюнкторы и дизъюнкторы будем использовать… Читать ещё >
Исследование и логическое проектирование конечного частично определённого автомата (реферат, курсовая, диплом, контрольная)
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ФИЛИАЛ В Г. ИШИМБАЕ Кафедра Математики
КУРСОВАЯ РАБОТА
«Исследование и логическое проектирование конечного частично определённого автомата»
Выполнил:
студент гр.
Проверил: к.ф.-м.н., доцент Мугафаров М.Ф.
Ишимбай, 2009
Введение
Постановка задачи
1. Построение таблицы поведения автомата и соответствующего графа
2. Кодирование данных
3. Нахождение системы булевых функций для возбуждения T-триггеров, реализующих функции ш
4. Определение булевой функции для реализации функции ц
5. Составление логической схемы автомата Заключение
Цель работы — выполнить исследование и логическое проектирование конечного частично определённого автомата по индивидуальным данным.
Конечный автомат при двоичном кодировании его алфавитов есть структурный автомат. В практике проектирования автоматов встречаются случаи, когда функции переходов и/или выходов не определены для некоторых значений символов входного алфавита. В этом случае говорят, что автомат недетерминированный или частично определенный. При описании таких автоматов неопределенные позиции таблиц помечаются символом «*». Модель современной вычислительной машины представляет структурный автомат, использующий композицию операционного и управляющего автоматов.
В данной работе реализован конечный частично определённый автомат. В качестве элементов двоичной задержки (или элементов памяти) будем использовать триггеры.
Логическое проектирование автомата — это составление логических функций выходов и функций переходов.
Основными этапами логического проектирования конечного автомата являются:
1) кодирование алфавитов;
2) выбор комбинационных автоматов;
3) выбор элементов двоичной задержки;
4) формирование функций выхода и переходов;
5) построение логической схемы структурного автомата.
Конечным этапом логического проектирования конечного автомата будет трассировка.
Постановка задачи
Исходные данные имеют вид:
Текущее состояние при xвх=x1. Таблица № 1
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | |
q1;0 | q2;0 | q3;0 | q4;0 | q5;* | q6;* | q7;* | q8;1 | *;1 | *;1 | *;1 | *;* | |
Текущее состояние при xвх=x2. Таблица № 2.
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | |
q3;0 | q4;0 | q5;* | q6;* | q7;* | q8;1 | *;1 | *;1 | *;1 | *;* | q1;0 | q2;0 | |
Текущее состояние при xвх=x3. Таблица № 3
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | |
q5;* | q6;* | q7;* | q8;1 | *;1 | *;1 | *;1 | *;* | q1;0 | q2;0 | q3;0 | q4;0 | |
Текущее состояние при xвх=x4. Таблица № 4
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | |
q4;0 | q5;* | q6;* | q7;* | q8;1 | *;1 | *;1 | *;1 | *;* | q1;0 | q2;0 | q3;0 | |
Требуется провести исследование и логическое проектирование конечного автомата. Задача будет решаться в несколько этапов.
1. Получим таблицу поведения № 5 и соединения № 6 автомата и нарисуем графы по этим таблицам;
2. По таблице № 7 и № 8 произведём кодирование данных и получим таблицу № 9;
3. По найденной таблице № 10 получим систему булевых функций для возбуждения T-триггеров, реализующих функции ш;
4. По найденной таблице № 11 получим булеву функцию для реализации функции ц;
5. Составим логическую схему автомата по полученным булевым функциям, используя комбинационные автоматы и T-триггеры.
1. Исходные данные представлены в виде четырех таблиц.(Таблицы № 1,2,3,4).Для работы нужно свести четыре таблицы в одну. Для этого каждую таблицу нужно транспонировать. После транспонирования мы получим таблицу поведения № 5.
По таблице № 5 получим таблицу № 6. Алгоритм построения таблицы:
Строка № 1: чтобы перейти из q1 в q1 нужно подать сигнал x1/0, чтобы перейти из q1 в q3 нужно подать сигнал x2/0, чтобы перейти из q1 в q4 нужно подать сигнал x4/0, чтобы перейти из q1 в q5 нужно подать сигнал x3/*. Аналогично заполняем остальные строки таблицы № 6.
1. Построение таблицы поведения и соответствующего графа
логическое проектирование автомат граф
Таблица № 5
xi q[ф] | x1 | x2 | x3 | x4 | |
q1 | q1;0 | q3;0 | q5;* | q4;0 | |
q2 | q2;0 | q4;0 | q6;* | q5;* | |
q3 | q3;0 | q5;* | q7;* | q6;* | |
q4 | q4;0 | q6;* | q8;1 | q7;* | |
q5 | q5;* | q7;* | *;1 | q8;1 | |
q6 | q6;* | q8;1 | *;1 | *;1 | |
q7 | q7;* | *;1 | *;1 | *;1 | |
q8 | q8;1 | *;1 | *;* | *;1 | |
q9 | *;1 | *;1 | q1;0 | *;* | |
q10 | *;1 | *;* | q2;0 | q1;0 | |
q11 | *;1 | q1;0 | q3;0 | q2;0 | |
q12 | *;* | q2;0 | q4;0 | q3;0 | |
*/* - не рассматриваем.
Таблица соединений: Таблица № 6
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | ||
q1 | x1/0 | ; | x2/0 | x4/0 | x3/* | ; | ; | ; | ; | ; | ; | ||
q2 | ; | x1/0 | ; | x2/0 | x4/* | x3/* | ; | ; | ; | ; | ; | ||
q3 | ; | x1/0 | ; | x2/* | x4/* | x3/* | ; | ; | ; | ; | ; | ||
q4 | ; | ; | ; | x1/0 | ; | x2/* | x4/* | x3/1 | ; | ; | ; | ; | |
q5 | x1/1 | ; | ; | ; | x1/* | ; | x2/* | x4/* | ; | ; | ; | ; | |
q6 | x3/1 | x4/1 | ; | ; | x1/* | ; | x2/1 | ; | ; | ; | ; | ||
q7 | x2/1 | x3/1 | x4/1 | ; | ; | ; | x1/* | ; | ; | ; | ; | ; | |
q8 | x2/1 | ; | x4/1 | ; | ; | ; | ; | x1/1 | ; | ; | ; | ; | |
q9 | x3/0 | x1/1 | x2/1 | ; | ; | ; | ; | ; | ; | ; | |||
q10 | x4/0 | x3/0 | x1/1 | ; | ; | ; | ; | ; | ; | ; | |||
q11 | x2/0 | x4/0 | x3/0 | x1/1 | ; | ; | ; | ; | ; | ; | |||
q12 | ; | x2/0 | x4/0 | x3/0 | ; | ; | ; | ; | ; | ; | |||
По полученной таблице соединений № 6 построим графы. Графы строятся по следующему алгоритму: строим граф с истоком в вершине q1, q1 ставим в центр окружности, состоящей из остальных состояний q, смотрим в таблице какие q имеют сигнал, q1 имеет сигнал x1/0, q3- x2/0, q 4- x4/0 и q5-x3/*. Каждую из этих состояний соединяют с вершиной q1.
Аналогично строятся и остальные.
Рисунок 1. Граф с вершиной истока q1
Рисунок 2. Граф с вершиной истока q2
Рисунок 3. Граф с вершиной истока q3
Рисунок 4. Граф с вершиной истока q4
Рисунок 5. Граф с вершиной истока q5
Рисунок 6. Граф с вершиной истока q6
Рисунок 7. Граф с вершиной истока q7
Рисунок 8. Граф с вершиной истока q8
Рисунок 9. Граф с вершиной истока q9
Рисунок 10. Граф с вершиной истока q10
Рисунок 11. Граф с вершиной истока q11
Рисунок 12. Граф с вершиной истока q12
2. Кодирование данных
Для последующей работы вновь вернемся к исходным данным таблицы № 6. В таблице № 6 произведём кодирование, т. е. заменим состояния и сигналы на уникальные двоичные коды. Поскольку состояний 12, то необходимая длина кода равна 4. Входящих сигналов 4, по этому длина кода равна 2. Кодирование, т. е. сопоставление кодов возможно произвольно. В данной работе будет использоваться следующий метод (см. таблицу № 9).
Таблица № 7
q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | q11 | q12 | |
Таблица № 8
x1 | x2 | x3 | x4 | |
Таблица № 9
0000/0 | 0010/0 | 0100/* | 0011/0 | ||
0001/0 | 0011/0 | 0101/* | 0100/* | ||
0010/0 | 0100/* | 0110/* | 0101/* | ||
0011/0 | 0101/* | 0111/1 | 0110/* | ||
0100/* | 0110/* | */1 | 0111/1 | ||
0101/* | 0111/1 | */1 | */1 | ||
0110/* | */1 | */1 | */1 | ||
0111/1 | */1 | */* | */1 | ||
*/1 | */1 | 0000/0 | */* | ||
*/1 | */* | 0001/0 | 0000/0 | ||
*/1 | 0000/0 | 0010/0 | 0001/0 | ||
*/* | 0001/0 | 0011/* | 0010/0 | ||
3. Нахождение системы булевых функций для возбуждения T-триггеров, реализующих функции ш
Триггер представляет собой элементарный автомат Мура, обладающий двумя устойчивыми состояниями 0 и 1. Триггеры делятся на: T, D, RS, JK — триггеры. В данной работе будем использовать T-триггер.
Таблица переходов
T-триггер.
Таблица № 10 строится по таблице № 9 при помощи таблицы переходов для Т-триггеров. Берём крайний левый столбец состояний и начиная с первого элемента таблицы по порядку производится переход состояний по таблице Т-триггеров.
Таблица № 10
**** | |||||
**** | **** | ||||
**** | **** | **** | |||
**** | **** | **** | |||
**** | **** | **** | |||
**** | **** | ||||
**** | |||||
**** | |||||
По таблице № 10 строим СДНФ для функции ш. Алгоритм построения UT1 следующий: берём первую цифру двоичного кода по всем столбцам. Считаем количество 0 и 1. Чего меньше по тому и составляем СДНФ. В данной работе меньше 1. Значит составляем по 1. Мы получим следующее:
UT1=vvvvvvvv= vvvvvvv=vvvvvv
Аналогично составляем для остальных функций.
UT2 = vvv
UT3= vvv
UT4 = vv
4. Определение булевой функции для реализации функции ц
Таблица № 11
xi q[ф] | |||||
* | |||||
* | * | ||||
* | * | * | |||
* | * | ||||
* | * | ||||
* | |||||
* | |||||
* | |||||
* | |||||
* | |||||
* | * | ||||
По таблице № 11 строим СДНФ для функции ц. СДНФ будем составлять по 1.
y=vvvvv
vvvvvvvv=vvvvvvvvvvvvv
Все СДНФ упрощены до конца, дальнейшее сокращение невозможно, так как элементы уравнений имеют различие в 2 и более элементов.
5. Составление логической схемы автомата.
Для построения схемы начнём с шин данных, которые расположены слева. Также справа будут находится инверсные шины для состояний. По сколько логические функции получены в виде СДНФ, то первой ступенью будут являться конъюнкторы, второй дизъюнкторы, а заключительной стадией будут триггеры. Выходы триггеров соединены по принципу обратной связи. Конъюнкторы и дизъюнкторы будем использовать множественные, с целью оптимизации схемы.
Для построения логической схемы автомата для функции ш (схема № 1), возьмём СДНФ для функции ш, которая состоит из четырёх уравнений. Алгоритм построения уравнения UT1: возьмём первый конъюнктор K1 с сигналами. Конъюнктор K1 подсоединяется к шинам данных по заданным сигналам. Для отрицательных значений x используются инверсные входы, для отрицательных q используются инверсные шины. По такому же принципу подсоединяются все остальные конъюнкторы. После того как все конъюнкторы подсоединены, их мы подсоединяем к дизъюнктору. К дизъюнктору D1 мы подсоединяем конъюнктуры от K1 по K7. Дизюнктор D1 мы подсоединяем к триггеру T1. Выходы триггера T1 подсоединяются к шинам данных по принципу обратной связи. Аналогично составляются остальные уравнения.
Для построения логической схемы автомата для функции ц (схема № 2), возьмём СДНФ для ц. Конъюнкторы подсоединяем к шинам данных, потом все конъюнкторы подсоединяем к одному дизъюнктору. Выходом дизъюнктора является функция Y.
Заключение
1.Получили таблицу поведения № 5 и соединения № 6 автомата и нарисовали графы по этим таблицам;
2. По таблице № 7 и № 8 произвели кодирование данных и получили таблицу № 9;
3. По найденной таблице № 10 получили систему булевых функций для возбуждения T-триггеров, реализующих функции ш;
4. По найденной таблице № 11 получили булеву функцию для реализации функции ц;
5. Составили логическую схему автомата по полученным булевым функциям, используя комбинационные автоматы и T-триггеры.
Все поставленные задачи в курсовой работе были выполнены.
Суммарная сложность схемы:
Конъюнкторов: 18
Дизъюнкторов: 4