Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Układy asynchroniczne
Model układu asynchronicznego x1 xn y1 ym Q1 Qk q1 qk UK układ kombinacyjny BP blok pamięci realizuje opóźnienia x x W automacie asynchronicznym wszystkie stany są stanami stabilnymi t s Tadeusz Łuba ZCB Stan stabilny s: (s,x) = s
2
Najprostszy układ asynchroniczny
SR q 00 01 11 10 – 1 Przerzutnik SR Q S Q Tadeusz Łuba ZCB R
3
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. x1x2 S 00 01 11 10 y 1 2 – 3 4 5 6 11 00 01 01 11 1/0 4/1 2/0 00 10 00 01 10 01 00 11 6/0 01 3/0 5/0 Tadeusz Łuba ZCB 11 10 11 10
4
Redukcja stanów . . . jest prosta a kodowanie . . . x1x2 S 00 01 11 10
y x1x2 S 00 01 11 10 y 1 2 – 3 4 5 6 A 1,2 1 2 4 3 B 4 – 6 4 3 1 C 3,5,6 1 6 5 3 x1x2 S 00 01 11 10 y A B C – 1 Tadeusz Łuba ZCB a kodowanie . . .
5
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 Tadeusz Łuba ZCB Y = Q2
6
Analiza działania układu asynchronicznego (1)
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 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 Tadeusz Łuba ZCB 1 < 2 Stan wewn. Stan następny Wyścig niekrytyczny!
7
Analiza działania układu asynchronicznego (2)
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 Tadeusz Łuba ZCB
8
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 Tadeusz Łuba ZCB 10 11 010 011 110 111
9
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. Tadeusz Łuba ZCB
10
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 -- - Tadeusz Łuba ZCB Q1’Q2’ Q1’ Q2’
11
Dlaczego dodano dodatkową pętlę – składnik ?
Funkcje wzbudzeń x1x2 Q1Q2 00 01 11 10 1 -- - Y = Q2 Q1’Q2’ Q1’ Q2’ Dlaczego dodano dodatkową pętlę – składnik ? Tadeusz Łuba ZCB Zjawisko hazardu
12
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! Tadeusz Łuba ZCB
13
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 - Tadeusz Łuba ZCB
14
Realizacja układu Y = Q2 Tadeusz Łuba ZCB
15
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 Tadeusz Łuba ZCB Q
16
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 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. Tadeusz Łuba ZCB
17
Jak jest zbudowany przerzutnik synchroniczny? (2)
Q 1 ? Przerzutnik typu D Clk Tadeusz Łuba ZCB
18
Przykład – synteza przerzutnika D
Synchroniczny przerzutnik typu D synchronizowany zboczem dodatnim Q 00 01 11 10 – 1 Tadeusz Łuba ZCB
19
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 Tadeusz Łuba ZCB
20
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) Tadeusz Łuba ZCB
21
Przykład c.d. Q1’ Q1’ (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 Tadeusz Łuba ZCB Q1’ Q1’
22
Przykład - realizacja Tadeusz Łuba ZCB
23
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 Tadeusz Łuba ZCB 011 001 010
24
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 Tadeusz Łuba ZCB
25
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 Tadeusz Łuba ZCB Q1’ Q2’Q3’ Y = Q1
26
Kodowanie „n 1” x1x2 Q1Q2Q3 00 01 11 10 000 001 011 – 010 1 110 111 101 100 Tadeusz Łuba ZCB
27
Kodowanie „n 1” x1x2 Q1Q2Q3 00 01 11 10 000 1 001 011 – 010 110 111 101 100 Pętla antyhazardowa Tadeusz Łuba ZCB
28
Kodowanie „n 1” x1x2 Q1Q2Q3 00 01 11 10 000 1 001 011 – 010 110 111 101 100 Tadeusz Łuba ZCB
29
Zadanie dodatkowe 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 11 5/0 10 11 00 10 Tadeusz Łuba ZCB 11 00 6/0 10 10
30
Zadanie c.d. 1/0 2/0 6/0 3/1 00 11 10 01 4/0 5/0 7/0 x1x2 S 00 01 11 10 y 1 – 2 6 5 3 4 7 Tadeusz Łuba ZCB
31
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 3 4 – 5,7 7 Automat minimalny x1x2 S 00 01 11 10 y A 1,6 D B 2,4 C – 1 5,7 Tadeusz Łuba ZCB
32
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 11 Tadeusz Łuba ZCB 10 01 01 D/0 B/0 10 00 00 10 11
33
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 – Tadeusz Łuba ZCB
34
Zadanie c.d. - realizacja
y x1 x2 Q1’ Q2’ Tadeusz Łuba ZCB
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.