Курсовая работа: Синтез цифрового аппарата

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Автомат 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}.

Определение входных сигналов компонентных автоматов и составление таблиц

Влияние автоматов друг на друга определяется по следующему правилу: если произведение р-разбиений i-го автомата меньше или равно ф-разбиению i-го автомата, то составляющая определяется как произведение р-разбиений исключая р-разбиение i-го автомата.

р12={12,34,56}

р13={13,5,24,6}

р23={15,26,3,4}

р123={1,2,3,4,5,6}

При сравнении произведений р-разбиений и ф-разбиений автоматов видно, что автоматы непосредственно не влияют на входные сигналы друг друга. Однако, при рассмотрении ортогональных р-разбиений видно, что на входной сигнал автомата С влияют D и E совместно, на входной сигнал автомата D - С и E совместно, а на входной сигнал автомата E - C и D совместно. Следовательно, составляющая входного сигнала .

Для составления таблиц переходов автоматов C, D и E примем следующие обозначения:

E {e1=1234; e2=56}

C {c1=1256; c2=34}

D {d1=135; d2=246}

U={u1=x1, x2; u2=x3; u3=x4; u4=x5}

V={v1=x1; v2=x2, x3; v3=x4; v4=x5}

W={w1=x1; w2=x2, x3; w3=x4; w4=x5}.

Таблицы заполняем по следующему алгоритму на примере первой ячейки: c1*d1*e1=1. По сигналу u1 (x1, x2) автомат E перейдет в состояния e1, что мы и запишем в первую ячейку таблицы переходов автомата E.

Таким образом, заполняются все ячейки всех трёх автоматов:

д

e1

e2

д

c1

c2

д

d1

d2

c1*d1, u1

e1

e1

e1*d1, v1

c2

c2

e1*c1, w1

d1

d2

c1*d2, u1

e2

e1

e1*d2, v1

c1

c1

e1*c2, w1

d2

d1

c2*d1, u1

e1

e1

e2*d1, v1

c2

c1

e2*c1, w1

d1

d2

c2*d2, u1

e1

e1

e2*d2, v1

c2

c1

e2*c2, w1

d1

d1

c1*d1, u2

e1

e1

e1*d1, v2

c2

c1

e1*c1, w2

d2

d1

c1*d2, u2

e1

e2

e1*d2, v2

c2

c1

e1*c2, w2

d1

d1

c2*d1, u2

e1

e1

e2*d1, v2

c2

c1

e2*c1, w2

d1

d1

c2*d2, u2

e1

e1

e2*d2, v2

c1

c1

e2*c2, w2

d1

d1

c1*d1, u3

e1

e1

e1*d1, v3

c2

c1

e1*c1, w3

d2

d1

c1*d2, u3

e1

e1

e1*d2, v3

c1

c2

e1*c2, w3

d2

d2

c2*d1, u3

e2

e1

e2*d1, v3

c1

c1

e2*c1, w3

d1

d1

c2*d2, u3

e1

e1

e2*d2, v3

c1

c1

e2*c2, w3

d1

d1

c1*d1, u4

e2

e1

e1*d1, v4

c1

c1

e1*c1, w4

d1

d2

c1*d2, u4

e1

e1

e1*d2, v4

c1

c1

e1*c2, w4

d1

d1

c2*d1, u4

e1

e1

e2*d1, v4

c1

c1

e2*c1, w4

d1

d2

c2*d2, u4

e1

e1

e2*d2, v4

c1

c1

e2*c2, w4

d1

d1

e1*d1, v5

c1

c1

e1*d2, v5

c2

c1

e2*d1, v5

c1

c1

e2*d2, v5

c2

c1

Определение выходных сигналов осуществляется по произведению состояний компонентных автоматов E, C и D и входным сигналам в соответствии с таблицей выходов автомата B.

g

c1*d1*e1

c1*d1*e2

c1*d2*e2

c2*d1*e1

c2*d2*e2

1

2

3

4

5

x1

y2

y1

y1

y2

y1

x2

y1

y1

y1

y1

y1

x3

y2

y2

y2

y2

y1

x4

y2

y2

y1

y2

y2

x5

y2

y2

y2

y2

y1

2. Структурный синтез цифрового автомата

2.1 Кодирование автомата

На основании таблиц переходов и логической функции строится структурная схема сети автоматов. Структурный автомат представляет собой композицию комбинационной (логической) схемы и элементов памяти, связанных со схемой. Входными переменными схемы являются входные переменные автомата - сигналы приходящие на блоки Ue, Vc, Wd. Выходы схемы Fe, Fc, Fd определяют переход автомата в следующее состояние.

Переход от абстрактного автомата к структурному осуществляется через c помощью кодирования входов, выходов и состояний абстрактного автомата.

Кодирование входных переменных состоит в сопоставлении каждому символу входного алфавита абстрактного автомата набора значений двоичных переменных <x1, x2, …, xn> таким образом, чтобы каждый символ алфавита имел уникальный, отличный от других символов, вектор. Для этого необходимо, чтобы выполнялось условие N2n, где N - число символов входного алфавита.

Кодировать таблицы переходов и выходов будем в соответствии с условиями:

c1d1= e1c1= e1d1= 00 u1=w1= 00 v1= 000

c1d2= e1c2= e1d2= 01 u2=w2= 01 v2= 001

c2d1= e2c1= e2d1= 10 u3=w3= 10 v3= 010

c2d2= e2c2= e2d2= 11 u4=w4= 11 v4= 011

v5= 111

Получим закодированные таблицы переходов компонентных автоматов:

д

0

1

д

c1

c2

д

d1

d2

0000

1

1

00000

0

0

0000

1

0

0100

0

1

01000

1

1

0100

0

1

1000

1

1

10000

0

1

1000

1

0

1100

1

1

11000

0

1

1100

0

0

0001

1

1

00001

0

1

0001

0

1

0101

1

0

01001

0

1

0101

1

1

1001

1

1

10001

0

1

1001

1

1

1101

1

1

11001

1

1

1101

0

0

0010

1

1

00010

0

1

0010

0

1

0110

1

1

01010

1

0

0110

0

0

1010

0

1

10010

1

1

1010

1

1

1110

1

1

11010

1

1

1110

0

0

0011

0

1

00011

1

1

0011

1

0

0111

1

1

01011

1

1

0111

1

1

1011

1

1

10011

1

1

1011

1

0

1111

1

1

11011

1

1

1111

0

0

00111

1

1

01111

0

1

10111

1

1

11111

0

1