background image

 
 

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 

background image

 

Spis treści instrukcji: 
 
1. 

Cel ćwiczenia ………………………...…………………………………………… 

2. 

Struktury ogólne i metody opisu układów  sekwencyjnych……………………….. 

3. 

Przerzutniki ………………………………………………………… ……………. 

4.  

Symulacja czasowa i funkcjonalna ……………………………………………….. 

5. 

Czynności przygotowawcze …....………………………………………………… 

6. 

Przebieg ćwiczenia  ……………………………………………………………… 

7. 

Sprawozdanie i forma zaliczenia ćwiczenia  ……………………..………………. 

8. 

Literatura ………………………………………………………………………….. 

 

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: 

δ

(XA)   

 

 

            

δ

(XA)   

δ

 

λ

 

δ

 

λ

 

a) 

b) 

background image

 

λ

(XA)   

 

 

 

          

λ

(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

  

background image

 

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

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)

 

 

background image

 

                  

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. 

 

b) 

Q

D

C

Q

T

S

R

Q

J

C

K

S

R Q

T

"1"

a)

background image

 

 

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ą, 

background image

 

-

 

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. 

background image

 

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