Układy sekwencyjne asynchroniczne

Technika Cyfrowa 1 – Wykład 11

Automaty asynchroniczne stosuje się najczęściej w układach automatyki, gdzie układ powinien natychmiast zareagować na kaŜdą zmianę słowa wejściowego, a nie tylko na zmianę zaistniałą w chwilach czasowych dr inŜ. Sławomir Sambor

wyznaczonych taktem sygnału zegarowego

slawomir.sambor@pwr.wroc.pl

Proces projektowania automatów asynchronicznych jest trudniejszy, wymaga ITA, budynek C-5 pokój 708,

uwzględnienia pewnych niekorzystnych zjawisk, które mogą zakłócić Tel. 0 71 320 30 78

prawidłową pracę automatu.

Te zjawiska to:

http://zstux.ita.pwr.wroc.pl/slawek/

– wyścigi

– hazard (omówiony przy rozpatrywaniu układów kombinacyjnych) 1

Tablica przejść automatu asynchronicznego

Tablica przejść automatu asynchronicznego

Tablica przejść równieŜ opisuje przejścia pomiędzy stanami.

Automaty asynchroniczne mogą być, podobnie jak automaty synchroniczne, automatami typu Moore'a i automatami typu Mealy'ego. Interpretacja zmiany stanów jest jednak inna.

Przejścia następują natychmiast po zmianie słowa wejściowego bądź po zmianie W przypadku automatów synchronicznych zmiana stanu następowała w momencie pojawienia się impulsu stanu automatu, z szybkością wynikającą tylko z cech konstrukcyjnych elementów synchronizującego i automat pozostawał w nowym stanie aŜ do momentu przyjścia następnego impulsu składowych automatu

synchronizującego.

01

W automatach asynchronicznych zmiany stanu następują w momentach 11

zmiany stanu sygnałów wejściowych

S2

automat Mealu’go

00

00

01

11

10

10

10

S

S

1

3

10

11

01

automat Moore’a

00

00

S

brak stanu

4

11

stabilnego: generacja

01

Tablica przejść automatu asynchronicznego

Struktura automatu asynchronicznego

Automat asynchroniczny moŜe posiadać stany:

Automat asynchroniczny moŜna zrealizować na dwa sposoby:

– z wykorzystaniem asynchronicznych przerzutników RS

– stabilne, które nie zmieniają się pod warunkiem stałego słowa wejściowego

– budując bezpośrednio układy kombinacyjne ze sprzęŜeniem zwrotnym

– niestabilne, które zmieniają się natychmiast na inny stan, nawet gdy słowo wyliczające następne wartości bitów stanu automatu

wejściowe pozostaje stałe

• Stany niestabilne mogą być połączone nawzajem, automat wtedy stale będzie zmieniał swój stan przy niezmiennym słowie wejściowym – nazywamy to Struktura z przerzutnikami RS

automat Mealu’go

generacją

• Stany niestabilne mogą słuŜyć pośredniemu przejściu automatu w stan stabilny

automat Moore’a

Jeśli stany stabilne znajdują się w kaŜdym wierszu i kaŜdej kolumnie to moŜna stwierdzić, Ŝe automat jest sensowny.

Podstawy Techniki Cyfrowej i

Mikroprocesorowej

1

Wyścigi

Niezawodność działania automatów asynchronicznych

Elementy u

stany stabilne

Ŝyte do konstrukcji automatu mają swoją skończoną szybkość

działania. Elementy mogą się róŜnić od siebie szybkością działania, wynikającą choćby z rozrzutu parametrów produkcji.

Ta róŜnica w szybkości działania moŜe być przyczyną niekorzystnego zjawiska zwanego wyścigiem (ang. race).

Pierwsza kolumna:

3 wiersz:

jeśli szybciej zmienia się Q : 10 → 00 → 01

1

jeśli szybciej zmienia się Q : 10 → 11 → 10 – generacja

0

4 wiersz:

jeśli szybciej zmienia się Q : 11 → 01

1

jeśli szybciej zmienia się Q : 11 → 10 → 11 – generacja

0

Trzecia kolumna:

Jeśli Q szybszy od Q : X = 00: 01→11→01...

1 wiersz:

0

1

jeśli szybciej zmienia się Q : 00 → 10

Jeśli Q szybszy od Q : X = 00: 01→00→01...

1

1

0

jeśli szybciej zmienia się Q : 00 → 01 – wyścig krytyczny

0

Czwarta kolumna:

2 wiersz:

jeśli szybciej zmienia się Q : 01 → 11 → 10 → 00

1

jeśli szybciej zmienia się Q : 01 → 00 – wyścig niekrytyczny 0

Wyścigi

Wyścigi

Wyścigi mogą wystąpić tylko przy przejściach, w których powinna wystąpić zmiana Wykrywanie moŜliwości wystąpienia wyścigów ułatwia graf przejść na sześcianie stanu więcej niŜ jednego przerzutnika

(ang. cube) 2m-wymiarowym, gdzie sąsiednie wierzchołki sześcianu róŜnią się tylko jednym bitem (kod Graya) . Liczba stanów automatu n ma spełniać nierówność 2m-1

• Jeśli wyścigi powodują, Ŝe automat moŜe wykonywać róŜne przejścia przy

< n < 2m

róŜnych kombinacjach szybkości przerzutników wtedy mówimy o wyścigu krytycznym.

W grafie tym wierzchołki sześcianu (kwadratu) odpowiadają stanom. Stany koduje się tak aby kaŜda krawędź (bok) sześcianu (kwadratu) łączyła stany

• W najgorszym przypadku automat zacznie generować zamiast wejść w stan róŜniące się tylko jednym bitem w słowie stanu

stabilny. Wtedy wyścigi zupełnie uniemoŜliwiają prawidłową pracę automatu Przykład

• Jeśli automat przy danym stanie wejścia posiada stan stabilny, w którym zatrzyma się mimo występowania wyścigu mówimy o wyścigu niekrytycznym 00

01

• Eliminowanie wyścigów polega na takim doborze kodowania stanów lub dodania S

S

1

2

dodatkowych stanów przejściowych, aby w kaŜde pojedyncze przejście wiązało się ze zmianą stanu tylko jednego bitu słowa stanu automatu

S

S

4

3

10

11

Wyścigi

Nie zawsze sama zmiana kodowania stanów umoŜliwia likwidację wyścigów Niekiedy likwidacja wyścigów wymaga:

– wprowadzenia kodowania stanów na większej liczbie bitów niŜ to wynika z liczby stanów w tablicy przejść

– dodania stanów przejściowych pośredniczących w przejściach pomiędzy 1

stanami

– stany przejściowe powinny prowadzić do stanu docelowego niezaleŜnie 100

101

S

S

od słowa wejściowego automatu

1C

1B

000

001

S

S

1

2

110

111

S

S

5

1A

S

S

4

3

010

011

Podstawy Techniki Cyfrowej i

Mikroprocesorowej

2