Ukl log sekw(TAK4)


Temat:
Sekwencyjne układy cyfrowe.
Rozdziały wykładu:
1. Ogólny model sekwencyjnych układów cyfrowych
2. Przerzutniki
3. Rejestry
4. Liczniki
5. Układy cyfrowe programowalne u użytkownika
Ogólny model sekwencyjnych układów cyfrowych
" W modelu sekwencyjnego układu cyfrowego, oprócz wejść i wyjść,
występuje tzw. stan układu, (ang. state, status)
" Stan układu zmienia się po każdej zmianie sygnałów na wejściach i
jest pamiętany w układzie do kolejnej zmiany sygnałów na
wejściach.
" Sygnały wyjściowe w danej chwili zależą od sygnałów na wejściach
układu oraz od stanu układu.
" Stan układu jest wynikiem całej sekwencji sygnałów, które były
podawane na wejścia w chwilach poprzednich, od początku
działania układu czyli od tzw stanu początkowego.
Układy sekwencyjne stale pamiętają swoje stany - są to układy z
pamięcią, w odróżnieniu od układów kombinacyjnych, które pamięci
nie majÄ….
Układ sekwencyjny jest modelowany (przedstawiany na poziomie
abstrakcji opisującym zależności między ich wejściami, wyjściami i
stanami) w postaci tzw. automatu (ang. automaton).
Automat opisywany jest dwiema funkcjami:
a) funkcja przejść, która podaje zależność stanu w chwili następnej od
stanu bieżącego i wartości na wejściu,
b) funkcji wyjścia, która podaje zależność wyjścia od stanu bieżącego
i wartości na wejściu,
W zależności od sposobu działania tych funkcji przejść i wyjścia
rozróżniamy dwa typy automatów i tym samym układów
sekwencyjnych:
a) automat Mealy ego, w którym wyjście zależy od stanu automatu i
wejścia,
b) automat Moore a, w którym wyjście zależy jedynie od stanu
automatu, a wiec przejście do określonego stanu określa sygnały na
wyjściu.
Obydwa automaty mogą być przedstawione są w postaci schematu
blokowego
S
P S
Y
P W
Y
W
X
X
t t t t
Y = W(S , X ) Y = W(At )
t+Ä t t+Ä t
S = P(St , X ) S = P(St , X )
a) automat Mealy ego b) automat Moore a
Wejścia X, wyjścia Y, stan S, funkcja przejść P, funkcja wyjść W.
Przerzutnik
" Najprostszy rodzaj układu sekwencyjnego - przerzutnik (ang. flip-
flop).
" Nazwa pochodzi od przechodzenia między dwoma stanami, które
może on przebywać.
" Dla potrzeb binarnych układów cyfrowych, stany te kodowane są
cyframi 0 i 1.
" Przerzutniki służą więc do przechowywania i zapamiętywania
pojedyńczych bitów informacji.
Działanie przerzutników opisywane jest tablicami prawdy, w których
podana jest funkcja przejść i wyjść.
Przerzutniki są automatami typu Moore a a więc w przerzutnikach -
stan układu jednoznacznie określa wartość sygnału na wyjściu.
Przerzutniki możemy budować za pomocą odpowiednio połączonych
bramek logicznych.
Przerzutnik RS
Najprostszym przerzutnikiem jest przerzutnik RS (od swoich wejść R,
S - ang. Reset, Set  zeruj, ustaw na jedynkÄ™).
R
Q
Q
S
Sn Rn Qn+1
0 0 Qn
R
S Q
0 1 0
S
1 0 1
R
Q
1 1 s.n.
a) symbol
b) tablica przejść c) wykres czasowy
graficzny
Sprzężenie zwrotne powoduje, że stany przerzutnika są stabilne (tzn.
nie ulegają nie kontrolowanym wahaniom) i co więcej utrzymują się
nie zmienione po usunięciu sygnałów (1) na wejściach.
Ta własność powoduje o, że przerzutniki są używane w układach
cyfrowych do budowy podstawowych układów pamiętających.
Przerzutniki maja zwykle dwa wyjścia: proste i zanegowane
reprezentujące prosty i zanegowany stan przerzutnika, (będziemy
oznaczać je Q, Q).
Do budowy przerzutnika RS można użyć też innych bramek, niż
pokazane na rysunku powyżej, np. NAND.
Sposób działania przerzutnika RS przy zmianie jego sygnałów
wejściowych można prześledzić na rysunku poniżej.
1 jednocześnie na R i S jest niedozwolone - niestabilna praca układu.
R=0
R=0
Q=0
Q=1
Q=1
Q=0
S=0
S=1
(a) stan poczÄ…tkowy (b) stan po zmianie S na 1
R=0
R=1
Q=1
Q=0
Q=0
Q=1
S=0
S=0
(c) stan po zmianie S na 0 (d) stan po zmianie R na 1
Synchronizowany przerzutnik RS.
Zmiana stanu układu może nastąpić tylko przy obecności aktywnego
sygnału (np. 1) na wejściu zegarowym.
R
R'
Q
C
S' Q
S
C
Sn Rn Qn+1
0 0 Qn
R
S Q
0 1 0
C
1 0 1
S
R
1 1 s.n.
Q
a) symbol graficzny b) tablica przejść c) wykres czasowy
Przerzutnik  master-slave (nadrzędny-podrzędny)
Dwustopniowy przerzutnik nazywany z angielska  master-slave 
który pozwala na zapis w przerzutniku nowej informacji bez niszczenia
aktualnie przechowywanej.
Wymagany przy asynchronicznie nadchodzÄ…cych nowych
informacjach, które chcemy zapamiętać, korzystając z bieżącej
informacji zapisanej w przerzutniku.
Przerzutnik I Przerzutnik II
Swe
S Q
S
wy
C
C
Qwy
R
R R
we
Z
Przerzutnik  master-slave składa się z dwu kaskadowo połączonych
przerzutników synchronizowanych RS.
Gdy drugi przerzutnik stabilnie przechowuje poprzednio wprowadzona
informację, wejścia pierwszego przerzutnika mogą ulec zmianie ale
nowa informacja może być w nim zapamiętana dopiero przy podaniu
rosnÄ…cego zbocza impulsu zegarowego. Wtedy stan drugiego
przerzutnika nie ulega zmianie.
OpadajÄ…ce zbocze impulsu zegarowego powoduje przepisanie stanu
pierwszego przerzutnika do drugiego. Pierwszy przerzutnik staje siÄ™
wtedy gotowy do przyjęcia nowej informacji.
Przerzutnik D.
Jest on powszechnie używany do budowy rejestrów.
Przerzutnik ten ma tzw. wejście ustawiające D oraz wejście zegarowe
(wyzwalajÄ…ce) C.
Jego nazwa pochodzi od angielskiego słowa  Delay - opóznienie,
gdyż powtarza on na swoim wyjściu Q wartość sygnału na D z
opóznieniem określonym przez pojawienie się zbocza sygnału na
wejściu C.
W zależności od budowy (rodzaju użytych bramek), przerzutnik D
może być wyzwalany rosnącym albo opadającym zboczem sygnału
C.
C
R
R'
D
Q
C
Q
S' Q
D
S
Q
t2
t1 t3 t4
czas
a) Układ przerzutnika b) Wykres czasowy
Q
Q
Wejście Wyjście
D Q(t+1)
00
11
C D
Oznaczenie graficzne Tablica wartości logicznych
Przerzutnik typu D
D Q
D Q
C
C
Q
Q
a) Wyzwalany zboczem narastajÄ…cym b) Wyzwalany zboczem opadajÄ…cym
Przerzutnik T
Jego nazwa pochodzi od angielskiego słowa  toggle  przełącznik.
Ma dwa wejścia: zezwalające T i wyzwalające (zegarowe) Z.
Zmienia swój stan na przeciwny pod wpływem sygnału zegarowego Z
(rosnące zbocze) w obecności aktywnego sygnału (1) na wejściu T.
Używany często do budowy liczników.
Q
Q
Wejście Wyjście
T(t) Q(t+1)
0 Q(t) bez zmian
T
Z
Q(t)
1 (negacja)
1
0
Oznaczenie graficzne Tablica wartości logicznych
Rejestry
Rejestr (ang. register) służy do przechowywania (pamiętania) ciągów
bitów informacji.
Rejestry są budowane z przerzutników, przeważnie połączonych przy
pomocy pewnej liczby bramek logicznych.
Poszczególne bity informacji zapamiętywane są w przerzutnikach,
które nazywane są pozycjami lub stopniami rejestru
Pod względem sposobu działania wyróżniamy trzy rodzaje rejestrów:
rejestry równoległe (ang. parallel registers) , do których zapis i
odczyt odbywa się równolegle na wszystkich pozycjach,
rejestry szeregowe czyli przesuwne (ang. serial registers lub shift
registers), w których zapis i odczyt informacji odbywa się szeregowo
 bit po bicie na wybranych pozycjach,
rejestry szeregowo-równoległe (ang. serial/parallel registers), w
których zapis i odczyt może odbywać się szeregowo lub równolegle.
Schemat logiczny rejestru równoległego
B2
B1
B0 B3
Odczyt
D D
D Q Q Q D Q
C C
C C
Q Q Q Q
Zapis
I2
I1 I3
I0
Jest zbudowany jest z 4 przerzutników D pracujących równolegle.
Zapis następuje po równoległym podaniu bitów danych i na wejścia D
przerzutników oraz sygnału wyzwalającego  zapis doprowadzonego
równolegle do wszystkich przerzutników.
Odczyt jest sterowany sygnałem  odczyt , który otwiera bramki  I
podłączone do wyjść wszystkich przerzutników.
Schemat logiczny rejestru szeregowego (przesuwnego).
Q2 Q1
Q0
Q3
Dane
D Q D Q D Q D Q
C C C C
Q Q Q Q
Zegar
Rejestr ten jest zbudowany wyłącznie z przerzutników D.
Zapis następuje przez podawanie kolejnych bitów informacji na
wejście D pierwszego przerzutnika od lewej wraz z sygnałami
zegarowymi  zegar .
Po każdym impulsie sygnału zegarowego, informacja w rejestrze
przesuwa siÄ™ o jedna pozycjÄ™ w prawo.
Odczyt informacji następuje przez podawanie sygnałów na wejście
 zegar .
Wyjście Q0 rejestru można podłączyć, poprzez odpowiednie bramki
pośredniczące do wejścia D lewego skrajnego przerzutnika. Wtedy
otrzymujemy tzw. cykliczny rejestr przesuwny
W tym rejestrze przesuwana informacja nie jest tracona (jak w
poprzednim przypadku), lecz jest zachowana w obrębie rejestru w
przesuniętej postaci.
Taki rejestr może służyć jako generator zadanego ciągu impulsów. Ten
ciąg trzeba najpierw wpisać do rejestru a potem można go
wielokrotnie wykorzystywać.
Rejestr szeregowo/równoległy.
Jego schemat, jest połączeniem schematu rejestru równoległego i
szeregowego.
Informacja rejestru może być wpisana albo odczytana równolegle lub
szeregowo, poprzez podawanie odpowiednich sygnałów sterujących.
Rejestry tego typu sÄ… wykorzystywane przede wszystkim do konwersji
(zamiany) postaci przesyłanej informacji  z szeregowej na równoległą
lub odwrotnie z równoległej na szeregową.
Rejestr taki może też być łatwo zmodyfikowany na cykliczny rejestr
szeregowo/równoległy.
Najpierw dany ciąg bitów jest równolegle wpisywany do rejestru a
potem jest szeregowo wyprowadzany na wyjście skrajnego
przerzutnika w rejestrze.
Z szeregu równolegle ustawionych przerzutników typu  master-slave
zbudować możemy rejestr równoległy  master-slave .
Pozwalają one tymczasowo zapamiętywać w rejestrze nową informację
równoległą, podczas gdy stara, zapamiętana poprzednio, informacja
jest jeszcze wykorzystywana przez inne układy komputera.
Nową informację wprowadzamy na trwałe do rejestru wtedy, gdy stara
nie jest już potrzebna.
W schematach blokowych komputerów rejestry przedstawia się jako
wÄ…skie prostokÄ…ty (puste lub podzielone na mniejsze prostokÄ…ty
odpowiadające stopniom), do których doprowadzono strzałki
odpowiadające wejściu i wyjściu rejestru.
Wejścia (wyjścia) szeregowe rejestrów rysowane są jako cienkie
strzałki.
Wejścia (wyjścia) równoległe rejestrów rysowane są jako grube
strzały.
Szeregowe drogi przesyłania informacji rysowane są w tych
schematach jako linie cienkie a drogi równoległe jako linie grube.
Często wiele rejestrów jest połączonych wspólną drogą przesyłania
informacji.
Taka droga a właściwie urządzenie pozwalające na przesyłanie
informacji między wieloma rejestrami lub innymi urządzeniami
pamiętającymi lub przetwarzającymi nazywane jest szyną albo
magistralÄ… (ang. bus).
W zależności od sposobu przesyłania bitów informacji rozróżniamy
szyny szeregowe i szyny równoległe (ang. serial bus, parallel bus).
Tylko jedno urządzenie np. rejestr może nadać informację do szyny.
Natomiast wiele urządzeń może czytać nadaną informację na raz.
Dostęp do szyny jest koordynowany przez tzw. arbitra szyny czyli
urządzenie odbierające zgłoszenia urządzeń na nadawanie i
przydzielajÄ…cego im szynÄ™ zgodnie z pewnÄ… ustalonÄ… strategiÄ…
rozstrzygania konfliktów zgłoszeń.
Zwykle zgłoszenie i adres odbiorcy zawarte są w nagłówku
przesyłanej informacji. Wszyscy odbiorcy czytają przesyłany
nagłówek, dekodują go i tylko te urządzenia, których przesłanie
dotyczy, wczytują do siebie przesyłaną informację.
Na schematach blokowych komputerów szyny równoległe rysowane są
grubymi liniami lub podwójnymi liniami.
Szyny szeregowe rysowane sÄ… pojedynczymi liniami.
Liczniki
Liczniki są bardzo ważnym rodzajem układów sekwencyjnych.
Zasadniczą częścią licznika jest ciąg przerzutników, których stany
stanowiÄ… stan licznika.
Licznik przechodzi od stanu do stanu pod wpływem kolejnych
impulsów podawanych na jego wejście zliczające.
Strukturę licznika projektuje się w taki sposób, aby stany licznika
zmieniały się w zadany sposób czyli przebiegały przy kolejnych
impulsach wejściowych zadaną sekwencję stanów.
Tę zadaną sekwencję stanów uzyskuje się przez wstawienie między
przerzutniki specjalnie dobranych sprzężeń zwrotnych z użyciem
bramek logicznych.
Asynchroniczny licznik binarny
Składa on się wyłącznie z przerzutników typu D.
Impulsy wejściowe podawane są na wejście C pierwszego przerzutnika
w szeregu.
Asynchroniczny licznik binarny służy do zliczania liczby impulsów na
jego wejściu zliczającym, gdyż kolejne jego stany odpowiadają
reprezentacji binarnej kolejnych liczb całkowitych.
Q2
Q0 Q1
D D D
Q Q Q
Zegar
C C C
Q Q Q
Impuls Q2 Q1 Q0
zegara
Zegar
0 0 0 0
1 0 0 1
Q0
2 0 1 0
3 0 1 1
Q1
4 1 0 0
5 1 0 1
Q2
6 1 1 0
7 1 1 1
Wykres czasowy dla licznika Tabela przejść między
asynchronicznego stanami
Asynchroniczny licznik binarny
Licznik pierścieniowy.
Składa się on wyłącznie z przerzutników D.
Licznik przesuwa w swoich stopniach wprowadzony wstępnie ciąg
bitowy w wyniku impulsów zegarowych na wejścia C przerzutników.
Licznik może również służyć jako generator zadanych ciągów bitów.
D D D D
Q Q Q Q
C C C C
Q Q Q Q
Zegar
Q0 Q1 Q2 Q3
Licznik pierścieniowy na przerzutnikach D
Licznika binarny na przerzutnikach typu T.
Zlicza kolejne podawane impulsy na jego wejście liczące W.
Przy kolejnych impulsach zegarowych przerzutniki T przebiegajÄ… stany
odpowiadające kodom binarnym kolejnych liczb całkowitych od 0 do
15.
Q2 Q1 Q0
Q3
Q
T0
T3 T2 T1
Wejście
liczÄ…ce W
Impulsy Z
4-bitowy licznik binarny na przerzutnikach T
Układy cyfrowe programowalne u użytkownika
Programowalne układy wielkiej skali integracji, które zawierają
zarówno kombinacyjne układy logiczne - (bramki logiczne) jak i
układy sekwencyjne  (przerzutniki), które mogą być dynamicznie
łączone w określone struktury cyfrowe, posiadające potrzebne
własności funkcjonalne.
Układy tego typu nazywane są układami cyfrowymi
programowalnymi u użytkownika  FPGA (ang. field
programmable gate arrays  FPGA).
Struktura takiego układu cyfrowego jest regularna. Bramki i
przerzutniki są umieszczone w układzie w postaci tzw. bloków
logicznych  BL o ustalonych powtarzalnych strukturach.
Bloki logiczne wstawiane sÄ… w oczka regularnej zwykle prostokÄ…tnej
struktury linii łączących bloki między sobą oraz doprowadzające
informacje sterującą połączeniami.
Połączenia między liniami są realizowane przez bloki połączeń  BP.
Połączenia wewnątrz bloków logicznych BL realizują układy wiążące
sterowane poprzez linie łączące, zawartością specjalnej pamięci
sterujÄ…cej konfiguracjÄ….
BL = Blok Logiczny
BP = Blok Połączeń BP BP
BL
BP BP BP
BL BL
BP BP BP
BL BL
Struktura blokowa układu FPGA
Pamięć sterująca konfiguracją przechowującej informacje
konfigurujące układ.
Informacja konfigurująca jest wprowadzana do pamięci sterującej
przed rozpoczęciem wykorzystywania układu do obliczeń i następnie
jest przechowywana statycznie w tej pamięci, powodując
utrzymywanie się w układzie zaprogramowanych połączeń.
W ten sposób, za pomocą informacji konfigurującej wprowadzonej do
pamięci sterującej, układ osiąga określoną strukturę a tym samym
możliwości funkcjonalne wykonywania potrzebnych operacji
obliczeniowych.
W układach FPGA można modelować większe układy składające
się na bloki funkcjonalne, rejestry a nawet całe procesory.
Układy FPGA są często wykorzystywane w fazie projektowania
ostatecznej wersji docelowego układu cyfrowego, zanim końcowa
zoptymalizowana i zweryfikowana forma układu zostanie wytworzona
w postaci jednego dużego układu cyfrowego.
Układy te są też czasami wykorzystywane w produktach
komercyjnych, w przypadkach, gdy wyprodukowanie układów o
statycznych strukturach nie jest opłacalne lub wymaga zbyt dużych
nakładów finansowych.
Układ cyfrowy opracowany w firmie wytwarzającej układy wielkiej
skali integracji na zlecenie i według projektu użytkownika, nazywamy
układem scalonym zaprojektowanym na zlecenie (ang. application
specific integrated circuit  ASIC).
Projektowanie układów FPGA oraz ASIC odbywa się obecnie w
sposób całkowicie zautomatyzowany przy bardzo silnym
wspomaganiu komputerowym.
Proces projektowania sprzętowego układu cyfrowego na podstawie
specyfikacji jego własności funkcjonalnych  tj. operacji, które ma
wykonywać, nazywa się kompilacja krzemową (ang. silicon
compilation).
Dla podania potrzebnej charakterystyki funkcjonalnej projektowanego
układu użytkownik wykorzystuje specjalne języki nazywane językami
opisu sprzętu (ang. hardware description languages).
Najpopularniejszymi językami opisu sprzętu są opracowane w USA:
język o nazwie VHDL (od ang. Very High Scale Hardware
Description Language)
język Verilog .


Wyszukiwarka

Podobne podstrony:
Ukl log komb(TAK3)
Ukł Sekw
logp
hts log
game log
EZNiOS Log 13 w7 zasoby
03 PEiM Met opisu ukł elektr doc (2)
log
log
120123 IK wykład 4 WO SŻ kształt ukł geomet
Log sample
log
14 fizjo ukl oddechowy
hts log
stripPEC log

więcej podobnych podstron