plik


ÿþLaboratorium przedmiotu Podstawy Techniki Cyfrowej w.3: Synchroniczne automaty sekwencyjne Wprowadzenie: W ramach laboratorium u\ywana bdzie pByta uruchomieniowa Spartan 3A firmy Xilinx oparta o matryc FPGA  Spartan XC3S700A. Zrodowiskiem programistycznym u\ywanym podczas laboratorium bdzie ISE firmy Xilinx w wersji 10.1 oraz wewntrzna aplikacja ISE  StateCad, sBu\ca do projektowania ukBadów sekwencyjnych za pomoc grafu stanów. Synteza ukBadu opisanego za pomoc grafu stanów: 1) Stworzenie nowego projektu. File->New Project ... Okre[lenie nazwy projektu i lokacji na dysku; Wybór Top-level Source type jako HDL (w przypadku projektu, gdzie moduBem nadrzdnym bdzie plik w jzyku Verilog *.v) lub Schematic (je\eli moduBem nadrzdnym bdzie plik schematu) ; 2) Wybór cech matrycy oraz sposobów syntezy i symulacji; Family: Spartan 3A; Device: XC3S700A; Package: FG484; Synthesis Tool: XST; Simulator: ISE Simulator; Preffered Language: Verilog; 3) ZakoDczenie tworzenia projektu; Next -> Next-> Finish; 4) Dodanie pliku typu State Diagram; Project -> New Source -> State Diagram; Nadanie nazwy, zaznaczenie Add to Project; 5) Edycja grafu; Podczas edycji nale\y stworzy kompletny graf automatu. Do rysowania stanów nale\y u\ywa opcji Add -> State, do tworzenia przej[ midzy stanami opcji Add -> Transition (patrz rysunek 2). Dostp do opcji dowolnego elementu grafu nastpuje poprzez dwukrotne kliknicie elementu. Opcja View -> Show Control Points wy[wietla punkty, za pomoc których mo\na definiowa ksztaBt elementów grafu. Edycja opcji ka\dego stanu lub przej[cia midzy stanami pozwala na dodanie warunków dla wyj[ lub przej[ (opis w stylu jzyka VHDL): Pole Outputs zawiera warunki dla wyj[cia, np. WY =  1 Pole Condition zawiera warunki logiczne, np. WE1 =  0 or WE2 =  0 Zaleca si dodanie sygnaBu inicjalizujcego (Reset) wymuszajcego przej[cie do okre[lonego stanu (Opcja Add -> Reset). Powinien by wybrany reset asynchroniczny. 6) Kompilacja; Gotowy projekt maszyny stanu nie mo\e by bezpo[rednio przetwarzany i konieczna jest jego kompilacja, a wcze[niej konfiguracja: Ustalanie jzyka wynikowego kompilacji: Options -> Configuration -> Language -> Verilog; (patrz rys. 1) Options -> Configuration -> State Assignment -> One -Hot Options -> Configuration -> Optimize -> Speed; Options -> Configuration -> Options -> Wszystko poza Minimize Options -> Configuration -> Language Vendor-> XST WBa[ciwa kompilacja: Options -> Compile; rys.1. Konfiguracja. W efekcie otrzymujemy plik w jzyku Verilog (*.v), który nale\y doda do projektu (W edytorze Project Navigator opcja Project -> Add Source). W przypadku problemów zaleca si usun z projektu plik grafu (*.dia), doda plik w jzyku Verilog ponownie a nastpnie przywróci plik *.dia. Nale\y pamita, aby przypisa atrybut Top Module (Right Mouse Button -> Set as Top Module) wBa[ciwemu plikowi najwy\szemu w hierarchi (patrz instrukcja w. 1). Podgldajc zawarto[ dowolnego pliku *.v nale\y zauwa\y deklaracje zmiennych wej[ciowych i wyj[ciowych dla tego moduBu. W przypadku prostego projektu przedstawionego na rys. 2 oprócz zmiennych WE i WY, zauwa\y mo\na zmienne CLK (Zegar) i RESET. Plik ograniczeD *.ucf (patrz instrukcja w. 1) nale\y tworzy tylko dla moduBu oznaczonego jako Top Module. Je\eli jako zegar u\ywany jest wewntrzny sygnaB prostoktny o czstotliwo[ci 50 MHz (w praktyce przy tak du\ej czstotliwo[ci zegara pozwala to na traktowanie ukBadu tak, jakby byB on asynchroniczny) to nale\y pamita, \e dostpny jest on na pinie E12 (patrz instrukcja w. 1 -> Tworzenie plików ograniczeD *.ucf). Mo\na oczywi[cie u\ywa wewntrznego sygnaBu taktujcego ze zmniejszon czstotliwo[ci poprzez np. Digital Clock Manager (DCM_SP) dostpny np. z edytora schematów (Symbols -> Categories -> Symbols -> DCM_SP). rys.2. PrzykBadowy projekt. Je\eli zegar ma by dostpny z zewntrz np. za pomoc klawisza to najcz[ciej bdzie trzeba uzyskany kod w jzyku Verilog traktowa jako moduB podrzdny (trzeba pamita o stworzeniu jego symbolu przed u\yciem w module gBównym  po zaznaczeniu wybieramy Processes -> Design Utilities -> Create Schematic Symbol). ModuB gBówny bdzie moduBem schematu i w nim ustalone zostan globalne we/wy, które zostan u\yte przy tworzeniu pliku ograniczeD *.ucf (patrz instrukcja do wiczenia 1). W pliku schematu sygnaB zegara powinien wtedy zosta doprowadzony do ukBadu poprzez bufor IBUFG, dostpny w bibliotece symboli logicznych przy edycji moduBu schematu (Symbols -> Categories -> Symbols -> IBUFG). Zawsze przed koDcow kompilacj projektu nale\y sprawdzi poprawno[ hierarchicznego usytuowania plików projektu oraz zale\no[ci midzy nimi (Implementation -> Sources) !! Realizacja projektu: Wszystkie pozostaBe etapy realizacji projektu, takie jak tworzenie wynikowego pliku do zaprogramowania matrycy (je\eli w trakcie kompilacji nie pojawi si jawny bBd to ostrze\enia mo\na zignorowa), przyporzdkowanie sygnaBów WE/WY do pinów matrycy, konfiguracja pByty uruchomieniowej, symulacja itp. wykonywa nale\y identycznie jak podczas laboratorium nr. 1 (UkBady kombinacyjne). Przebieg wiczenia: Celem wiczenia jest zapoznanie z metodami projektowania ukBadów sekwencyjnych poprzez realizacj w/w ukBadów z u\yciem grafu automatu w aplikacji StateCAD. Przygotowanie do laboratorium: praktyczna znajomo[ sposobów projektowania ukBadów sekwencyjnych; praktyczna znajomo[ obsBugi [rodowiska ISE (w. 1); Przebieg wiczenia i sposób oceniania: sprawdzanie przygotowania do zaj (max 1 pkt); konfiguracja sprztu; zapoznanie ze sposobem syntezy automatu sekwencyjnego w aplikacji StateCAD; analiza postawionych zadania i stworzenie grafów automatów sekwencyjnych; przeniesienie prostego projektu do aplikacji StateCAD i translacja na posta moduBu Verilog (max 1 pkt); symulacja w/w projektu (z wewntrznym zegarem taktujcym) w aplikacji ISE Simulator i realizacja na FPGA (max 1 pkt); Symulacja i realizacja bardziej zaawansowanego automatu sekwencyjnego z sygnaBem zegarem sterowanym przez u\ytkownika (max 2 pkt); * podczas wiczenia ka\da sekcja tworzy osobny protokóB z przebiegu wiczenia ProtokóB: ProtokóB powinien zawiera: nazwiska osób wykonujcych wiczenie; tytuB i numer wiczenia; poprawny numer grupy i sekcji; komentarze przedstawiajce postp w realizacji wiczenia oraz wszelkie niezbdne do zrealizowania wiczenia notatki; Literatura: http://direct.xilinx.com/direct/ise10_tutorials/ise10tut.pdf - ISE In-Depth Tutorial http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf - Spartan-3A/3AN FPGA Starter Kit Board User Guide http://www.actel.com/documents/modelsim_tutorial_ug.pdf http://users.ece.gatech.edu/~leehs/ECE3055/homework/modelsim_tut.pdf - StateCAD Tutorials http://toolbox.xilinx.com/docsan/xilinx10/help/iseguide/mergedProjects/state/state.htm Opracowanie: Mariusz Latos, 2009

Wyszukiwarka

Podobne podstrony:
15 Język Instruction List Układy sekwencyjne Działania na liczbach materiały wykładowe
instrukcja PTC cw2 asynchroniczne
WM Cw3 Instrukcja sciskanie v12 student 10 01 07
rozdzial 4 Instrukcje sekwencyjne
2 Instrukcja do laboratorium układy sekwencyjne
instrukcja prezentacja2
instrukcja bhp przy obsludze euro grilla
DS1000PL Instrukcja
Blaupunkt CR5WH Alarm Clock Radio instrukcja EN i PL
Instrukcja do cwiczenia 4 Pomiary oscyloskopowe
Instrukcja F (2010)
Instrukcja Programowania Zelio Logic 2 wersja polska

więcej podobnych podstron