Синтез цифрового автомата
Введение.
В данной курсовой работе мы рассматриваем синтез цифрового автомата. Теоретически мы по начально-заданной таблице входов и выходов разрабатываем модель логической схемы, по которой делаем электрическую схему, которую, реализовав на практике, получаем на реальном цифровом автомате.
В курсовой работе для решения поставленной задачи мы выполним ряд действий, к которым относят минимизация, декомпозиция, кодирование, определение функций выхода и возбуждения триггеров, упрощение логический функций и реализация этой логической функции на логических элементах.
Цель курсовой работы: изучить теоретическую основу разработки цифрового автомата и научится работать в ней.
Пояснительная записка
Глава 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 | |
1.2.2 Определение совместимых состояний
Для нахождения несовместимых (а так же совместимых) пар состояний треугольная таблица просматривается по столбцам, начиная с нижнего правого (т.е. 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}
X3{4} => {1345}{62}; X3{134} => {123456}; X
X4{62}
X5{54} X5{125}
{14} X1{13} {1245} X1{134}
X2{14}
X3{34} => {1345}{26}; X3{134} => {123456}; X
X4{26}
X5{15}
{15} X1{3} {12456} X1{1346}
X2{4}
X3{14}
=> {12456}{3};
X4{16}
X5{25}
{16} X1{34} {13456} X1{134}
X2{45}
X3{14}
=> {13456}{3};
X4{6}
X5{45}
{23} X1{46} {12346} X1{1346}
X2{4}
X3{1}
=> {12346}{5};
X4{12}
X5{14}
{24} X1{16} {12346} X1{1345}
X2{14}
X3{13} => {12346}{5}; X3{143} => {123456}; X
X4{12}
X5{13}
{25} X1{34} {245} X1{136}
X2{4}
X3{1} => {1}{245}{36}; X3{13} => {123456}; X
X4{1}
X5{24} X5{124}
{26} X1{46} {2456} X1{1345}
X2{45}
X3{1} => {1}{2456}{3}; X3{13} => {123456}; X
X4{1}
X5{4}
{34} X1{14} {134} X1{134}
X2{1}
X3{3} => {134}{2}{5}; X3{34} => {1345}{26};
X4{2} X4{26}
X5{1}
{1345} X1{134}
X2{14}
X3{3134} => {123456}; X
X4{126}
X5{125}
{35} X1{34} {12} X1{36}
X2{4}
X3{1}
=> {12}{345};
X4{12}
X5{12}
{33} X1{4}
X2{5}
X3{1}
=> {14}{36}{2};
X4{2}
X5{14}
{14} X1{13} {1245} X1{134}
X2{14}
X3{34}
=> {1345}{26};
X4{26}
X5{15}
{45} X1{13}
X2{14}
X3{13}
=> {123456};
X4{12}
X5{12}
{46} X1{14}
X2{15}
X3{13} => {13456}{2}; X3{134} => {123456}; X
X4{2}
X5{14}
{56} X1{34}
X2{45}
X3{1}
=> {1}{23456};
X4{24}
X5{24}
Отсюда следует, что СП-разбиений нет.
- Декомпозиция автоматов при отс
утствии СП-разбиений
При отсутствии
СП-разбиений декомпозируемые
Определим ортогональные π-разбиения из множества состояний минимизированного автомата.
π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 |
Автомат C
δ |
1 |
2 |
3 |
4 |
5 |
6 |
x1 |
c2 |
c1 |
c2 |
c1 |
c2 |
c2 |
|
x2 |
c2 |
c2 |
c1 |
c1 |
c2 |
c1 |
|
x3 |
c2 |
c1 |
c1 |
c2 |
c1 |
c1 |
|
x4 |
c1 |
c1 |
c1 |
c1 |
c1 |
c1 |
|
x5 |
c1 |
c2 |
c1 |
c1 |
c1 |
c2 |
Автомат D
δ |
1 |
2 |
3 |
4 |
5 |
6 |
x1 |
d1 |
d2 |
d2 |
d1 |
d1 |
d2 |
|
x2 |
d2 |
d1 |
d1 |
d1 |
d1 |
d1 |
|
x3 |
d2 |
d1 |
d1 |
d1 |
d1 |
d1 |
|
x4 |
d2 |
d1 |
d2 |
d2 |
d1 |
d1 |
|
x5 |
d1 |
d2 |
d1 |
d1 |
d1 |
d2 |
Для того, чтобы определить взаимное влияние автоматов друг не друга, определяют τ и Ө–разбиение для каждого автомата в отдельности.
τ –разбиения устанавливают равенства функции переходов для различных состояний автоматов при одинаковом входном воздействии.
Ө–разбиение устанавливает равенство функций переходов из одного и того же состояния, но при различных входных сигналах.
Определим τ–разбиения для компонентных автоматов, путем сравнения столбцов таблиц переходов:
τe= {123};{25};{6}.
τc ={1};{2};{3}; {4}; {5}; {6}.
τd = {1};{26};{3};{4};{5}.
Определим η–разбиения для компонентных автоматов, путем сравнения строк таблиц их переходов:
Өe = {12};{34};{56}.
Өc = {1};{2};{3};{4}: {5}.
Өd = {1};{23};{4};{5}.
1.3.3 Определение входных сигналов компонентных автоматов и составление таблиц
Влияние автоматов друг на друга определяется по следующему правилу: если произведение π-разбиений i-го автомата меньше или равно τ-разбиению i-го автомата, то составляющая определяется как произведение π-разбиений исключая π-разбиение i-го автомата.
π1*π2={12,34,56}
π1*π3={13,5,24,6}
π2*π3={15,26,3,4}
π1*π2*π3={1,2,3,4,5,6}