Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:



Podobne dokumenty
Bezpieczeństwo informacji oparte o kryptografię kwantową

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Projektowania Układów Elektronicznych CAD Laboratorium

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Krótkie wprowadzenie do ModelSim i Quartus2

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Ukªady Kombinacyjne - cz ± I

Systemy Czasu Rzeczywistego FPGA

Układy sekwencyjne. 1. Czas trwania: 6h

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

MentorGraphics ModelSim

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Sterownik kompaktowy Theben PHARAO II

Synteza strukturalna automatów Moore'a i Mealy

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Zadanie 1. Stosowanie stylów

LICZNIKI PODZIAŁ I PARAMETRY

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Język opisu sprzętu VHDL

Asynchroniczne statyczne układy sekwencyjne

1. Przekrój poprzeczny tranzystora nmos. Uzupełnij rysunek odpowiednimi nazwami domieszek (n lub p). S G D

Systemy Czasu Rzeczywistego FPGA

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Automatyzacja i robotyzacja procesów produkcyjnych

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Wygląd okna aplikacji Project Navigator.

Elektronika i techniki mikroprocesorowe

Symulacje inwertera CMOS

INSTRUKCJA UŻYTKOWANIA

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

5.2. Pierwsze kroki z bazami danych

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Bezpieczeństwo informacji oparte o kryptografię kwantową

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

ćwiczenie 203 Temat: Układy sekwencyjne 1. Cel ćwiczenia

Statyczne badanie przerzutników - ćwiczenie 3

ACCESS ćwiczenia (zestaw 1)

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Przedszkolaki Przygotowanie organizacyjne

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Układy reprogramowalne i SoC Implementacja w układach FPGA

Układy sekwencyjne. 1. Czas trwania: 6h

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Laboratorium - Udostępnianie folderu, tworzenie grupy domowej i mapowanie dysku sieciowego w Windows 7

dwójkę liczącą Licznikiem Podział liczników:

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 212

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Programowanie sterowników

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Laboratorium przedmiotu Technika Cyfrowa

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012. Przygotowanie do druku

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

16) Wprowadzenie do raportowania Rave

Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows 7

Wprowadzanie danych organizacyjnych szkoły

Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows XP

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Księgowość Optivum. Usunięcie znaczników z wyżej wymienionych pól umożliwia dokonanie indywidualnego wyboru elementów

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Sławomir Kulesza. Projektowanie automatów synchronicznych

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instalacja i obsługa generatora świadectw i arkuszy ocen

Skrócona instrukcja obsługi czujników Fast Tracer firmy Sequoia.

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

Aplikacja do podpisu cyfrowego npodpis

Rozdział 4: PIERWSZE KROKI

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Transkrypt:

Mirosław Łazoryszczak Technika cyfrowa Laboratorium nr 7 Temat: Liczniki synchroniczne Katedra Architektury Komputerów i Telekomunikacji Zakład Systemów i Sieci Komputerowych

SPIS TREŚCI 1. Wymagania...3 2. Przebieg ćwiczenia...3 2.1. Przykład projektowy...3 2.2. Weryfikacja projektu w środowisku Xilinx ISE...7 3. Zadania...14 4. Podsumowanie...14 5. Literatura...14

1. WYMAGANIA Wykonanie niniejszego ćwiczenia wymaga od studenta posiadania wiedzy i umiejętności z zakresu: zasad działania oraz sposobów formalnego opisu przerzutników synchronicznych typu D i JK ze szczególnym uwzględnieniem tablicy wzbudzeń, własności i zastosowań automatów Moore a oraz Mealy ego do opisu układów sekwencyjnych, zasad działania i sposobu projektowania liczników synchronicznych zliczających w założonym zakresie liczenia, w różnych kierunkach (w przód, w tył, rewersyjnie) z wykorzystaniem różnych sposobów kodów i różnych przerzutników, podstaw posługiwania się narzędziem Xilinx ISE, a w szczególności tworzenia projektu opartego na schemacie, wykonania operacji implementacji, przeprowadzenia symulacji opartej na jednostce testowej (ang. test bench) implementowanej w języku VHDL. 2. PRZEBIEG ĆWICZENIA Projektowanie liczników synchronicznych jest zagadnieniem bardzo obszernym i jako takie jest szeroko omawiane w dostępnej literaturze. Niniejsze ćwiczenie ma na celu jedynie wstępne przedstawienie zasady działania, struktur oraz elementów projektowania różnorodnych liczników synchronicznych. W ramach wstępu do praktycznych ćwiczeń zaprezentowany zostanie przykład projektowy wybranego licznika synchronicznego. Liczniki synchroniczne stanowią pewien podzbiór synchronicznych układów sekwencyjnych. Jednak w stosunku do ogólnych metod projektowania układów sekwencyjnych projektowanie liczników charakteryzuje się szeregiem uproszczeń. Licznik, o którym mowa w przykładzie jest układem, który nie posiada wejścia. W tym sensie stanowi więc układ autonomiczny. W omawianym przypadku redukcji ulega także funkcja wyjścia, bowiem wyjściem układu jest wektor stanów wewnętrznych, reprezentujący kolejne wartości zliczanych impulsów zegarowych. Z punktu widzenia teorii automatów, wejście zegarowe nie może być traktowane jako wejście układu. W znaczeniu praktycznym sygnał zegarowy jest właśnie tym wejściem, którego zmiany będą rejestrowane przez układ licznika. 2.1. PRZYKŁAD PROJEKTOWY Zadanie Zaprojektuj synchroniczny licznik binarny trzybitowy (modulo 8) oparty na przerzutnikach typu JK zliczający wstecz. Ze względu na brak wejść, opis za pomocą grafu nie jest zbyt przydatny i dlatego też zastosowany zostanie opis w postaci tabeli stanów. W przypadku licznika nie występuje także proces kodowania stanów, a w konkretnym omawianym przykładzie nie będą realizowane także funkcje wyjścia. W celu wypełnienia tablic Karnaugh konieczne będzie posłużenie się tablicą wzbudzeń przerzutnika JK, znaną np. z wykonanych wcześniej ćwiczeń laboratoryjnych. Wszystkie założenia projektowe zawarte są w treści zadania. Licznik binarny trzybitowy determinuje konieczność użycia trzech przerzutników, których rodzaj jest również określony w treści zadania. W procesie projektowym znany jest także arbitralnie przyjęty model ogólnej struktury układu przedstawiony na rys. 1, w którym zespół przerzutników taktowany jest wspólnym sygnałem zegarowym. Na wyjścia licznika składają się wyjścia poszczególnych przerzutników. Projektowanie licznika w praktyce sprowadza się zatem do wyznaczenia zbioru funkcji logicznych nazywanych funkcjami przejść i. Strona 3 z 14

Rys. 1. Ogólna struktura układu licznika synchronicznego opartego na przerzutnikach JK W szczególnym przypadku funkcje dla poszczególnych wejść kolejnych przerzutników mogą być funkcjami tożsamościowymi lub stałymi, co oznacza np. dołączenie wybranego wyjścia przerzutnika (w postaci prostej lub zanegowanej) lub logicznego 0, lub 1 do wejścia J lub K innego przerzutnika. Projektowanie licznika o parametrach określonych w zadaniu należy rozpocząć od skonstruowania tablicy przejść. Tabela 1: Tablica przejść ilustrująca działanie licznika Q n Q n+1 q 2 q 1 0 000 111 1 001 000 2 010 001 3 011 010 4 100 011 5 101 100 6 110 101 7 111 110 W kolumnie Q n podano stan bieżący układu, na który to stan składają się wyjścia poszczególnych przerzutników, zaś kolumna Q n+1 zawiera stan następny układu, który jest konsekwencją pojawienia się impulsu taktującego na wejściu zegarowym układu. Licznik zliczający wstecz działa w ten sposób, że jeśli na jego wyjściach pojawia się kombinacja binarna odpowiadająca liczbie n, to w kolejnym takcie zegara na wyjściu powinna pojawić się liczba n-1. Licznik powinien działać bez zatrzymania, czyli po osiągnięciu wartości minimalnej powinien rozpocząć zliczanie od wartości maksymalnej w dół. Przy czym należy zauważyć, że powyższą tablicę przejść trzeba czytać wierszami, obserwując zmiany stanu z bieżącego na następny. Wobec jeśli na wyjściu licznika w stanie bieżącym występuje kombinacja 000, to w stanie następnym powinna się pojawić kombinacja 111. W kolejnym kroku wykorzystana zostanie tablica wzbudzeń przerzutnika JK (tablica 2). Dzięki niej możliwe będzie określenie wartości logicznych koniecznych do dostarczenia na wejścia J oraz K poszczególnych przerzutników tak, aby uzyskać wymaganą zmianę stanów ich wyjść zgodnie z tablicą przejść licznika. Strona 4 z 14

Następny etap projektowania licznika polega na wyznaczeniu funkcji przejść. W omawianym przykładzie należy wyznaczyć po jednej funkcji na każde wejście wszystkich przerzutników. Trzy bity licznika wymagają trzech przerzutników, z których każdy posiada dwa wejścia (J, K). Łacznie potrzebne będzie wyznaczenie sześciu funkcji przejść za pomocą sześciu tablic Karnaugh. Tabela 2: Tablica wzbudzeń przerzutnika JK Q n Q n+1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Sposób wyznaczania wartości dla poszczególnych funkcji przejść podano na rys. 2. Przedstawiono tam schemat wraz z objaśnieniami wypełniania dwóch tablic Karnaugh jednocześnie dla przerzutnika nr 3. Strzałkami zaznaczono mechanizm wypełniania pierwszej kratki obu tablic Karnaugh dla argumentów =0, q 2 =0, =0. Pozostałe pola wypełniane są w sposób analogiczny, tzn. po przejściu do kolejnego wiersza należy sprawdzić zmianę wartości dla kolumn odpowiednio oraz. Po wypełnieniu tablic dla wejść J i K przerzutnika Q3 procedura ulega powtórzeniu, przy czym obserwuje się zmienność wartości dla kolumn q 2 oraz q 2, a następnie q 1 oraz q 1. J 3 Q n Q n+1 q 2 q 1 0 000 111 1 001 000 2 010 001 3 011 010 4 100 011 5 101 100 6 110 101 7 111 110 K 3 Q n Q n+1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 0 1 0 0 0 1 X X X X 0 X X X X 1 1 0 0 0 Rys. 2. Schemat wyznaczania wartości funkcji przejść Po utworzeniu zestawu tablic Karnaugh dokonujemy minimalizacji wszystkich funkcji logicznych. W poniższym zestawie tablic (Tabele od 3 do 5) pod odpowiednimi tablicami zamieszczono wyznaczone funkcje przejść. Funkcje te następnie należy zaimplementować wewnątrz odpowiednich bloków funkcji logicznych z rysunku 1. Strona 5 z 14

Tabela 3: Tablice Karnaugh dla funkcji oraz J 3 K 3 0 1 0 0 0 1 X X X X J 3 = q2 q1 0 X X X X 1 1 0 0 0 K 3 = q2 q1 Tabela 4: Tablice Karnaugh dla funkcji oraz J 2 K 2 0 1 0 X X 1 1 0 X X J 2 = q 1 0 X X 0 1 1 X X 0 1 K 2 = q 1 Tabela 5: Tablice Karnaugh dla funkcji oraz J 1 K 1 0 1 X X 1 1 1 X X 1 J 1 = 1 0 X 1 1 X 1 X 1 1 X K 1 = 1 Po wyznaczeniu wszystkich funkcji przejść możliwe jest skonstruowanie licznika wg znanej struktury. Dzięki relatywnie nieskomplikowanym funkcjom logicznym układ licznika trzybitowego liczącego wstecz przyjmie postać jak na rys. 3 Rys. 3. Schemat zaprojektowanego licznika binarnego trzybitowego (modulo 8) zliczającego wstecz Układ ten może zostać następnie wprowadzony do środowiska projektowego Xilinx ISE w postaci schematu oraz sprawdzony pod względem funkcjonalnym w sposób analogiczny do poprzednich zajęć laboratoryjnych. Strona 6 z 14

2.2. WERYFIKACJA PROJEKTU W ŚRODOWISKU XILINX ISE UWAGA: Przed rozpoczęciem pracy z komputerem należy bezwzględnie wykonać proces mapowania dysku sieciowego zgodnie z dodatkową instrukcją znajdującą się na stanowisku laboratoryjnym. 1. Uruchom skrót Xilinx ISE Design Suite. znajdujący się na pulpicie. Jeśli brak odpowiedniego skrótu, uruchom Start Programy Xilinx ISE Design Suite 13.2 ISE Design Tools Project Navigator. Jeśli po uruchomieniu środowiska automatycznie otwarty zostanie projekt, zamknij go za pomocą opcji menu FIle Close Project. 2. Utwórz nowy projekt za pomocą opcji File New Project. W oknie dialogowym wpisz nazwę projektu, zwracając uwagę na lokalizację nowego projektu na zmapowanym dysku sieciowym użytkownika oraz wybierz Schematic jako typ źródła najwyższego poziomu (Toplevel source type) Rys. 4. Okno kreatora nowego projektu 3. W kolejnym oknie dialogowym ustaw opcje zgodnie z rys. 5. Zwróć uwagę, aby ustawić opcje dotyczące platformy sprzętowej w celu uniknięcia ew. komplikacji w późniejszej fazie projektu. Strona 7 z 14

Rys. 5. Okno ustawień projektu 4. Następnie zostanie wyświetlone okno podsumowania kreatora projektu (rys. 6). Zatwierdź je przyciskiem Finish. Rys. 6. Okno podsumowania kreatora projektu Strona 8 z 14

5. W oknie Design kliknij prawym klawiszem myszy na pozycji oznaczającej platformę sprzętową (xc2c256) i wybierz opcję New Source... (rys. 7) Rys. 7. Operacja dodawania nowego źródła do projektu 6. W oknie z rys. 8 określ typ źródła jako Schematic, nadaj mu dowolną nazwę i wciśnij przycisk Next, a następnie zatwierdź okno podsumowania pliku źródłowego za pomocą przycisku Finish. Rys. 8. Utworzenie nowego źródła w postaci schematu 7. Utwórz schemat korzystając z elementów FJKC (przerzutnik JK) oraz odpowiednich bramek, korzystając z panelu Symbols (rys. 9). Strona 9 z 14

Rys. 9. Panel Symbols 8. Następnie połącz elementy umieszczone na schemacie korzystając z narzędzia Add Wire oraz dodaj porty We/Wy przy pomocy Add I/O Marker i zmień nazwy portów klikając prawym klawiszem myszy na wybranym porcie i wybierając z menu podręcznego opcję Rename Port (rys. 10) Rys. 10. Przybornik narzędziowy w oknie schematu 9. Przykładowy widok ukończonego schematu przedstawiono na rys. 11 Strona 10 z 14

Rys. 11. Schemat licznika utworzony w oknie schematu 10. Następnie przełącz tryb widoku w panelu Design na Simulation i dodaj nowe źródło w postaci jednostki testowej (Test Bench) do projektu (rys. 12). Rys. 12. Dodawanie nowej jednostki testowej do projektu 11. Określ typ dodawanego źródła jako VHDL Test Bench i nadaj nazwę plikowi zawierającemu jednostkę testową oraz kliknij przycisk Next (rys. 13). W kolejnym oknie dialogowym zatwierdź powiązanie nowej jednostki testowej z układem licznika wprowadzonym uprzednio w postaci schematu. Przyciskiem Next przejdź do kolejnego kroku i zatwierdź okno podsumowania za pomocą przycisku Finish. Strona 11 z 14

Rys. 13. Utworzenie nowego źródła w postaci jednostki testowej 12. Po utworzeniu jednostki testowej w edytorze automatycznie powinien ukazać się kod VHDL jednostki testowej w postaci podobnej jak na wydruku 1. ARCHITECTURE behavioral OF counter_1_counter_1_sch_tb IS COMPONENT counter_1 PORT( X1 : OUT STD_LOGIC; X2 : OUT STD_LOGIC; CLK : IN STD_LOGIC; X3 : OUT STD_LOGIC); END COMPONENT; SIGNAL X1 : SIGNAL X2 : SIGNAL CLK : SIGNAL X3 : STD_LOGIC; STD_LOGIC; STD_LOGIC; STD_LOGIC; BEGIN UUT: counter_1 PORT MAP( X1 => X1, X2 => X2, CLK => CLK, X3 => X3 ); -- *** Test Bench - User Defined Section *** tb : PROCESS BEGIN WAIT; -- will wait forever END PROCESS; -- *** End Test Bench - User Defined Section *** END; Wydruk 1: Fragment kodu automatycznie utworzonej jednostki testowej Strona 12 z 14

13. Pomiędzy słowami kluczowymi BEGIN oraz END PROCESS wyróżnionymi na powyższym wydruku czcionką pogrubioną umieść fragment kodu przedstawiony na wydruku 2, pamiętając o zapisaniu pliku. -- *** Test Bench - User Defined Section *** tb : PROCESS BEGIN for i in 0 to 20 loop clk <= '0'; WAIT for 1 ns; clk <= '1'; WAIT for 1 ns; end loop; --WAIT; -- will wait forever END PROCESS; -- *** End Test Bench - User Defined Section *** Wydruk 2: Kod jednostki testującej uzupełniony o kod umożliwiający weryfikację funkcjonalną zaprojektowanego licznika 14. Następnie w panelu Design w bloku Hierarchy podświetl plik z jednostką projektową i w bloku Processes kliknij dwukrotnie opcję Simulate Behavioral Model (rys. 14). Rys. 14. Panel Design umożliwiający uruchomienie procesu symulacji układu licznika Jeśli proces uruchomienia symulacji przebiegnie bez błędów, powinno automatycznie ukazać okno programu ISim (rys. 15). Przeskaluj widok przebiegów czasowych na ekranie tak, aby możliwa była obserwacja wszystkich przebiegów czasowych licznika wyznaczonych przez jednostkę projektową. Przeanalizuj poprawność działania licznika na podstawie otrzymanych wykresów czasowych. Rys. 15. Fragment okna programu ISim z widocznymi przebiegami czasowymi testowanego licznika Strona 13 z 14

3. ZADANIA Zadanie 1 Zaprojektuj dwubitowy licznik synchroniczny, zliczający w przód w kodzie binarnym oparty na przerzutnikach typu JK. Przedstaw odpowiednie tablice ilustrujące proces projektowania, wyznacz funkcje przejść układu oraz wykonaj weryfikację poprawności działania układu przy pomocy narzędzia Xilinx ISE. Zadanie 2 Zaprojektuj trzybitowy licznik synchroniczny zliczający wstecz w kodzie binarnym oparty na przerzutnikach typu D. Przedstaw odpowiednie tablice ilustrujące proces projektowania, wyznacz funkcje przejść układu oraz wykonaj weryfikację poprawności działania układu przy pomocy narzędzia Xilinx ISE. Zadanie 3 Zaprojektuj trzybitowy licznik synchroniczny rewersyjny (zliczający w przód lub wstecz) oparty na przerzutnikach typu JK. Przedstaw odpowiednie tablice ilustrujące proces projektowania, wyznacz funkcje przejść układu oraz wykonaj weryfikację poprawności działania układu przy pomocy narzędzia Xilinx ISE. WSKAZÓWKI: 1. Do zaprojektowania licznika rewersyjnego konieczne jest zastosowanie dodatkowego wejścia, które określa kierunek zliczania. Można przyjąć, że stan niski na wejściu kierunku oznacza zliczanie w przód, natomiast stan wysoki oznacza zliczanie wstecz. 2. Wejście określające kierunek zliczania powinno stanowić jeden z argumentów dla funkcji przejść wraz ze stanem wewnętrznym układu reprezentowanym przez wyjścia poszczególnych przerzutników. 4. PODSUMOWANIE W wyniku przeprowadzonego ćwiczenia, a także ćwiczeń poprzednich student powinien nabyć bądź utrwalić następujące umiejętności: projektowanie liczników synchronicznych opartych na przerzutnikach typu D oraz JK zliczających w przód oraz wstecz, posługiwanie się narzędziem Xilinx ISE w zakresie utworzenia schematu oraz przeprowadzenia elementarnego testowania układu za pomocą pliku zawierającego jednostkę testującą (test bench). 5. LITERATURA [1] Kalisz J.: Podstawy elektroniki cyfrowej, WNT, Warszawa 1999 [2] Pieńkos J., Turczyński J.: Układy scalone TTL w systemach cyfrowych, WKŁ, Warszawa 1986 [3] Wilkinson B.: Układy Cyfrowe, WKŁ, Warszawa 2000 [4] Zwoliński M., Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, WKŁ, Warszawa 2002 Strona 14 z 14