Technika Cyfrowa 1 Wykład 4: Układy Sekwencyjne
Transkrypt
Technika Cyfrowa 1 Wykład 4: Układy Sekwencyjne
JS TC1 III UKŁADY SEKWENCYJNE JS TC1 1 WPROWADZENIE Technika Cyfrowa 1 • Przypomnienie: ¾ układy kombinacyjne: Yi = f( Xi ) Wykład 4: Układy Sekwencyjne ¾ układy sekwencyjne: Yi = f(X1, X2, ... Xi ) • Układ „pamięta” pobudzenia wcześniejsze ⇒ „pamięć” – stan układu – zbiór sygnałów binarnych, tzw. zmiennych stanu. • Skończona liczba zmiennych stanów ⇒ skończony zbiór stanów ⇒ automat skończony (automaty nieskończone rozważane w teorii automatów). dr inż. Jarosław Sugier [email protected] • Ogólnie: przełączanie układu może zależeć od (często niestałych) zależności czasowych wprowadzonych przez dodanie sprzężeń zwrotnych. Alternatywa: przełączanie układu synchronizuje się dodatkowym sygnałem (-ami) synchronizującym (-ymi). IIAR, pok. 227 C-3 • Automaty synchroniczne a asynchroniczne, sposoby synchronizacji pracy… 4-1 Idea pracy: I Q Q = 1 ⇒ „nie było zbocza opadającego sygnału I”, Q = 0 ⇒ „wykryto zbocze opadające sygnału I”, + sygnał inicjujący (ustawiający Q = 1) => powstaje kompletny układ detekcji zbocza opadającego. Przykład 1: Q I Q’ = I ⋅ Q Q’ – stan „następny”, „nowy” w stosunku do aktualnego Q. Q’ 0 Q Analiza pracy: Przykład 2: 1) Jeśli I = 0: Q’ = Q ⋅ 0 = 0 – stan jednoznacznie określony jak w układach kombinacyjnych = STAN STABILNY Q’ = /(I ⋅ Q) Analiza pracy: Ze względu na stan bistabilny ten układ NIE jest już kombinacyjny. 4-3 S /Q 1) Jeśli I = 0: Q’ = /(Q ⋅ 0) = /0 = 1 - stan stabilny j.w. 2) Jeśli I = 1: Q’ = /(Q ⋅ 1) = /Q - sprzeczność = STAN ASTABILNY W poprawnych projektach automatów stany astabilne NIE powinny wystąpić. JS TC1 1.2 Asynchroniczny przerzutnik RS Q Q I 2) Jeśli I = 1: Q’ = Q ⋅ 1 = Q – też stan poprawny, równy 0 lub 1 w zależności od stanu poprzedniego (tu układ pamięta swój stan) = STAN BISTABILNY R JS TC1 JS TC1 1.1 Sprzężenie zwrotne a układ kombinacyjny I 0 1 4-2 4-4 JS TC1 S R Q /Q 0 0 Q /Q 0 1 0 1 1 0 1 0 1 1 0 0 Typ pobudzenia: - „pamiętaj” stan - kasuj (reset) - ustaw (set) - pobudzenie sprzeczne • Dokładna analiza pracy – tzw. grafy przejść: dla założonych stanów początkowych bramek Q i /Q oraz danych pobudzeń R i S bada się lawinę zmian stanów oraz stany końcowe. • W tym przypadku wszystkie kombinacje stanów początkowych Q / /Q oraz pobudzeń R / S prowadzą do osiągnięcia stanów stabilnych bądź bistabilnych; nie ma niebezpieczeństwa stanów astabilnych. Opis układu: • Z analizy powstaje następująca tabela pracy układu: Jest to elementarny, w pełni funkcjonalny układ sekwencyjny zdolny do pamiętania 1 bitu informacji. S R Q /Q 0 0 Q /Q 0 1 0 1 1 0 1 0 1 1 0 0 • Q, /Q – stan przerzutnika; wyjście /Q jest negacją wyjścia Q – tzw. wyjścia komplementarne; • S (SET) – wejście ustawiające, aktywne stanem 1; • R (RESET) – wejście kasujące , aktywne stanem 1. stan bistabilny ! Uwaga: Jednoczesny stan aktywny obu wejść S oraz R jest zabroniony dlatego, bo wówczas wbrew zasadzie komplementarności: Q = /Q = 0 stany stabilne 4-5 4-6 1 JS TC1 Realizacja dualna na bramkach NAND: Przykład: eliminacja drgań styków (debouncing) JS TC1 Problem: styk po przełączeniu drga w nowym położeniu przez kilka – kilkadziesiąt ms. /S Q +Vcc I1 (/S) /Q /R /S Q I1 /S 0 0 1 1 /R 0 1 0 1 Q 1 1 0 Q I2 (/R) O1 (Q) I2 /Q 1 0 1 /Q O1 /Q /R O2 O2 (/Q) Uwagi: 1) Na wykresie pominięto opóźnienia czasowe. 2) Przyjmujemy tzw. logikę dodatnią sygnałów napięciowych: 0V≡ „logiczne 0”, +Vcc ≡ „logiczne 1” • Tu wejścia ustawiające i kasujące są aktywne stanem niskim. 3) W drganiach występuje jednoczesny stan wysoki => zastosowano przerzutnik RS na bramkach NAND 4) Gdyby występował jednocześnie stan 0 – przerzutnik na NOR. 4-7 2. UKŁADY SEKWENCYJNE – OPIS FORMALNY 4-8 JS TC1 JS TC1 Przy tak określonych alfabetach, pracę układu sekwencyjnego opisują dwie funkcje: X X = < x0, x1, ... xn–1> UKŁAD CYFROWY Y - wektor n binarnych sygnałów WE Y = < y0, y1, ... ym–1> - wektor m binarnych sygnałów WY X = {X1, X2, ... XN} - zbiór stanów (słów) WE (N ≤ 2n); alfabet WE Y = {Y1, Y2, ... YM} A = {A1, A2, ... AK} - zbiór stanów (słów) WY (M ≤ 2m); alfabet WY - zbiór stanów wewnętrznych; alfabet wewnętrzny 1) δ : A × X → A - tzw. funkcja przejść: podaje stan następny, do którego automat ma przejść w zależności od stanu bieżącego oraz pobudzenia na wejściu układu; δ (A, X) = A’. 2) λ : A × X → Y - tzw. funkcja wyjść: podaje stan wyjść układu w funkcji stanu bieżącego oraz pobudzenia na wejściu układu; λ(A, X) = Y. UWAGA: jest to sformułowanie funkcji wyjść dla najbardziej ogólnej postaci tzw. automatu Mealy’ego. Układ cyfrowy – AUTOMAT – definiuje się jako piątkę: Stan wewnętrzny jest reprezentowany wektorem bitowym: K ≤ 2k A = < Q0, Q1, ... Qk–1>, gdzie sygnały binarne Qi symbolizują stan elementarnych układów pamięci – przerzutników. A = (A, X, Y, δ, λ ). 4-9 4-10 JS TC1 2.1 Automaty Mealy’ego vs. Moore’a JS TC1 2.2 Komentarze 1) Rozważamy zbiory A, X, Y wyłącznie skończone => AUTOMAT SKOŃCZONY. Skoro stany wewnętrzne A zależą od stanów WE X, możliwe jest inne sformułowanie funkcji wyjść λ: 2) δ:A×X→A λ:A→Y - tzw. automat Moore’a: stan WY zależy wyłącznie od stanu wewnętrznego automatu (nie od stanu WE). δ i λ są funkcjami => AUTOMAT DETERMINISTYCZNY. Automat niedeterministyczny: więcej niż jeden następny stan wewnętrzny; automaty probabilistyczne. 3) Jeśli |A| = 1 (tylko jeden stan wewnętrzny – nieistotny) => pozostaje tylko funkcja wyjść: λ:A×X→Y Uwagi: ⇓ (skoro |A| = 1...) 1) Dla każdego automatu Mealy’ego można podać równoważny mu (w sensie generowanych odpowiedzi na WY) automat Moore’a i na odwrót. λ:X→Y - Y = λ( X ), układ kombinacyjny! Układy kombinacyjne są formalnie definiowane jako automaty o jednoelementowym zbiorze stanów wewnętrznych. 2) Zaleta automatów Moore’a: odseparowanie WY od (być może przypadkowych) zmian sygnałów WE. 3) Automaty synchroniczne: w wersji Moore’a stan WY zmienia się także synchronicznie, w wersji Mealy’ego – nie (bo zależy od zmian WE, które ogólnie mogą być asynchroniczne). 4-11 4-12 2 JS TC1 JS TC1 2.3 Struktury automatu 2.4 Analiza dynamiczna pracy automatu Wynikają z opisu równaniami przejść / wyjść. Dla automatów Mealy’ego: X δ A λ Y ⇒ X γ B ΚΟΜΒ. µ A λ Y • Pracę bloków kombinacyjnych λ oraz γ można opisywać jak dotychczas – z pominięciem czasu: PAM. Y = λ(A, X), B = γ (A, X). • W bloku opisanym funkcją δ można wyróżnić część z elementami pamięci µ (o sygnale wyjściowym A) oraz kombinacyjną część pomocniczą γ, przygotowującą sygnały sterujące elementy pamięciowe (ozn. B). • Nie można tak opisywać pracy układu z blokiem pamiętającym: Dla automatów Moore’a: • Najczęściej wartości τ i analiza dynamiczna nie będzie nas interesować i będziemy oznaczać: X δ A λ Y ⇒ X γ ΚΟΜΒ. B µ A PAM. δ ( A(t), X(t) ) = A(t+τ). gdzie τ = zwłoka wprowadzana przez układ cyfrowy realizujący funkcję δ. A(t+τ) = A’, δ ( A, X ) = A’. Y λ 4-13 JS TC1 • Dla współczesnych elementów τ jest rzędu nanosekund (10-9s) ⇒ możliwa lawina zmian stanów w układzie: 4-14 JS TC1 3. SYNCHRONIZACJA PRACY AUTOMATÓW SEKWENCYJNYCH Cel: zmiany stanu wewnętrznego automatu następują tylko w momentach wyznaczonych sygnałem (-ami) taktującym (-ymi). δ ( A0, X0 ) = A1 → δ ( A1, X0 ) = A2 → δ ( A2, X0 ) = A3 ... • Występuje specjalny sygnał wejściowy (sygnał zegarowy, CLK), którego przebieg (np. zbocza narastające) wyznacza momenty przełączania się układu: w tych momentach próbkowane są wartości sygnałów i następuje odpowiednie przełączenie się stanu wewnętrznego. • Definicja: Stan Ak automatu nazywamy stabilnym ⇔ ∀ Ai, Xj : δ ( Ai, Xj ) = Ak ⇒ δ ( Ak, Xj ) = Ak • Poza nimi stan sygnałów kombinacyjnych w układzie (X, B) jest nieistotny, a stan elementów pamięciowych (A) nie zmienia się – taki jest ideał. Przy projektowaniu automatów asynchronicznych wymaga się, aby wszystkie stany były stabilne. • Impulsy taktujące dzielą ciągły czas na odcinki (zwane taktami) – dyskretyzacja / kwantowanie czasu: • Wady automatów asynchronicznych: kłopotliwa analiza zależności czasowych, problemy z ich spełnieniem w rzeczywistych układach cyfrowych, problemy ze stabilnością ⇒ aby tego uniknąć wprowadza się synchronizację pracy układu cyfrowego. lub: t = 0, 1, 2, ... δ ( A(t), X(t) ) = A(t+1), Y(t) = λ( A(t), X(t) ) µ( B(t) ) = A(t+1), B(t) = γ ( A(t), X(t) ), Y(t) = λ( A(t), X(t) ). 4-15 4-16 JS TC1 JS TC1 3.1 Bramkowanie sygnałów WE Przerzutnik typu zatrzask, ang.: LATCH. Na przykładzie przerzutnika RS (NOR): Zalety synchronizacji: • prostsza analiza pracy ⇒ prostsze projektowanie (nie ma lawiny zmian stanów); • praca nie zależy od spełnienia zależności czasowych, większa stabilność; • stan sygnałów poza momentami przełączania się nieistotny ⇒ odporność na zakłócenia impulsowe, hazardy itp. R Q CLK S Zasada: „zmiany stanu wewnętrznego tylko w momentach wyznaczonych...” – jest pewnym ideałem. W praktyce chodzi przede wszystkim o usunięcie groźby lawinowego przełączania się układu jak to jest w pracy asynchronicznej - stąd proponuje się różne METODY SYNCHRONIZACJI układu cyfrowego. /Q CLK R S Q • Gdy CLK = 0 (a więc od momentu zbocza opadającego CLK) sygnały R i S są odcinane od przerzutnika, jego stan jest „zamrażany” – ZATRZASKIWANY. • Lawina przełączeń stanu wciąż możliwa, gdy CLK = 1!! Dlatego: • Zastosowanie: - NIE przerzutniki reprezentujące stan wewnętrzny automatu, ale: - bufory, komórki pamięci 4-17 4-18 3 JS TC1 3.2 Praca dwuzboczowa (Master-Slave) JS TC1 CLK Układy wyzwalane poziomem: LEVEL-TRIGGERED CIRCUITS. S Bramkowanie WE + wstrzymanie zmian stanu aż do momentu zbocza opadającego CLK. R R QM S /QM QM Q Q • Gdy CLK = 1 zmiany WE ustawiają odpowiednio przerzutnik Master (QM), ale nie przenoszą się na wyjścia Q / /Q. /Q CLK • Efekt końcowy: stan przerzutnika zmienia się „w momencie” zbocza opadającego CLK („50% idei pracy synchronicznej”). SLAVE MASTER Idea: • dwa kaskadowo połączone przerzutniki: Master (nadrzędny) i Slave (podrzędny), • przerzutnik Master bramkowany sygnałem CLK, Slave - /CLK. 4-19 • Wada takiego rozwiązania: stan WE R, S jest badany przez cały odcinek czasu gdy CLK = 1, a nie tylko „w momencie” zbocza opadającego CLK. • Konsekwencja: przełączenie układu mogą zakłócić pojawiające się zakłócenia impulsowe (np. drugi impuls S = 1 mógł być takim zakłóceniem) – tzw. efekt „łapania jedynek” w przerzutnikach MS. 4-20 JS TC1 3.3 Pełna praca synchroniczna Układy wyzwalane zboczem: EDGE-TRIGGERED CIRCUITS. • Wejścia układu są „próbkowane” w określonych momentach (np. zbocza narastającego CLK), a zmiana stanu przerzutnika następuje „natychmiast” potem. • W rzeczywistości: „moment” próbkowania WE to przedział czasowy wyznaczony parametrami układu: tS = time set – minimalny czas konieczny dla ustalenia się sygnału WE przed pojawieniem się zbocza przełączającego; tH = time hold – wymagany minimalny czas utrzymania sygnału WE po pojawieniu się zbocza przełączającego; może wynosić zero; τ – czas przełączania się układu. CLK WE Q tS tH τ 4-21 4