background image

Architektura Systemów Komputerowych 

Laboratorium 

Nr ćwiczenia: 5 

Temat ćwiczenia: Synteza układu synchronicznego. 

Imię i nazwisko prowadzącego kurs: Maciej Huk 

 

Wykonawca: 

Jakub Bartusiak 

Imię i Nazwisko 

nr Indeksu, wydział 

Jakub Bartusiak 

197914, SKP 

Termin zajęć: dzień tygodnia, godzina 

Wtorek, 15

15 

Data oddania sprawozdania: 

27.03.2012 

Ocena końcowa 

 

 

Ewentualne  adnotacje  dotyczące  wymaganych  poprawek  oraz  daty  otrzymania 
poprawionego sprawozdania: 

 

 

background image

1 | 

S t r o n a

 

 

S

PIS TREŚCI

 

SPIS TREŚCI ....................................................................................................................... 1

 

1. CEL ĆWICZENIA ............................................................................................................. 2

 

2. SYNTEZA UKŁADU ZA POMOCĄ AUTOMATU MOORE’A ................................................. 2

 

2.1

 

C

ZYM JEST UKŁAD 

M

OORE

A I JAK GO ZREALIZOWAĆ

? ................................................................ 2

 

2.2

 

S

YNTEZA UKŁADU 

M

OORE

A

 ............................................................................................... 3

 

3.SYNTEZA UKŁADU ZA POMOCĄ AUTOMATU MEALY’EGO ............................................... 5

 

3.1

 

C

ZYM JEST AUTOMAT 

M

EALY

EGO I JAK GO ZREALIZOWAĆ

? ......................................................... 5

 

3.2

 

S

YNTEZA UKŁADU 

M

EALY

EGO

 ............................................................................................. 5

 

 

 

 

background image

2 | 

S t r o n a

 

 

1.

 

C

EL ĆWICZENIA

 

Celem ćwiczenia jest zaprojektowanie własnego układu synchronicznego realizującego taką 
funkcję, która parzyste jedynki z wejścia przekazywała będzie do wyjścia  

 

, a nieparzyste do 

wyjścia  

 

, oraz analiza różnic jego działania w automacie Moore’a i Mealy’ego. 

2.

 

S

YNTEZA UKŁADU ZA POMOCĄ AUTOMATU 

M

OORE

A

 

2.1 Czym jest układ Moore’a i jak go zrealizować? 

Układ Moore’a jest to taki układ, którego wyjście jest funkcją wyłącznie stanu wewnętrznego 
układu.  Układ  taki  mam  zrealizować  za  pomocą  dwóch  przerzutników  typu  D,  które 
zachowują się w następujący sposób: 

Q(t)  Q(t+1)  D 

q

q

2

 

X=1 

X=0

 

X=1 

q

0

 

q

X=0 

X=0

 

X=0 

background image

3 | 

S t r o n a

 

 

Schemat przedstawiony na poprzedniej stronie reprezentuje zachowanie układu, gdzie: 

q

0

- stan początkowy, który zapętla się gdy na wejściu jest jedynka, lub przechodzi do stanu 

q

1

q

1

-kiedy pojawi sie nieparzysta jedynka na wejściu, 

q

2

-kiedy pojawi sie parzysta jedynka na wejściu, 

q

3

- stan po pojawieniu się nieparzystej jedynki, jednak wejście zmieniło się na zero. 

Po takiej analizie, mogę zaprojektować tablicę wyjść: 

Q  Z

1

 

Z

q

0

  0  0 

q

1

  1  0 

q

2

  0  1 

q

3

  0  0 

Po czym przechodzę już do syntezy tego układu. 

2.2 Synteza układu Moore’a 

Pierwszym  krokiem  do  syntezy  układu  jest 
zakodowanie  stanów.  Ja  zrobiłem  to  w  ten 
sposób: 

 

Q    Q

1

Q

0

 

q

0

    00 

q

1

    01 

q

2

    10 

q

3

    11 

 

 

Gdy  zakodowałem  już  stany,  rozpatrzam 
osiem  przypadków  stanu  poprzedniego  i 
wejścia,  które  mają  wpływ  na  wartość 
wyjściową przerzutnika D. 

Q

1

Q

0

(t)  X(t)  Q

1

Q

0

(t+1)  D

D

00 

00 

0  0 

01 

11 

1  1 

11 

11 

1  1 

10 

00 

0  0 

00 

01 

0  1 

01 

10 

1  0 

11 

10 

1  0 

10 

01 

0  1 

 

 

 

background image

4 | 

S t r o n a

 

 

Następnym krokiem jest kodowanie funckji wejść przerzutników, oraz ich minimalizacja: 

 

 

     

 

   

 

    

 

 

 

     

 

   

 

    

 

Q

1

Q

0

  x 

00 

01 

11 

10 

 

Q

1

Q

0

  x 

00 

01 

11 

10 

 

 

 

   ̅ 

 

    

 

̅̅̅̅    ̅ 

 

̅̅̅̅̅     

 

̅̅̅̅

̅̅̅̅̅

̅̅̅̅̅̅̅̅̅̅̅̅

 

 

 

   

 

 

Ostatnim  krokiem  jest  określenie  funkcji  wyjść.  Zauważam  jednak,  że  oba  stany  wyjścia  Z 
przyjmują wartość 1 tylko przy jednej konfiguracji, co przedstawiają następujące tablice: 

Q

1

Q

0

  Z

1

 

00  0 

01  1 

11  0 

10  0 

 

 

 

   

 

 

 

̅̅̅̅

̅̅̅̅̅̅̅ 

Q

1

Q

0

  Z

2

 

00  0 

01  0 

11  0 

10  1 

 

 

 

   

 

̅̅̅    

 

̅̅̅̅̅̅̅̅̅̅

 

Teraz mogę przeprowadzić syntezę układu. Układ będzie wyglądał następująco: 

 

To podsumowuje syntezę układu Moore’a. 

 

 

background image

5 | 

S t r o n a

 

 

3.S

YNTEZA UKŁADU ZA POMOCĄ AUTOMATU 

M

EALY

EGO

 

3.1 Czym jest automat Mealy’ego i jak go zrealizować? 

Automat  Mealy’ego  jest  to  automat,  którego  wyjście  jest  funkcją  stanu  wewnętrznego  i 
sygnałów  wejściowych.  Automat  Mealy’ego  w  tym  zadaniu  ma  być  realizowany  poprzez 
przerzutnik JK. Wykorzystując fakt, że funkcja wyjść jest zależna również od tego, co jest na 
wejściu, maszynę możemy zredukować aż do dwóch stanów! 

Problemem  przy  realizacji  automatu  Mealy’ego  będzie  fakt,  że  stan  funkcji  wyjściowej  nie 
zawsze  będzie  poprawny.  Należy  go  odczytywać  pomiędzy  momentem  ustalenia  się 
zmiennych wejściowych, a taktem zegara taktującego automat. Dla przykładu, jeśli automat 
taktowany jest narastającym zboczem zegarowym, a dane są wprowadzana na opadającym 
zboczu  zegarowym,  to  wartość  jest  poprawna  w  momencie  pomiędzy  narastaniem  a 
opadaniem. Wynika to ze specyfikacji automatu, i nie można nic na to poradzić. 

  

 

 

 

 

 

 

 

 

3.2 Synteza układu Mealy’ego 

Postępuję w sposób analogiczny do 

poprzedniego; najpierw określam 

zachowanie wyjść dla odpowiedniego stanu 

układu i wartości na wejściu: 

 

Q  x  Z

Z

q

0

  0  0  0 

q

0

  1  0  1 

q

1

  0  0  0 

q

1

  1  1  0 

 

 

A następnie koduje stany: 

Q  Q

q

0

  0 

q

1

  1 

 

 

q

2

 

q

X=0 

X=0 

X=1 

X=1 

background image

6 | 

S t r o n a

 

 

Znając zachowanie przerzutnika typu JK, 

mogę określić później tabele wzbudzeń 

przerzutników. Oto jak zachowuje się 

przerzutnik typu JK: 

 

Q(t)  Q(t+1)  J  K 

 

 

 

 

 

  1 

 

  0 

 

 

Wykorzystując informację, konstruuję tabelę 

wzbudzeń przerzutników: 

Q

0

(t)  x(t)  Q

0

(t+1)  J

K

 

 

 

 

 

 

 

 

 

 

Następnie konstruuje funkcje wejścia przerzutników, oraz minimalizuje je: 

 

 

 

   (       

 

   ) 

 

 

   (       

 

   ) 

Q

0

 

  

  

 

Q

0

 

  

  

 

 

 

   

 

 

 

   

 

Kolejnym krokiem jest konstrukcja tabeli 

wyjść: 

 

Q

0

(t) 

Z

1

 

Z

2

 

 

 

Ostatnim krokiem jest odczytanie funkcji wyjść: 

 

 

    

 

̅̅̅̅    ̅ 

̅̅̅̅̅̅̅̅̅̅̅

 

 

 

    

 

   ̅ 

̅̅̅̅̅̅̅̅̅̅̅

 

 

 

 

background image

7 | 

S t r o n a

 

 

To podsumowuje syntezę układu. Układ będzie wyglądał w następujący sposób: 

 

Schemat układu Moore’a 

Diagram dla sekwencji 1 

Diagram dla sekwencji 2 

background image

8 | 

S t r o n a

 

 

Schemat układu Mealy’ego 

Diagram dla sekwencji 1 

Diagram dla sekwencji 2