background image

Do stworzenia mamy układ rozróżniający ciąg binarny 0110011. 

W tym celu tworzymy graf przejśd, każdy punkt grafu to poszczególne miejsce w ciągu (dla automatu Moore’a), czyli w naszym przypadku punktów jest 7 (bo 
7 cyfr binarnych), oraz ilośd miejsc +1 dla automatu Mealy’ego, czyli w naszym przypadku 8. 

Z każdego punktu grafu możemy wyjśd z wartością 1 lub 0 oraz możemy z takimi wartościami do niego wejśd. Jeśli wartośd która wchodzi spełnia warunek 
przejścia do następnego punktu (jest zgodna z rozpoznawanym kodem) to przechodzimy dalej, w przeciwnym przypadku sprawdzamy jakie mieliśmy 
poprzednie wartości i od tego uzależniamy do którego miejsca się cofamy (ustalamy, że nie wiemy kiedy nowy ciąg się zaczyna), tak więc np. jak poprzednią 
wartością było 0, jesteśmy na 5tym punkcie i wchodzimy z 1 to nie cofamy się na sam początek, ponieważ dostaliśmy kombinację 0 i 1 co mogło byd 
początkiem nowej sekwencji (poprzednie zero mogło nim byd), więc wchodzimy do punktu 3ciego.

background image

Zapis zgodnie z automatem Moore’a

 

 

 

 

 

 

Q

1

 

Q

Q

Q

Q

5

 

Q

6

 

Q

7

 

 

0/0 

 

0/0 

                        1/0 

 

  1/0 

 

         0/0 

 

 0/0 

 

        1/0  

 

 

         0/0 

 

 1/0 

 

        0/0  

 

 

 

 

     1/0 

 

         1/0 

 

 

       0/0 

 

 

 
 

 

 

1/1 

background image

Zapis zgodnie z automatem Mealy’ego

 

 

Q

1

 

 

 

 

Q

Q

Q

Q

5

 

Q

6

 

Q

7

 

Q

8

 

 

                      0 

 

 

 

                        1   

 

  1 

 

         0   

 

 0 

 

        1   

 

 

 

  0 

 

         0   

 

  0 

 

         0   

 

  0 

 

        0   

 

 0 

 

      1 

         0 

 

    1 

 

           0  

 

 

 

 

     1 

 

         1   

 

 

       0 

 

 

 
 

 

 

               1 

background image

Po stworzeniu grafu tworzymy tablicę przejśd (dokładniej stany symboliczne), różne w zależności od automatu: 

Automat Moore’a: 

X  Q

n

  Q

n+1 

0  Q

Q

2

  0 

0  Q

2

  Q

2

  0 

0  Q

3

  Q

2

  0 

0  Q

4

  Q

4

  0 

0  Q

5

  Q

6

  0 

0  Q

6

  Q

2

  0 

0  Q

7

  Q

2

  0 

1  Q

1

  Q

1

  0 

1  Q

2

  Q

3

  0 

1  Q

3

  Q

4

  0 

1  Q

4

  Q

1

  0 

1  Q

5

  Q

3

  0 

1  Q

6

  Q

7

  0 

1  Q

7

  Q

1

  1 

Automat Mealy’ego: 

Q

n

 

Q

n+1

 

x=0  x=1 

Q

1

  Q

Q

Q

2

  Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

Q

 

 

 

 

 

 

Dalsza częśd będzie osobno dla obu automatów. 

 

background image

Automat Moore’a: 

Etap stanów binarnych – przypisujemy poszczególnym stanom (punktom grafu) odpowiedniki binarne. 

Q

2

 → 111 

Q

3

 → 101 

Q

6

 → 110 

Q

7

 → 011 

Q

1

 → 000 

Q

4

 → 001 

Q

8

 → 100 

Q

5

 → 010 

//Szczerze powiedziawszy to nie wiem jak się przypisuje, tzn. skrajne wartości dostają te najczęściej występujące, reszta chyba taki random 

Przypisujemy w tabeli zamiast nazw odpowiednie kody: 

Q

n

 

Q

n+1

 

x=0  x=1 

000  111  000  0 
111  111  101  0 
101  111  001  0 
001  010  000  0 
010  110  101  0 
110  111  011  0 
011  111  100  0 
100  111  000  1 

 

Wypisujemy z ostatniego wiersza    

 

background image

Wyznaczamy funkcję dla pierwszego przerzutnika (liczba przerzutników to najmniejszą ilośd bitów na której możemy zapisad ilośd cyfr binarnych po 
przekształceniu ilości punktów (ogniw), czyli w naszym przypadku 3, bo 2^3>=7 a 2^2<7. 

D

1

1

(Q,X) 

D

2

2

(Q,X) 

D

3

3

(Q,X) 

Potrzebna jest tablica wzbudzeo (zrobimy dla przerzutnika D): 

Q→Q’  D 

0→0 

0→1 

1→0 

1→1 

 

Tworzymy tablice Karnaugh: 

D

1

(sprawdzamy jak się zmienia dany bit – w tym przypadku q

1

 bo sprawdzamy dla D

1

      q

1

q

3

q

00  01  11  10 

00 

01 

11 

10 

Dla pozostałych tak samo… 

Piszemy funkcję boolowską i teraz tylko układzik narysowad – był taki miły, że powiedział, że tego nie da więc was nie uraczę moim super rysuneczkiem. 

background image

Automat Mealy’ego: 

Etap stanów binarnych: 

Q

2

 → 111 

Q

3

 → 101 

Q

6

 → 110 

Q

7

 → 011 

Q

1

 → 000 

Q

4

 → 001 

Q

5

 → 010 

Przypisujemy w tabeli zamiast nazw odpowiednie kody: 

Q

n

  X  Q

n+1 

000  0  111  0 
111  0  111  0 
101  0  111  0 
001  0  010  0 
010  0  110  0 
110  0  111  0 
011  0  111  0 
000  1  000  0 
111  1  101  0 
101  1  001  0 
001  1  000  0 
010  1  101  0 
110  1  011  0 
011  1  000  1 

background image

 

Wypisujemy z ostatniego wiersza: 

 

Potrzebujemy tablicy przejśd przerzutnika (tym razem JK): 

Q

n

→Q

n+1

  J  K 

0→0 

0  X 

0→1 

1  X 

1→0 

X  1 

1→1 

X  0 

 

W przypadku takiego przerzutnika potrzebujmy dwóch tablic Karnaugh na każdy z przerzutników (osobno dla wejścia J i dla wejścia K): 

Przerzutnik dla q

3

 

J: 

      q

1

q

3

q

00  01  11  10 

00 

01 

11 

10 

 

Wyznaczamy funkcję δ

3J 

 

 

 

background image

K: 

      q

1

q

3

q

00  01  11  10 

00 

01 

11 

10 

 

Wyznaczamy funkcję δ

3K 

Dla pozostałych tak samo… 

Piszemy funkcje boolowskie i teraz tylko układzik narysowad – był taki miły, że powiedział, że tego nie da więc was nie uraczę moim super rysuneczkiem.