Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Układy asynchroniczne
Model układu sekwencyjnego (synchronicznego) Model układu asynchronicznego x1 xn y1 ym Q1 Qk q1 qk UK układ kombinacyjny blok pamięci jest realizowany przez opóźnienia BP przerzutniki clock x x W automacie asynchronicznym wszystkie stany są stanami stabilnymi t s Stan stabilny s: (s,x) = s
2
Skala czasu x1 x2 x1 x2 Skala czasu (zegar) 00,01,11,10,00,01,11 x z1
z2 x2 x Skala czasu (zegar) xa x1 x2 x1 x2 00,01,11,10,00,01,11
3
Najprostszy układ asynchroniczny
SR q 00 01 11 10 – 1 Przerzutnik SR Q S Q R
4
Przykład Zaprojektować układ asynchroniczny o dwóch wejściach binarnych x1, x2 i jednym wyjściu y, który ma sygnalizować jedynką pojawienie się na wejściu sekwencji wektorów wejściowych ..., 00, 01, 11. Należy założyć, że jednoczesna zmiana dwóch sygnałów wejściowych jest niemożliwa. x1 x2 y 11 01 x1x2 S 00 01 11 10 y 1 2 – 3 4 5 6 00 01 11 1/0 4/1 2/0 00 10 00 01 10 01 00 01 11 6/0 3/0 5/0 11 10 11 10
5
Redukcja stanów . . . jest prosta a kodowanie . . . A B C x1x2 S 00 01
11 10 y x1x2 S 00 01 11 10 y 1 2 – 3 4 5 6 1,2 A B C 1 2 4 3 4 – 6 4 3 1 3,5,6 1 6 5 3 x1x2 S 00 01 11 10 y A B C – 1 a kodowanie . . .
6
Graf stanów automatu minimalnego
Kodowanie stanów . . . jest trudne x1x2 S 00 01 11 10 y A B C – 1 Kod stanu 11 00 00 11 01 A/0 B/1 01 10 00 10 01 C/0 x1x2 S 00 01 11 10 y A B – 1 (-) C 10 10 01 11 Graf stanów automatu minimalnego
7
Analiza działania układu asynchronicznego (1)
x1 x2 y Q1 Q2 q1 q2 Układ kombinacyjny (bez opóźnień) 1 2 Opóźnienia x1x2 S 00 01 11 10 y A B – 1 (-) C 1 1 1 > 2 1 < 2 0 1 0 1 0 0 1 1 1 0 1 0
8
Analiza działania układu asynchronicznego (2)
x1 x2 x1x2 S 00 01 11 10 y A B – 1 (-) C Układ kombinacyjny (bez opóźnień) y Q1 Q2 q1 q2 10 1 10 01 2 Opóźnienia Stan wejść 1 > 2 0 1 0 0 1 0 1 < 2 0 1 1 1 1 0 01 ––;00 00 Wyścig krytyczny! 1 > 2 11 ––;01 01 01 ––;10 01 01 ––;10 11 01 ––;10 10 1 < 2 Stan wewn. Stan następny Wyścig niekrytyczny!
9
Analiza działania układu asynchronicznego (3)
x1 x2 y Q1 Q2 q1 q2 Układ kombinacyjny (bez opóźnień) 1 2 Opóźnienia x1x2 S 00 01 11 10 y A B – 1 (-) C 10 10 Stan wejść 10 ––;10 00 10 ––;10 1 > 2 11 ––;01 01 10 ––;10 01 10 Wyścig niekrytyczny! 10 ––;10 11 10 ––;10 1 < 2 Stan wewn. Stan następny
10
Kodowanie stanów Aby uniknąć wyścigów krytycznych należy kodowanie przeprowadzić tak, aby kody stanów, pomiędzy którymi jest przejście, różniły się tylko na jednej pozycji. Np.: 000 001; 011 010; 111 101 itp.. Takie kodowanie zapewnia „rozpięcie” grafu stanów automatu na kwadracie lub sześcianie kodowym. 101 100 00 01 000 001 10 11 010 011 110 111
11
Kodowanie stanów 01 00 10 A/0 C/0 11 Kod stanu B/1 00 01 11 10 A B C 10 10 01 (-) (-) 01 11 x1x2 S 00 01 11 10 y A B – 1 (-) C Wyścig niekrytyczny można wykorzystać do właściwego kodowania stanów w układach asynchronicznych.
12
Tablice przejść Q1’Q2’ Q1’ Q2’ x1x2 S 00 01 11 10 y A B – 1 (-) C x1x2
B – 1 (-) C x1x2 Q1Q2 00 01 11 10 1 -- - Q1’Q2’ Q1’ Q2’
13
Wyznaczanie funkcji wzbudzeń
x1x2 Q1Q2 00 01 11 10 Y 1 -- - Q1’Q2’ Q1’ Q2’ Dlaczego dodano dodatkową pętlę – składnik ? Y = Q2 Zjawisko hazardu
14
Jest to hazard statyczny - szkodliwy w układach asynchronicznych!
Zjawisko hazardu 1 2 Przy Q1 = 1, x1 = 1, a przy zmianie x2: 1 0 na wyjściu Z powinna być stała 1 Na skutek opóźnienia sygnału w sygnale Z pojawia się krótki impuls o wartości 0. Jest to hazard statyczny - szkodliwy w układach asynchronicznych!
16
Zjawisko hazardu W układach asynchronicznych funkcje wzbudzeń muszą być realizowane w taki sposób, aby nie występował hazard statyczny. Wyrażenia boolowskie należy uzupełnić o składnik (nadmiarowy), odpowiadający pętli na tablicy Karnaugha, w taki sposób, aby każde dwie sąsiednie jedynki były objęte wspólną pętlą. x1x2 Q1Q2 00 01 11 10 1 -
17
Realizacja układu Y = Q2
18
Jak jest zbudowany przerzutnik synchroniczny? (1)
Q Clk R Jest to synchronizacja „szerokością impulsu” – latch (zatrzask) Strefa oddziaływania CLK Stan Q przerzutnika zmienia się dwukrotnie w czasie trwania okresu przebiegu zegarowego! S R Q
19
Problem synchronizacji
Przerzutniki tego typu mają prostą budowę, ale mogą służyć tylko do przechowywania (zatrzaskiwania) informacji. Nie mogą służyć do budowy synchronicznych układów sekwencyjnych. Prawidłowa synchronizacja powinna działać tak, aby w czasie trwania okresu przebiegu zegarowego sygnał wejściowy przerzutnika był odczytywany jeden raz, a stan przerzutnika zmieniał się także jeden raz – niezależnie od zmiany sygnałów wejściowych.
20
Jak jest zbudowany przerzutnik synchroniczny? (2)
Q 1 ? Przerzutnik typu D Clk
21
Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim
Przykład Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim Q 00 01 11 10 – 1
22
Przykład c.d. 11 01 Automat sterujący wytwarza na wyjściach Y1 lub Y2 sygnał 0 (włączający lub wyłączający przerzutnik ) tylko wówczas, gdy w sygnale Clk pojawi się zbocze synchronizujące, to jest zmiana Clk 0 1. D clk 00 10 11 2/01 00 10 1/11 Jeśli w tym momencie na wejściu D jest 1, to 0 pojawi się na wyjściu Y1 ( ) – przerzutnik zostanie włączony. 01 11 01 Jeśli na wejściu D jest 0, to 0 pojawi się na wyjściu Y2 ( ) – przerzutnik zostanie wyłączony 00 10 3/10
23
Zakodowana tablica p-w
Przykład c.d. Tablica przejść-wyjść D,clk S 00 01 11 10 Y1Y2 1 3 2 (clk c) D,c Q1Q2 00 01 11 10 Y1Y2 -- (2) 01 (1) 11 (3) 10 Zakodowana tablica p-w (kody stanów takie same, jak wyjścia Y1, Y2)
24
Przykład c.d. Q1’ Q2’ (clk c) Q1’ Q2’ D,c Q1Q2 00 01 11 10 Y1Y2 --
(2) 01 (1) 11 (3) 10 Q1’ Q2’ D,c Q1Q2 00 01 11 10 - (2) 01 1 (1) 11 (3) 10 D,c Q1Q2 00 01 11 10 - (2) 01 1 (1) 11 (3) 10 Q1’ Q2’
25
Przykład - realizacja
26
Zadanie Zaprojektować asynchroniczny układ o wejściach x1 i x2 wyjściu y pracujący w następujący sposób: y=1 gdy x1=x2=1 i przedostatnia zmiana sygnału wejściowego była zmianą na wejściu x1. W pozostałych przypadkach y=0. Zmiana przedostatnia 11 01 11/1 00 10 Zmiana ostatnia 01 7/0 11 00 00 01 01 11 01 11 10 00 01 11 1/0 3/1 2/0 4/0 5/0 10 11 00 10 11 00 6/0 10 10
27
Zadanie c.d. 01 7/0 11 00 00 01 01 11 01 11 10 00 01 11 1/0 3/1 2/0 4/0 00 5/0 10 11 10 11 00 x1x2 S 00 01 11 10 y 1 – 2 6 5 3 4 7 6/0 10 10
28
Zadanie c.d. Minimalizacja Automat minimalny x1x2 S 00 01 11 10 y 1 –
6 5 3 4 7 x1x2 S 00 01 11 10 y 1,6 5 2 1 6 2,4 5 2 3 4 3 – 2 6 1 5,7 5 7 1 4 Automat minimalny x1x2 S 00 01 11 10 y A 1,6 D B 2,4 C – 1 5,7
29
Zadanie c.d. Kodowanie x1x2 S 00 01 11 10 y A D B C – 1 x1x2 S 00 01
C – 1 x1x2 S 00 01 11 10 y A 00 C 01 – 1 B 11 D 10 01 01 11 00 01 10 11 A/0 C/1 10 01 11 00 01 01 Wyścig Krytyczny! 11 10 01 01 D/0 B/0 10 00 00 10 11
30
Zadanie c.d. Synteza kombinacyjna Q1’ Q2’ x1x2 Q1Q2 00 01 11 10 y – 1
– 1 Synteza kombinacyjna Q1’ Q2’ x1x2 Q1Q2 00 01 11 10 1 – x1x2 Q1Q2 00 01 11 10 1 –
31
Zadanie c.d. - realizacja
y x1 x2 Q1’ Q2’
32
Kodowanie metodą „n1” Liczba stanów automatu wynosi n. Długość wektora kodowego ustalamy na n 1. Jeden stan kodujemy wektorem złożonym z samych zer. Pozostałe stany kodujemy wektorami z jedną jedynką. Między każde dwa stany S, T kodowane wektorami z jedną jedynką wstawiamy stan niestabilny R o wektorze kodowym R = S T A: 000 C: 100, B: 010, D: 001 110 x1x2 S 00 01 11 10 y A D B C – 1 10 B/0 01 D/0 00 C/1 11 A/0 000 100 110 011 001 010
33
Modyfikacja tablicy p-w
Kodowanie „n 1” 10 B/0 01 D/0 00 C/1 11 A/0 000 100 001 010 011 110 Modyfikacja tablicy p-w x1x2 Q1Q2Q3 00 01 11 10 y A 000 D B 010 C 100 – 1 001 110 011 E F E E F F E B C F D B
34
Zakodowana tablica p-w
Kodowanie „n 1” Zakodowana tablica p-w x1x2 Q1Q2Q3 00 01 11 10 y A 000 001 010 D 011 F – B 110 E 100 (-) 111 101 C 1 Q1’ Q2’Q3’ Y = Q1
35
Kodowanie „n 1” Q1’ x1x2 Q1Q2Q3 00 01 11 10 000 001 011 – 010 1 110
001 011 – 010 1 110 111 101 100
36
Kodowanie „n 1” Q2’ x1x2 Q1Q2Q3 00 01 11 10 000 1 001 011 – 010 110
1 001 011 – 010 110 111 101 100 Pętla antyhazardowa
37
Kodowanie „n 1” Q3’ x1x2 Q1Q2Q3 00 01 11 10 000 1 001 011 – 010 110
001 011 – 010 110 111 101 100
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.