Politechnika
Białostocka
Wydział Elektryczny
Katedra Automatyki i Elektroniki
Instrukcja
do ćwiczeń laboratoryjnych z przedmiotu:
TECHNIKA CYFROWA 2
TZ1A400 028
Ć
wiczenie Nr 3
PRZERZUTNIKI D, JK i T. REALIZACJA UKŁADÓW
SEKWENCYJNYCH SYNCHRONICZNYCH
NA PRZERZUTNIKACH
Opracował: dr inż. Walenty Owieczko
BIAŁYSTOK 2009
2
Spis treści instrukcji:
1.
Cel ćwiczenia ………………………...……………………………………………
2
2.
Struktury ogólne i metody opisu układów sekwencyjnych………………………..
2
3.
Przerzutniki ………………………………………………………… …………….
3
4.
Symulacja czasowa i funkcjonalna ………………………………………………..
6
5.
Czynności przygotowawcze …....…………………………………………………
6
6.
Przebieg ćwiczenia ………………………………………………………………
7
7.
Sprawozdanie i forma zaliczenia ćwiczenia ……………………..……………….
8
8.
Literatura …………………………………………………………………………..
8
1. CEL ĆWICZENIA
Zapoznanie się z zasadą działania i podstawowymi parametrami przerzutników.
Poznanie metod syntezy i nabycie umiejętności projektowania synchronicznych układów
sekwencyjnych w strukturach programowalnych.
2. STRUKTURY OGÓLNE I METODY OPISU UKŁADÓW SEKWENCYJNYCH
Układami sekwencyjnymi nazywa się układy cyfrowe, w których stan wyjść zależy nie
tylko od bieżącego stanu wejść, lecz także od sekwencji stanów wejść w przeszłości. Układy
sekwencyjne są wyposażone w pamięć – przerzutnik, przechowujący informację o
poprzednich stanach pracy.
Model matematyczny układu sekwencyjnego nazywa się automatem. W teorii układów
sekwencyjnych występują dwa typy automatu: Mealye'go i Moore'a (rys. 3-1
Rys.).
Rys.3-1. Modele ogólne układów sekwencyjnych: a - automat Mealy’ego; b - automat
Moore'a.
Układy sekwencyjne mogą być opisane dwiema funkcjami:
•
funkcją przejść
δ
- określa nowe stany wewnętrzne układu,
•
funkcją wyjść
λ
- określa bieżące stany wyjść.
a. Mealy'ego:
b. Moore'a:
A =
δ
(X, A)
A =
δ
(X, A)
δ
λ
X
Y
A
δ
λ
X
Y
A
a)
b)
3
Y =
λ
(X, A)
Y =
λ
(A)
gdzie:
X = {X
0
, X
1
, ..., X
N-1
} - zbiór N stanów wejść (słów wejściowych);
X
i
= (x
0
, x
1
, ..., x
n-1
) - słowo wejściowe o n zmiennych wejściowych (N
≤
2
n
);
Y = {Y
0
, Y
1
, ..., Y
M-1
} - zbiór M stanów wyjść (słów wyjściowych);
Y
i
= (y
0
, y
1
, ..., y
m-1
) - słowo wyjściowe o m zmiennych wyjściowych (M
≤
2
m
);
A = {A
0
, A
1
, ..., A
K-1
} - zbiór K stanów wewnętrznych automatu.
W zależności od sposobu oddziaływania sygnałów wejściowych na zmiany stanu
wewnętrznego, układy sekwencyjne dzielimy na:
•
asynchroniczne - zmiana stanu wewnętrznego następuje bezpośrednio pod wpływem
zmiany sygnałów wejściowych, z opóźnieniem wynikającym z czasu propagacji
τ
:
A(t+
τ
)=
δ
(A(t),X(t))
•
synchroniczne - zmiana stanu wewnętrznego następuje tylko w ściśle określonych
chwilach czasu, wyznaczonych przez tzw. sygnał taktujący (zegar):
A(t+
∆
t)=
δ
(A(t),X(t)) przy
∆
t >
τ
3. PRZERZUTNIKI
Przerzutniki synchroniczne
Przerzutniki są podstawowymi, jednobitowymi elementami pamięci. Ze względu na sposób
oddziaływania sygnału taktującego, przerzutniki synchroniczne mogą być:
-
synchronizowane zboczem - zmiana stanu przerzutnika na podstawie zmiany stanu jego
wejść informacyjnych następuje w momencie wyznaczonym zboczem (narastającym lub
opadającym) sygnału taktującego;
-
synchronizowane dwustopniowo - stan wejść informacyjnych przerzutnika jest
wprowadzany przez cały czas trwania aktywnego poziomu sygnału taktującego, zaś
przerzutnik zmienia swój stan tylko przy zboczu kończącym aktywny poziom tego
sygnału.
W symbolu logicznym przerzutnika synchronizowanego zboczem stosuje się
odpowiedni symbol graficzny przy wejściu taktującym.
a)
b)
Q
Q
D
C
Q
Q
J
C
K
4
Rys. 3-2. Rozróżnianie aktywnego zbocza sygnału taktującego: a - narastające; b - opadające
Przerzutnik D
Q
Q
D
C
S
R
Q
Q
D
C
S
R
a)
b)
D
C
Q
x
0
0
1
0
1
1
1
1
0
n
n
Q
Q
n-1
n-1
Q
*
*
c)
Q
Q
D
0
0 0
0
1 1
1
0 0
1
1 1
przy C: 0
1
n-1
n
→
→
→
→
→
→
d)
D
Q
Q
e)
C
Rys. 3-3. Przerzutnik D synchronizowany narastającym zboczem sygnału taktującego
z asynchronicznymi wejściami
S i
R: a - symbol; b - schemat logiczny; c - tablica prawdy,
d - tablica wzbudzeń; e - wykres czasowy..
* - stany wyjść Q
n
i
Q
n
zmieniają się przy narastającym zboczu sygnału taktującego C.
Przerzutnik JK
Przerzutnik JK synchronizowany dwustopniowo (Rys. 3-4), składa się z dwóch
odpowiednio połączonych przerzutników asynchronicznych typu
S
R. W czasie trwania
wysokiego poziomu sygnału taktującego C, pierwszy przerzutnik przyjmuje informację z
wejść sterujących J i K. W chwili przejścia sygnału taktującego do stanu niskiego następuje
przepisanie stanu przerzutnika wejściowego do przerzutnika wyjściowego. Stan wyjść Q i
Q
przerzutnika zmienia się przy opadającym zboczu sygnału zegarowego. Taką konstrukcję
przerzutnika określa się mianem master-slave (M-S).
Q
Q
J
C
K
S
R
Q
Q
J
C
K
R
S
a)
b)
J
K
C
Q
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
n
n
Q
x
x
0
Q
Q
1
Q
n-1
n-1
n-1
n-1
n-1
n-1
Q
Q
Q
*
*
*
Q
Q
J K
0 0 0 _
0 1 1 _
1 0 _ 1
1 1 _ 0
n-1
n
→
→
→
→
→
→
przy C: 1 0
c)
d)
5
J
Q
Q
e)
C
K
Rys. 3-4. Przerzutnik JK typu M-S z asynchronicznymi wejściami ustawiającymi:
a - symbol; b - schemat logiczny; c - tablica prawdy; d - tablica wzbudzeń; e - wykres
czasowy.
* - stany wyjść Q
n
i
Q
n
zmieniają się przy opadającym zboczu sygnału taktującego C.
Przerzutnik T
Przerzutnik synchroniczny T przy sygnale wejściowym T = 1 z każdym impulsem sygnału
taktującego C zmienia swój stan na przeciwny. Na bazie synchronicznych przerzutników JK i
D można zbudować synchroniczny przerzutnik T.
b)
Q
D
C
Q
C
T
S
R
Q
J
C
K
S
R Q
C
T
T
C
Q
0
x
0
1
1
1
n
n
Q
Q
Q
Q
n-1
n-1
n-1
n-1
n-1
n-1
Q
Q
Q
*
c)
Q
Q T
0
0 0
0
1 1
1
0 1
1
1 0
przy C: 1
0
n-1
n
→
→
→
→
→
→
d)
Q
Q
e)
C
T
Rys.3-5. Synchroniczny przerzutnik T: a - symbol; b - realizacja na przerzutnikach JK i D; c -
tablica prawdy; d - tablica wzbudzeń; e - wykres czasowy.
Asynchroniczny przerzutnik T zbudowany na bazie synchronicznych przerzutników JK
i D przedstawiono na rys. 3-6.
Rys. 3-6. Asynchroniczny przerzutnik T: a - realizacje na przerzutnikach JK i D;
b - wykres czasowy.
T
Q
Q
b)
Q
D
C
Q
T
S
R
Q
J
C
K
S
R Q
T
"1"
a)
6
4. SYMULACJA CZASOWA I FUNKCJONALNA PROJEKTU
TIMING ANALYZER (analizator czasowy) – program, który w oparciu o modele czasowe
układów obsługiwanych przez kompilator, określa czasy propagacji sygnałów na drodze
pomiędzy wybranymi węzłami oraz wyznacza maksymalną częstotliwość taktowania.
SIMULATOR – program służący do testowania funkcji i zachowania się w czasie, przed
zaprogramowaniem projektowanego układu w strukturze programowalnej.
Symulacja funkcjonalna umożliwia badanie funkcjonalnej poprawności projektu, zaś
czasowa pozwala wykryć błędy w wybranych węzłach projektu po jego kompilacji,
wywołane zjawiskami czasowymi typu hazard, wyścigi itp. Symulacja czasowa – rozpoczyna
się od skompilowania projektu z uaktywnioną w menu Processing opcją Timing SNF
Extractor.
Możliwości modułu symulatora
Wyznaczenie i graficzne wyświetlenie przebiegów poszczególnych sygnałów z
uwzględnieniem czasów propagacji,
Edytor Waveform Editor – tworzy zbiory symulacyjne Simulator Channel Files (.scf)
zawierające przebiegi wejściowe do symulacji i testowania funkcjonalnego. Symulator
generuje odpowiedzi na te wymuszenia.
SYMULACJA CZASOWA I FUNKCJONALNA – etapy
Uruchamiamy symulator Simulator przyciskiem Start w oknie dialogowym
Przyciskiem Open SCF w Simulator otwieramy okno z przebiegami po symulacji
Sprawdzamy poprawność działania zaprojektowanego układu na podstawie wyników
symulacji i weryfikujemy ewentualne błędy
Ikoną na pasku zadań uruchamiamy symulator-analizator czasowy (dla celów analizy
czasowej)
Wyboru rodzaju symulacji i analizy dokonujemy z poziomu menu Analysis>Delay Matrix
(matryca opóźnień), Analysis>Setup/Hold Matrix (parametry przerzutników) lub
Analysis>Registered Performance (maksymalna częstotliwość taktowania od strony
wybranego wejścia)
5. CZYNNOŚCI PRZYGOTOWAWCZE
Przed przystąpieniem do wykonania ćwiczenia, student powinien:
-
zapoznać się z instrukcją,
7
-
szczegółowo przeanalizować zasadę działania, podstawowe parametry i zastosowania
przerzutników synchronicznych,
-
powtórzyć teorię układów sekwencyjnych oraz sposoby realizacji układowych na
przerzutnikach D i JK.
-
przedstawić rozwiązanie zadań podanych przez prowadzącego (pliki źródłowe w
postaci tekstowej (.tdf) w języku AHDL lub graficznej .gdf).
6. PRZEBIEG ĆWICZENIA
W trakcie realizacji ćwiczenia studenci wykorzystują poznane i opisane wcześniej
aplikacje i narzędzia programowe, w szczególności funkcje edytora przebiegów oraz
symulatora-analizatora czasowego do realizacji i analizy pracy projektowanego układu.
1.
Uruchamiamy system. Wprowadzamy plik źródłowy projektu układu cyfrowego.
2.
Dokonujemy kompilacji i symulacji projektu.
3.
Uruchamiamy edytor przebiegów wymuszeń na wejściu - okno managera MAX+Plus II>
Waveform Editor lub z menu File>New zaznaczając opcję Waveform Editor file w oknie
dialogowym.
Edytowany plik o nazwie untitled.scf zapisujemy na dysku pod nazwą identyczną z
nazwą projektu.
4.
Dokonujemy wyboru przebiegów do symulacji. Lewym przyciskiem myszy wskazujemy
miejsce wstawienia, zaś prawym wywołujemy menu kontekstowe i opcją Insert
Node...wywołujemy okno dialogowe z nazwami sygnałów do wstawienia na planszę
edytora przebiegów. Inny sposób – opcja Enter Nodes from SNF... w menu
kontekstowym pliku *.snf wygenerowanego podczas kompilacji.
5.
Ustalamy rozdzielczość edycji przebiegów w funkcji czasu Options>Grid Size... oraz
całkowity czas symulacji File>End Time...
6.
Rysujemy przebiegi sygnałów wymuszających, korzystając z zestawu specjalnych
narzędzi - funkcji wywołanych ikonami paska narzędziowego w lewej części okna lub z
poziomu menu: opcje Edit>Overwrite...
7.
Uruchamiamy symulator programowy przyciskiem Start w oknie dialogowym
wywołanym ikoną na pasku zadań.
8.
Przyciskiem Open SCF otwieramy okno z przebiegami po symulacji.
9.
Sprawdzamy poprawność działania zaprojektowanego układu na podstawie wyników
symulacji i weryfikujemy ewentualne błędy.
8
10.
Ikoną na pasku zadań uruchamiamy symulator-analizator czasowy i dokonujemy analizy
opóźnień czasowych w układzie.
11.
Wyboru rodzaju symulacji i analizy dokonujemy z poziomu menu Analysis>Delay
Matrix (matryca opóźnień), Analysis>Setup/Hold Matrix (parametry przerzutników) lub
Analysis>Registered Performanance (maksymalna częstotliwość taktowania od strony
wybranego wejścia).
12.
Przypisujemy sygnałom we/wy odpowiednie wyprowadzenia struktury programowalnej.
13.
Realizacja projektu układu sekwencyjnego w strukturze programowalnej następuje
poprzez uruchomienie programatora w oknie dialogowym Programmer.
14.
Sprawdzamy poprawność działania zaprogramowanego układu i weryfikujemy
ewentualne błędy.
7. SPRAWOZDANIE I FORMA ZALICZENIA ĆWICZENIA
Ocenie podlegają czynności zarówno etapu przygotowawczego jak i etapów edycji,
symulacji i realizacji projektu w strukturze programowalnej. Warunkiem zaliczenia ćwiczenia
jest poprawny przebieg symulacji i działanie zaprogramowanego układu na stanowisku
laboratoryjnym, przedstawienie wszystkich etapów syntezy układów w postaci protokołu oraz
wykazanie się niezbędną wiedzą z zakresu wykonywanego ćwiczenia.
Protokół powinien zawierać: temat i cel ćwiczenia, treść wykonywanych zadań, kolejne
etapy syntezy, schematy projektowanych układów, wyniki symulacji i realizacji projektów
oraz wnioski.
8. LITERATURA
1.
L. Grodzki, W. Owieczko: Podstawy techniki cyfrowej, 2006
2.
T. Łuba, B. Zbierzchowski: Komputerowe projektowanie układów cyfrowych, WKŁ
2000.
3.
P. Zbysiński, J. Pasierbiński: Układy programowalne – pierwsze kroki. BTC, 2004
4.
Materiały pomocnicze – strona internetowa firmy Altera
http://www.altera.com
.