 
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: 
 
1 |
S t r o n a
S
PIS TREŚCI
2. SYNTEZA UKŁADU ZA POMOCĄ AUTOMATU MOORE’A ................................................. 2
? ................................................................ 2
............................................................................................... 3
3.SYNTEZA UKŁADU ZA POMOCĄ AUTOMATU MEALY’EGO ............................................... 5
? ......................................................... 5
............................................................................................. 5
 
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
0
0
0
0
1
1
1
0
0
1
1
1
q
3
q
2
X=1
X=0
X=1
q
0
q
1
X=0
X=0
X=0
 
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
2
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
1
D
0
00
0
00
0 0
01
0
11
1 1
11
0
11
1 1
10
0
00
0 0
00
1
01
0 1
01
1
10
1 0
11
1
10
1 0
10
1
01
0 1
 
4 |
S t r o n a
Następnym krokiem jest kodowanie funckji wejść przerzutników, oraz ich minimalizacja:
Q
1
Q
0
x
0
1
00
0
1
01
1
0
11
1
0
10
0
1
Q
1
Q
0
x
0
1
00
0
0
01
1
1
11
1
1
10
0
0
̅
̅̅̅̅ ̅
̅̅̅̅̅
̅̅̅̅
̅̅̅̅̅
̅̅̅̅̅̅̅̅̅̅̅̅
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.
 
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
1
Z
2
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
0
q
0
0
q
1
1
q
2
q
1
X=0
X=0
X=1
X=1
 
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
0
0
0
0
1
1
1
0
1
1
1
0
Wykorzystując informację, konstruuję tabelę
wzbudzeń przerzutników:
Q
0
(t) x(t) Q
0
(t+1) J
0
K
0
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
1
Następnie konstruuje funkcje wejścia przerzutników, oraz minimalizuje je:
(
)
(
)
x
Q
0
0
1
0
0
1
1
x
Q
0
0
1
0
1
1
0
Kolejnym krokiem jest konstrukcja tabeli
wyjść:
Q
0
(t)
x
Z
1
Z
2
0
0
0
0
0
1
0
1
1
0
0
0
1
1
1
0
Ostatnim krokiem jest odczytanie funkcji wyjść:
̅̅̅̅ ̅
̅̅̅̅̅̅̅̅̅̅̅
̅
̅̅̅̅̅̅̅̅̅̅̅
 
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
 
8 |
S t r o n a
Schemat układu Mealy’ego
Diagram dla sekwencji 1
Diagram dla sekwencji 2