• Nie Znaleziono Wyników

Projektowanie synchronicznych układów sekwencyjnych - wykład 5

N/A
N/A
Protected

Academic year: 2022

Share "Projektowanie synchronicznych układów sekwencyjnych - wykład 5"

Copied!
24
0
0

Pełen tekst

(1)

Projektowanie synchronicznych układów sekwencyjnych - wykład 5

Adam Szmigielski

aszmigie@pjwstk.edu.pl

Laboratorium robotyki s09

(2)

Układy kombinacyjne i sekwencyjne - przypomnienie

(3)

Stan wewn˛etrzny

W układach sekwencyjnych wprowadza si˛e poj˛ecie stanu wewn˛etrznego.

• Stan wewn˛etrzny "ogranicza" mo˙zliwo´s´c zmiany (ewolucji) układu, gdy˙z przyszła warto´s´c stanu zale˙zy od jej warto´sci obecnej i warto´sci wej´s´c,

• Mo˙zliwe zachowania si˛e układu sekwencyjnego modeluje si˛e za pomoc ˛a grafu skierowanego - w˛ezły modeluj ˛a stan i zwi ˛azan ˛a z nim warto´sci wyj´s´c, strzałki okre´slaj ˛a zmian˛e stanu pod wpływem warto´sci wej´s´c,

• Ze stanem zewn˛etrznym zwi ˛azana jest warto´s´c wyj´s´c (obserwowalna),

• Stan wewn˛etrzny mo˙ze nie by´c "widoczny" na wyj´sciu (dlatego jest

"wewn˛etrzny"),

• W układach sekwencyjnych stany wewn˛etrzne realizuje si˛e za pomoc ˛a przerzutników i elementów kombinacyjnych.

(4)

Poj˛ecie stanu wewn˛etrznego - graf przej´s´c

Przykładowy graf modeluj ˛ acy zachowanie si˛e układu sekwencyjnego.

(5)

Kodowanie stanu

S

t

S

t+1

Y

t

S

0

S

1

0 S

1

S

2

1 S

2

S

3

2 S

3

S

4

3 S

4

S

5

4 S

5

S

6

5 S

6

S

0

6

kodowanie S

t

S

t+1

Y

t

S

0

→ 000 000 001 000

S

1

→ 001 001 010 001

S

2

→ 010 010 011 010

S

3

→ 011 011 100 011

S

4

→ 100 100 101 100

S

5

→ 101 101 110 101

S

6

→ 110 110 000 110

(6)

Automaty Mealy’ego i Moore’a

Układ (λ) realizuj ˛ acy funkcj˛e wyj´s´c jest układem kombinacyjnym a blok (δ) realizuje pami˛e´c (funkcj˛e wzbudze´n).

x (k + 1) = δ(x(k), u(k)) równanie stanu: δ - funkcja wzbudze´n

y (k) = λ(x(k), u(k)) równanie wyj´scia: λ - funkcja wyj´s´c

(7)

Zegar

• W układach sekwencyjnych istotna jest sekwencja stanów,

• W celu synchronizacji tych zmian wprowadza si˛e dodatkowe wej´scie zwane wej´sciem zegarowym lub zegarem,

• W przewa˙zaj ˛ acej liczbie przypadków zmiana stanu odbywa si˛e wraz

z dodatnim zboczem zegara.

(8)

Projektowanie układów sekwencyjnych

(9)

Etapy realizacji układów sekwencyjnych

Przy projektowaniu układów sekwencyjnych cz˛e´sciej wykorzystuje si˛e automaty Moore’a. W dalszej cz˛e´sci wykładu skupimy si˛e tylko na tego typu układach. Wyró˙znia si˛e nast˛epuj ˛ ace etapy projektowania:

1. W oparciu o tre´s´c (cel) zadania tworzymy graf skierowany modeluj ˛acy zachowanie si˛e automatu. W˛ezły grafu modeluj ˛a stany i zwi ˛azane z nim warto´sci wyj´s´c. Zmiana stanu jest opisywana poprzez strzałk˛e, z któr ˛a zwi ˛azana jest warto´s´c wej´scia. Zmiana stanu musi uwzgl˛ednia´c wszystkie kombinacje wej´s´c - w przeciwnym przypadku graf zachowywałby si˛e w sposób niedeterministyczny.

2. Kodujemy stany, wykorzystuj ˛ac najmniejsz ˛a liczb˛e zmiennych,

3. "Rozbijamy" zakodowan˛e tabel˛e przej´s´c stanów na pojedyncze przerzutniki, okre´slaj ˛ac funkcj˛e wzbudze´n dla ka˙zdego przerzutnika.

4. Dla ka˙zdego wyj´scia okre´slamy map˛e Karnough’a mapuj ˛ac ˛a stany (wyj´scia przerzutników) na wyj´scia układu.

(10)

Przykład

Zadanie:

Zaprojektuj i zrealizuj układ o dwóch wej´sciach i dwóch wyj´sciach, działaj ˛ acy w nast˛epuj ˛ acy sposób:

1. Je´sli na wej´sciu pojawi ˛a si˛e dwie jedynki układ powinien na przemian wł ˛acza´c oba wyj´scia i wył ˛acza´c oba wyj´scia dodatnim zboczem zegara C.

Logiczna "1" na wyj´sciu oznacza, ˙ze wyj´scie jest wł ˛aczone, w przeciwnym przypadku jest wył ˛aczone.

2. Dwa zera na wej´sciu powoduj ˛a wył ˛aczenie obu wyj´s´c.

3. Pozostałe kombinacje wej´s´c powoduj ˛a, ˙ze wyj´scia zachowuj ˛a si˛e jak licznik mod3.

(11)

Okre´slenie liczby stanów i grafu przej´s´c

Poniewa˙z na wyj´sciach mog ˛a si˛e pojawi´c wszystkie mo˙zliwe kombinacje (4 ró˙zne) i z ka˙zdym wyj´sciem zwi ˛azany jest jeden stan wewn˛etrzny oznacza to, ˙ze minimalna liczba stanów wynosi 4:

Dla stanu S0 wyj´scia wynosz ˛a y1 = 0 i y2 = 0 Dla stanu S1 wyj´scia wynosz ˛a y1 = 0 i y2 = 1 Dla stanu S2 wyj´scia wynosz ˛a y1 = 1 i y2 = 0 Dla stanu S3 wyj´scia wynosz ˛a y1 = 1 i y2 = 1

(12)

S

t+1

:

S

t

\x

2

, x

1

00 01 11 10 y

2

, y

1

S

0

S

0

S

1

S

3

S

1

00

S

1

S

0

S

2

S

0

S

2

01

S

2

S

0

S

0

S

0

S

0

10

S

3

S

0

S

0

S

0

S

0

11

(13)

Kodowanie tablicy przej´s´c

S

t+1

:

S

t

\x

2

, x

1

00 01 11 10 y

2

, y

1

S

0

S

0

S

1

S

3

S

1

00 S

1

S

0

S

2

S

0

S

2

01 S

2

S

0

S

0

S

0

S

0

10 S

3

S

0

S

0

S

0

S

0

11

Q

t+11

, Q

t+10

:

x2,x1

Qt1,Qt0

00 01 11 10 y

2

, y

1

S

0

7→ 00 00 01 10 01 00

S

1

7→ 01 00 11 00 11 01

S

2

7→ 11 00 00 00 00 10

S

3

7→ 10 00 00 00 00 11

(14)

Qt+11 , Qt+10 :

x2,x1

Qt1,Qt0 00 01 11 10 y2, y1

S0 7→ 00 00 01 10 01 00 S1 7→ 01 00 11 00 11 01 S2 7→ 11 00 00 00 00 10 S3 7→ 10 00 00 00 00 11

D1 : D0 :

x2,x1

Qt1,Qt0 00 01 11 10

00 0 0 1 0

01 0 1 0 1

11 0 0 0 0

10 0 0 0 0

x2,x1

Qt1,Qt0 00 01 11 10

00 0 1 0 1

01 0 1 0 1

11 0 0 0 0

10 0 0 0 0

D1 = Q1Q0x2x1 + Q1Q0x2x1 + Q1Q0x2x1 D0 = Q1x2x1 + Q1x2x1

(15)

Okre´slenie funkcji wyj´s´c

y2, y1 :

x2,x1

Qt1,Qt0 00 01 11 10 y2, y1

S0 7→ 00 00 01 10 01 00 S1 7→ 01 00 11 00 11 01 S2 7→ 11 00 00 00 00 10 S3 7→ 10 00 00 00 00 11

y2 : y1 :

Q1\Q0 0 1

0 0 0

1 1 1

Q1\Q0 0 1

0 0 1

1 1 0

y2 = Q1 y1 = Q1Q0 + Q1Q0 = Q1 ⊗ Q0

(16)

• funkcje wzbudze ´n: D0 = Q1x2x1 + Q1x2x1

D1 = Q1Q0x2x1 + Q1Q0x2x1 + Q1Q0x2x1

• funkcje wyj´scia: y2 = Q1

y1 = Q1Q0 + Q1Q0 = Q1 ⊗ Q0

(17)

Kodowanie stanów

Przy kodowaniu stanów istotne jest to, aby osi ˛agn ˛a´c mo˙zliwie prost ˛a funkcj˛e wzbudze´n. Niestety nie ma ogólnej metody, która prowadziłaby zawsze do minimalnej funkcji wzbudze´n. Mo˙zemy próbowa´c to osi ˛agn ˛a´c przestrzegaj ˛ac poni˙zszych zasad (w/g priorytetu):

• Zasada 1: - nale˙zy przyporz ˛adkowa´c stanom, które maj ˛a ten sam stan nast˛epny, słowa kodowe ró˙zni ˛ace si˛e tylko warto´sci ˛a jednego bitu,

• Zasada 2: - Nale˙zy przyporz ˛adkowa´c stanom nast˛epnym, maj ˛acym ten sam stan bie˙z ˛acy, słowa kodowe ró˙zni ˛ace si˛e tylko warto´sci ˛a jednego bitu,

• Zasada 3: - Nale˙zy przyporz ˛adkowa´c stanom, dla których wyst˛epuj ˛a takie same warto´sci wyj´sciowe (przy tych samych sygnałach wej´sciowych) słowa kodowe ró˙zni ˛ace si˛e warto´sci ˛a tylko jednego bitu.

(18)

Minimalizacja stanów - równowa˙zno´s´c stanów

Dwa stany s ˛ a równowa˙zne (mog ˛ a by´c zast ˛ apione jednym stanem) je´sli spełniaj ˛ a warunki:

1. Warto´sci sygnałów na wyj´sciach, zwi ˛ azanych z dwoma stanami s ˛ a takie same,

2. Odpowiadaj ˛ ace im stany nast˛epne s ˛ a takie same lub równowa˙zne.

(19)

Minimalizacja stanów - przykład

St+1 :

St\x2, x1 00 01 11 10 Y - wyj´scie

1 5 3 2 1 0

2 5 3 1 4 0

3 3 4 4 5 1

4 5 3 2 2 0

5 6 7 1 1 0

6 3 3 1 7 0

7 7 1 1 5 1

• Nie ma stanów identycznych

• Ze wzgl˛edu wyj´scia zgodne s ˛a stany: 3 i 7 oraz stany: 1, 2, 4, 5 i 6.

• Potencjalne pary zgodne: {1, 2}, {1, 4}, {1, 5}, {1, 6}, {2, 4}, {2, 5}, {2, 6}, {3, 7}, {4, 5}, {4, 6}, {5, 6},

(20)

St\x2, x1 00 01 11 10 Y - wyj´scie

1 5 3 2 1 0

2 5 3 1 4 0

3 3 4 4 5 1

4 5 3 2 2 0

5 6 7 1 1 0

6 3 3 1 7 0

7 7 1 1 5 1

potencjalne pary zgodne Pary, które powinny by´c zgodne Niezgodno´s´c 1 iteracja 2 iteracja {1, 2} {1, 2}, {1, 4}

{1, 4} {1, 2}

{1, 5} {5, 6}, {3, 7}, {1, 2} niezgodne bo{5, 6}

{1, 6} {3, 5}, {1, 2}, {1, 7} niezgodne bo{3, 5}

{2, 4} {1, 2}, {2, 4}

{2, 5} {5, 6}, {3, 7}, {1, 4} niezgodne bo{5, 6}

{2, 6} {3, 5}, {4, 7} niezgodne bo{3, 5}

{3, 7} {3, 7}, {1, 4}

{4, 5} {5, 6}, {3, 7}, {1, 2} niezgodne bo{5, 6}

{4, 6} {3, 5}, {1, 2}, {2, 7} niezgodne bo{3, 5}, {2, 7}

{5, 6} {3, 6}, {3, 7}, {1, 7} niezgodne bo{3, 6}, {1, 7}

A - stany {1, 2, 4} B - stany {3, 7} C - stan {5} D - stan {6}

(21)

Minimalizacja stanów - tablica uproszczona

• A - stany {1, 2, 4} B - stany {3, 7} C - stan {5} D - stan {6}

St\x2, x1 00 01 11 10 Y - wyj´scie

1 5 3 2 1 0

2 5 3 1 4 0

3 3 4 4 5 1

4 5 3 2 2 0

5 6 7 1 1 0

6 3 3 1 7 0

7 7 1 1 5 1

St\x2, x1 00 01 11 10 Y - wyj´scie

A C B A A 0

B B A A C 1

C D B A A 0

D B B A B 0

(22)

Systemy nie w pełni okre´slone

W systemach nie wpełni okre´slonych mo˙zemy si˛e zetkn ˛ a´c, gdy z tre´sci zadania wynika, ˙ze

• nie pojawia si˛e pewna kombinacja wej´s´c - np. gdy w zadaniu ze slajdu 10, punkt 3 układ b˛edzie liczył tylko przy kombinacji wej´s´c x

2

x

1

= 10 (tj. dla kombinacji wej´s´c x

2

x

1

= 01 zachowanie układu jest wówczas nieokre´slone),

• Przy kodowaniu stanów zostaj ˛ a "stany nadmiarowe" np. licznik mod 3 (wymaga 3 stanów, które mo˙zna zrealizowa´c na min. 2 przerzutnikach - 4 stany)

Przy minimalizacji stanów nieokre´slonych mo˙zemy nada´c im

dowolne warto´sci - tak jak nam wygodnie.

(23)

Automaty Meal’ego - uwagi

• W automatach Meal’ego wyj´scie nie jest jednoznacznie zwi ˛ azane ze stanem,

• W układach Meal’ego istnieje mo˙zliwo´s´c wi˛ekszej redukcji stanów kosztem bardziej rozbudowanej funkcji wyj´scia,

• Przy tworzeniu grafu warto´s´c wyj´scia zale˙ze´c b˛edzie od stany jak i

od wej´scia.

(24)

Zadania na ´cwiczenia

1. Zaprojektuj i zrealizuj, u˙zywaj ˛ac przerzutników typu D, automat Moore’a licz ˛acy mod3 wstecz tj. generuj ˛acy sekwencj˛e 10 - 01 - 00 gdy wej´scie jest równe 1. Pojawienie si˛e 0 na wej´sciu powinno powodowa´c wygaszenie wyj´s´c - oba wyj´scia powinny mie´c warto´s´c 0.

2. Dla zadania z punktu 1. zmie´n kodowanie stanów - u˙zyj kod stanu, który był pomini˛ety w poprzednim punkcie. Zaprojektuj i zrealizuj układ.

Cytaty

Powiązane dokumenty

[r]

[r]

[r]

[r]

[r]

Je´sli na wej´sciu pojawi ˛ a si˛e dwie jedynki układ powinien na przemian wł ˛ acza´c oba wyj´scia i wył ˛ acza´c oba wyj´scia dodatnim zboczem zegara C.. Logiczna

• Zmiana na linii danych podczas transmisji mo˙ze nast˛epowa´c jedynie, gdy linia zegara znajduje si˛e w stanie niskim (nie dotyczy bitu startu i bitu stopu). • Bit

Metoda najmniejszych kwadrat´ow przy ograniczeniach na parametry: mno˙zniki Lagrange’a. Seber, Linear Regression Analysis, New