Politechnika Białostocka Wydział Elektryczny atedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: EHNIA YFROWA 2 Z1A400 028 Ćwiczenie Nr 3 PRZERZUNII D, J i. REALIZAJA UŁADÓW SEWENYJNYH SYNHRONIZNYH NA PRZERZUNIAH Opracował: dr inż. Walenty Owieczko BIAŁYSO 2009
Spis treści instrukcji: 1. el ćwiczenia... 2 2. Struktury ogólne i metody opisu układów sekwencyjnych.. 2 3. Przerzutniki. 3 4. Symulacja czasowa i funkcjonalna.. 6 5. zynności przygotowawcze... 6 6. Przebieg ćwiczenia 7 7. Sprawozdanie i forma zaliczenia ćwiczenia... 8 8. Literatura.. 8 1. EL ĆWIZENIA 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. SRUURY OGÓLNE I MEODY OPISU UŁADÓW SEWENYJNYH 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 a) b) X δ A λ X Y δ A λ Y 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) 2
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 -1 } - zbiór 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. PRZERZUNII 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) D J 3
Rys. 3-2. Rozróżnianie aktywnego zbocza sygnału taktującego: a - narastające; b - opadające Przerzutnik D a) S b) D R D S R c) D x 0 n n n-1 n-1 0 1 0 1 1 1 1 0 d) D n-1 n 0 0 0 0 1 1 1 0 0 1 1 1 przy : 0 1 e) D 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ść n i n zmieniają się przy narastającym zboczu sygnału taktującego. Przerzutnik J Przerzutnik J 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, pierwszy przerzutnik przyjmuje informację z wejść sterujących J i. W chwili przejścia sygnału taktującego do stanu niskiego następuje przepisanie stanu przerzutnika wejściowego do przerzutnika wyjściowego. Stan wyjść i przerzutnika zmienia się przy opadającym zboczu sygnału zegarowego. aką konstrukcję przerzutnika określa się mianem master-slave (M-S). a) b) S J R J S R c) d) J x x 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 n n J n-1 n 0 0 0 _ 0 1 1 _ 1 0 _ 1 1 1 _ 0 przy : 1 0 4
e) J Rys. 3-4. Przerzutnik J 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ść n i n zmieniają się przy opadającym zboczu sygnału taktującego. Przerzutnik Przerzutnik synchroniczny przy sygnale wejściowym = 1 z każdym impulsem sygnału taktującego zmienia swój stan na przeciwny. Na bazie synchronicznych przerzutników J i D można zbudować synchroniczny przerzutnik. b) J S R D S R c) 0 x 0 1 1 1 n n d) n-1 n 0 0 0 0 1 1 1 0 1 1 1 0 przy : 1 0 e) Rys.3-5. Synchroniczny przerzutnik : a - symbol; b - realizacja na przerzutnikach J i D; c - tablica prawdy; d - tablica wzbudzeń; e - wykres czasowy. Asynchroniczny przerzutnik zbudowany na bazie synchronicznych przerzutników J i D przedstawiono na rys. 3-6. a) "1" b) J S R D S R Rys. 3-6. Asynchroniczny przerzutnik : a - realizacje na przerzutnikach J i D; b - wykres czasowy. 5
4. SYMULAJA ZASOWA I FUNJONALNA PROJEU IMING 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. SIMULAOR 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ą iming 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 hannel Files (.scf) zawierające przebiegi wejściowe do symulacji i testowania funkcjonalnego. Symulator generuje odpowiedzi na te wymuszenia. SYMULAJA ZASOWA I FUNJONALNA etapy Uruchamiamy symulator Simulator przyciskiem Start w oknie dialogowym Przyciskiem Open SF 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. ZYNNOŚI PRZYGOOWAWZE Przed przystąpieniem do wykonania ćwiczenia, student powinien: - zapoznać się z instrukcją, 6
- 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 J. - 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 ĆWIZENIA 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 ime... 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 SF otwieramy okno z przebiegami po symulacji. 9. Sprawdzamy poprawność działania zaprojektowanego układu na podstawie wyników symulacji i weryfikujemy ewentualne błędy. 7
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 ZALIZENIA ĆWIZENIA 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. LIERAURA 1. L. Grodzki, W. Owieczko: Podstawy techniki cyfrowej, 2006 2.. Łuba, B. Zbierzchowski: omputerowe projektowanie układów cyfrowych, WŁ 2000. 3. P. Zbysiński, J. Pasierbiński: Układy programowalne pierwsze kroki. B, 2004 4. Materiały pomocnicze strona internetowa firmy Altera http://www.altera.com. 8