Введение.
В данной курсовой работе мы рассматриваем синтез цифрового автомата. Теоретически мы по начально-заданной таблице входов и выходов разрабатываем модель логической схемы, по которой делаем электрическую схему, которую, реализовав на практике, получаем на реальном цифровом автомате.
В курсовой работе для решения поставленной задачи мы выполним ряд действий, к которым относят минимизация, декомпозиция, кодирование, определение функций выхода и возбуждения триггеров, упрощение логический функций и реализация этой логической функции на логических элементах.
Цель курсовой работы: изучить теоретическую основу разработки цифрового автомата и научится работать в ней.
Пояснительная записка
Глава I. Синтез абстрактного автомата.
Исходные данные.
Дана исходная таблица переходов и выходов:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
X1 |
--/y2 |
5/-- |
1/y2 |
3/y2 |
10/-- |
3/-- |
4/у2 |
--/y2 |
1/-- |
3/y2 |
X2 |
3/y1 |
3/y1 |
6/-- |
3/y1 |
--/y1 |
--/y1 |
6/y1 |
9/y1 |
6/y1 |
8/у2 |
X3 |
7/-- |
7/у2 |
5/y1 |
2/y2 |
--/y2 |
7/y2 |
--/y2 |
6/у1 |
5/у2 |
2/y2 |
X4 |
10/y2 |
10/y2 |
4/y2 |
6/y2 |
4/y1 |
10/y2 |
4/y2 |
1/y2 |
4/-- |
--/-- |
X5 |
8/y2 |
8/y2 |
2/-- |
9/у1 |
2/у2 |
8/-- |
2/-- |
4/-- |
2/y2 |
3/y2 |
Разобьем исходную таблицу на таблицу переходов и таблицу выходов.
Таблица переходов:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
X1 |
-- |
5 |
1 |
10 |
3 |
5 |
-- |
5 |
1 |
3 |
X2 |
3 |
3 |
6 |
3 |
-- |
-- |
6 |
9 |
5 |
8 |
X3 |
7 |
7 |
5 |
2 |
-- |
7 |
-- |
6 |
5 |
2 |
X4 |
10 |
10 |
4 |
6 |
4 |
10 |
4 |
1 |
4 |
-- |
X5 |
8 |
8 |
2 |
9 |
2 |
8 |
2 |
4 |
2 |
3 |
Таблица выходов:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
X1 |
Y2 |
-- |
Y2 |
-- |
-- |
Y2 |
Y2 |
Y1 |
-- |
Y1 |
X2 |
Y1 |
Y1 |
-- |
Y1 |
Y1 |
Y1 |
Y1 |
Y1 |
Y1 |
Y2 |
X3 |
-- |
Y2 |
Y2 |
Y2 |
Y2 |
Y2 |
Y2 |
Y1 |
Y2 |
Y2 |
X4 |
Y2 |
Y2 |
Y2 |
Y2 |
Y1 |
Y2 |
Y2 |
Y2 |
-- |
-- |
X5 |
Y2 |
Y2 |
-- |
Y1 |
Y2 |
-- |
-- |
-- |
Y2 |
Y2 |
Минимизация по алгоритму Ангера – Пола
Для минимизации цифрового автомата осуществляется последовательное попарное сравнение состояний и оценка степени их совместимости.
По степени совместимости состояния бывают:
Абсолютно несовместимые – состояния имеющие разные выходные сигналы.
Абсолютно совместимые – состояния, имеющие одинаковые выходные сигналы и равные функции перехода.
Условно совместимые – состояния, совместимые при условии равенства функций выхода и эквивалентности функций перехода.
Составление треугольной матрицы
Для нахождения минимального частично-определенного автомата необходимо составить треугольную матрицу Ангера-Полла.
Треугольная матрица заполняется в 3 этапа:
1 этап:
На первом этапе мы определяем абсолютно несовместимые состояния, попарно сравнивая столбцы в таблице выходов.
Если значение не равно значению , то ставим «X» в соответствующей ячейке.
2 этап:
На втором этапе мы определяем абсолютно-совместимые состояния, попарно сравнивая столбцы в таблице переходов, пропуская те пары, что мы определили как абсолютно несовместимые. Если состояния одинаковы при одинаковых сигналах, то ставим «V» в соответствующей ячейке.
3 этап:
На третьем этапе мы определяем условно-совместимые состояния, производя попарное сравнение состояний, по таблице переходов, и в соответствующую ячейку матрицы Ангера-Пола записываем условие, при котором рассматриваемые состояния совместимы.
После выполнения описанных действий мы получим матрицу Ангера-Пола:
2 |
V |
|
|
|
|
|
|
| |
3 |
3-6, 2-8, 5-7, 4-10 |
5-1, 8-2, 3-6, 2-5 | |||||||
4 |
X |
X |
1-10, 6-4, 6-3, 2-3, 5-2 |
|
| ||||
5 |
10-4, 8-2 |
X |
X |
X | |||||
6 |
V |
V |
1-5, 2-8, 5-7, 4-10 |
X |
3-5, 4-10, 2-8 | ||||
7 |
3-6, 4-10, 8-2 |
3-6, 4-10, 2-8 |
V |
X |
4-4, 2-2 |
10-4, 8-2 | |||
8 |
3-9, 4-8, 6-7, 10-1 |
X |
X |
X |
X |
X |
X | ||
9 |
3-6, 9-2, 9-7, 4-10 |
1-5, 4-10, 6-3, 8-2, 5-7 |
V |
X |
1-3, 4-4, 2-2 |
5-1, 8-2, 10-4 |
X |
3-6, 4-2, 6-5, 1-4 | |
10 |
X |
X |
X |
X |
X |
X |
X |
X |
1-3, 2-5, 6-8, 5-2 |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Для нахождения несовместимых (а так же совместимых) пар состояний треугольная таблица просматривается по столбцам, начиная с нижнего правого (т.е. 9-10). С правого нижнего столбца мы ищем первую ячейку, отмеченную крестом. В нашем случае это (8,10).Тогда во всех клетках, где есть пара (8,10), ставится крест. Эту процедуру мы проводим для всех клеток, отмеченных крестом (в том числе и свежеотмеченные), и заканчиваем, когда таких клеток не остаётся. В этом случае клетки без крестов соответствуют совместимым парам состояний, а клетки с крестами – несовместимым.
В итоге получаем окончательный вариант матрицы Ангера-Пола:
2 |
V |
|
|
|
|
|
|
| |
3 |
X |
X | |||||||
4 |
X |
X |
X |
|
| ||||
5 |
X |
X |
X |
X | |||||
6 |
V |
V |
X |
X |
X | ||||
7 |
X |
X |
V |
X |
X |
X | |||
8 |
X |
X |
X |
X |
X |
X |
X | ||
9 |
X |
X |
V |
X |
X |
X |
V |
X | |
10 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
После выполнения этих действий мы получаем совместимые пары состояний – 1-2, 1-6, 2-6, 3-7, 3-9, 7-9.
1.2.3 Минимизированный цифровой автомат
Для получения минимизированного автомата мы рассматриваем совокупность максимальных множеств. Составление максимальных классов совместимости осуществляется по матрице Ангера-Пола. Все состояния, на пересечениях которых присутствует «V», считаются совместимыми. Рассмотрение максимальных классов совместимости осуществляются с крайнего правого столбца, имеющего, по крайней мере, одну клетку без «Х».
(S7;S9) Ф=(7,9)
(S3;S9 )&(S3;S7)&(S7;S9) Ф=(3,7,9)
(S2;S6) Ф=(2,6)
(S1;S6)&(S1;S7)&(S6;S2) Ф=(1,6,2)
Таким образом, получаем следующие максимальные множества:
b1={1,2,6}, b2={4}, b3={5},b4={3,7,9}, b5={8}, b6={10}.
Из этого получаем, что в минимизированном автомате будет 6 состояний, 5 входных сигналов и 2 выходных сигнала.
Построим таблицы переходов и выходов минимизированного автомата.
Заполнение таблицы переходов минимизированного автомата мы будем осуществлять путем сравнения с исходной таблицей переходов.
Например: в b1 входят состояния {1,2,6}. При входном сигнале x1 они все перейдут в состояние {5}, входящее в b3. Значит на пересечении {b1,x1} таблицы переходов минимизированного автомата мы запишем b3. Таким способом заполняем все ячейки.
Таблица переходов минимизированного автомата:
δ |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
x1 |
b3 |
b6 |
b4 |
b1 |
b3 |
b4 |
x2 |
b4 |
b4 |
b1 |
b1 |
b4 |
b5 |
x3 |
b4 |
b1 |
b1 |
b3 |
b1 |
B1 |
x4 |
b6 |
b1 |
b2 |
b2 |
b1 |
b1 |
x5 |
b5 |
b4 |
b1 |
b1 |
b2 |
b4 |
Алгоритм заполнения таблицы выходов минимизированного автомата аналогичен заполнению таблицы переходов минимизированного автомата, только в данном случае мы сравниваем с исходной таблицей выходов.
Таблица выходов минимизированного автомата:
-
λ
b1
b2
b3
b4
b5
b6
x1
y2
y1
y1
y2
y1
y1
x2
y1
y1
y1
y1
y1
y2
x3
y2
y2
y2
y2
y1
y2
x4
y2
y2
y1
y2
y2
y1
x5
y2
y2
y2
y2
y1
y2
Декомпозиция автоматов
Задача декомпозиции состоит в получении сети автоматов реализующих функции заданного автомата. Декомпозиция основана на разбиении множеств состояний автоматов.
-разбиением множества S является множество его подмножеств которые не пересекаются между собой и при объединении дают множество S. Эти подмножества называются блоками -разбиения.
Разбиение называется СП-разбиением, при условии что если состояния находятся в одном блоке, то при одинаковом входном взаимодействии состояния в которые перейдет автомат будут также находиться в одном блоке.
Определение СП разбиений
Определение СП-разбиений основано на предположении, что рассматриваемые состояния находятся в одном блоке. Если в разных блоках совпадает хотя бы 1 состояние, то эти блоки объединяются.
Ищем СП-разбиения, попарно рассматривая все состояния:
{1 2}X1{36} объединяем блоки, имеющие хотя бы одно одинаковое состояние и
X2 {4} получаем один блок {123456}. Это значит, что в данном случае
X3{41} => СП-разбиения нет. В таком случае ставил «Х»
X4{61} Аналогично рассматриваем все пары состояний
X5{54}
{13}X1{34} {1345}X1{134}
X2{4} X2{14}
X3{4} => {1345}{62}; X3{134} => {123456}; X
X4{62} X4{126}
X5{54} X5{125}
{14}X1{13} {1245} X1{134}
X2{14} X2{14}
X3{34} => {1345}{26}; X3{134} => {123456}; X
X4{26} X4{126}
X5{15} X5{125}
{15}X1{3} {12456} X1{1346}
X2{4} X2145}
X3{14} => {12456}{3}; X3{134} => {123456}; X
X4{16} X4{126}
X5{25} X5{1245}
{16}X1{34} {13456} X1{134}
X2{45} X2{145}
X3{14} => {13456}{3}; X3{134} => {123456}; X
X4{6} X4{126}
X5{45} X5{1245}
{23}X1{46} {12346} X1{1346}
X2{4} X2{145}
X3{1} => {12346}{5}; X3{143} => {123456}; X
X4{12} X4{126}
X5{14} X5{1245}
{24}X1{16} {12346} X1{1345}
X2{14} X2{145}
X3{13} => {12346}{5}; X3{143} => {123456}; X
X4{12} X4{126}
X5{13} X5{1245}
{25}X1{34} {245} X1{136}
X2{4} X2{14}
X3{1} => {1}{245}{36}; X3{13} => {123456}; X
X4{1} X4{12}
X5{24} X5{124}
{26}X1{46} {2456} X1{1345}
X2{45} X2{145}
X3{1} => {1}{2456}{3}; X3{13} => {123456}; X
X4{1} X4{12}
X5{4} X5{124}
{34}X1{14} {134} X1{134}
X2{1} X2{14}
X3{3} => {134}{2}{5}; X3{34} => {1345}{26};
X4{2} X4{26}
X5{1} X5{15}
{1345} X1{134}
X2{14}
X3{3134} => {123456}; X
X4{126}
X5{125}
{35}X1{34} {12} X1{36}
X2{4} X2{4}
X3{1} => {12}{345}; X3{41} => {123456}; X
X4{12} X4{61}
X5{12} X5{54}
{33}X1{4}
X2{5}
X3{1} => {14}{36}{2};
X4{2}
X5{14}
{14}X1{13} {1245} X1{134}
X2{14} X2{14}
X3{34} => {1345}{26}; X3{134} => {123456}; X
X4{26} X4{126}
X5{15} X5{125}
{45}X1{13}
X2{14}
X3{13} => {123456};
X4{12}
X5{12}
{46}X1{14} {13456} X1{134}
X2{15} X2{145}
X3{13} => {13456}{2}; X3{134} => {123456}; X
X4{2} X4{126}
X5{14} X5{1245}
{56}X1{34} {23456} X1{1346}
X2{45} X2{145}
X3{1} => {1}{23456}; X3{13} => {123456}; X
X4{24} X4{12}
X5{24} X5{124}
Отсюда следует, что СП-разбиений нет.
Декомпозиция автоматов при отсутствии СП-разбиений
При отсутствии СП-разбиений декомпозируемые автоматы соединяются в сеть, следовательно, на входе и выходе автоматов будут существовать логические функции преобразования входных и выходных сигналов. Задача декомпозиции при отсутствии СП-разбиений сводится к определению ортогональных π-разбиений и реализацию на их основе автоматов.
Определим ортогональные π-разбиения из множества состояний минимизированного автомата.
π1={1234; 56}, π2={1256; 34}, π3={135; 246}.
Каждое π-разбиение соответствует новому автомату, т.е обозначим блоки π-разбиений через состояния автоматов:
π1->E{e1=1234; e2=56}
π2->C{c1=1256; c2=34}
π3->D{d1=135; d2=246}.
Для каждого разбиения построим функцию перехода компонентных автоматов на основе функции перехода исходного автомата. Функции переходов компонентных автоматов определяют реакцию автоматов E, C, D на внешнее входное воздействие и что исходный автомат находится в состояние К, соответствующему произведению алфавитов компонентных автоматов.
e1*c1*d1=1 e2*c1*d1=5
e1*c1*d2=2 e2*c1*d2=6
e1*c2*d1=3 e2*c2*d1= *
e1*c2*d2=4 e2*c2*d2= *
Автомат E
δ |
1 |
2 |
3 |
4 |
5 |
6 |
x1 |
e1 |
e2 |
e1 |
e1 |
e1 |
e1 |
x2 |
e1 |
e1 |
e1 |
e1 |
e1 |
e2 |
x3 |
e1 |
e1 |
e2 |
e1 |
e1 |
e1 |
x4 |
e2 |
e1 |
e1 |
e1 |
e1 |
e1 |
x5 |
e2 |
e1 |
e1 |
e1 |
e1 |
e1 |