Ukªady Kombinacyjne - cz ± I Sebastian Kurczyk sebastian.kurczyk@polsl.pl Piotr Krauze piotr.krauze@polsl.pl 13 kwietnia 2013 Streszczenie Celem niniejszego laboratorium jest zapoznanie studentów z metodami komputerowo wspomaganej syntezy ukªadów kombinatorycznych. Zaj cia opracowano w oparciu o ±rodowisko Xilinx ISE Design Suit 13.3. W czasie zaj laboratoryjnych wykorzystana b dzie pªyta prototypowa Spartan 3A rmy Xilinx z ukªadem FPGA XC3S700A. 1 Wprowadzenie Wszystkie relizacje ukªadowe projektowane w ramach zaj laboratoryjnych przedmiotu Podstawy Techniki Cyfrowej b d tworzone w oparciu o ukªady logiki programowalnej FPGA (Field Programmable Gate Array). FGPA to rodzaj programowalnego ukªadu logicznego, który w przewa»aj cej cz ±ci skªada si z rozmieszczonych macierzowo bloków logicznych CLB. Poszczególne bloki CLB ª czone s ze sob za pomoc poziomych i pionowych linii traktów poª czeniowych oraz programowalnych matryc kluczy po- ª czeniowych. Ponadto w powy»szym ukªadzie zawarto bloki DCM sªu» ce do generacji sygnaªów zegarowych o wybranych parametrach (cz stotliwo±, wypeªnienie, przesuni cie fazowe), pozwalaj ce na projektowanie ukªadów o ró»nych niezsynchronizowanych domenach zegarowych. Ukªady blokowych i rozproszonych pami ci RAM wbudowane w ukªady FPGA mog sªu»y jako zintegrowana pami projektowanych implementowanych ukªadów synchronicznych (np. mikroprocesorów). Bloki wej±ciowo-wyj±ciowe IOB dziaªaj w ró»nych trybach pracy i wykorzystywane s do wyprowadzenia sygnaªów logicznych z wn trza FPGA w wybranych standardach poziomów logicznych (np. TTL, CMOS). Nowoczesne ukªady FPGA maj mo»liwo± przeprogramowania w locie, a cz ±ciowa rekonguracja ukªadu pozwala zaadaptowa jednostk obliczeniow zbudowan na bazie ukªadu FPGA w zale»no±ci od 1
specyki wykonywanych oblicze«numerycznych. Ukªady FPGA wykorzystywane s mi dzy innymi w lotnictwie i w wojsku w zadaniach cyfrowego przetwarzania sygnaªów. 2 rodowisko Edytor ISE uruchamiany jest za pomoc skrótu jak na rysunku 1. Rysunek 1: Uruchomienie edytora Xilinx ISE Design Suit 2.1 Tworzenie projektu W celu stworzenia nowego projektu nale»y klikn File -> New Project.., jak pokazano to na rysunku 2 Rysunek 2: Tworzenie nowego projektu Korzystaj c z Wizarda projektu nale»y wypeªni prawidªowo pola Name oraz Location. Jako Top-level source type nale»y wybra schematic. Konguracja prezentowana na rysunku 3. 2
Rysunek 3: Tworzenie nowego projektu Po przej±ciu do nast pnej strony konguracji za pomoc przycisku Next, nale»y okre±li cel (Evaluation Development Board ) dla jakiego przygotowywany jest projekt. Konguracja prezentowana na rysunku 4 3
Rysunek 4: Tworzenie nowego projektu Podsumowanie konguracji projektu prezentowane jest na rysunku 5. 4
Rysunek 5: Tworzenie nowego projektu 2.2 Tworzenie nowych ¹ródeª w projekcie W celu stworzenia nowego moduªu w projekcie nale»y wybra z menu Files -> New Source. (rysunek 6). 5
Rysunek 6: Dodawanie ¹ródªa do projektu Preferowany typ moduªu ¹ródªowego dla schematów to Schematic, natomiast dla symulacji to Verilog Test Fixture. (rysunek 7). 6
Rysunek 7: Dodawanie ¹ródªa do projektu 2.3 Przykªadowy projekt - bramka AND Dla potrzeb symulacji i implementacji nale»y do stworzonego pustego do tej pory projektu doda schemat pojedynczej bramki AND. (rysunek 8) W tym celu nale»y posªu»y si narz dziem Add Symbol i z biblioteki symboli wyszuka bramk AND2. Nast pnie do bramek nale»y doda wej±cia i wyj±cie narz dziem Add I/O Marker. (rysunek 9) 7
Rysunek 8: Add Symbol Rysunek 9: Add I/O Marker Domy±lne nazwy wej± i wyj± mo»na zmienia klikaj c dwukrotnie symbol we/wy na schemacie. (rysunek 10) 8
Rysunek 10: Zmiana nazwy we/wy ukªadu 3 Symulacja W celu przeprowadzenia symulacji nale»y doda plik testowy w drzewie projektu (rysunek 11), typu Verilog Test Fixture (rysunek 12) oraz powi zanego z testowanym schematem (rysunek 13). 9
Rysunek 11: Dodawanie pliku testowego do projektu 10
Rysunek 12: Okre±lenie typu pliku testowego Rysunek 13: Powi zanie pliku testowego ze schematem Plik testowy nale»y zmodykowa analogicznie do rysunku 14, a nast pnie uruchomi narz dzie symulacji przez dwukrotne klikni cie Simulate Behavioral Model w polu Design. 11
Rysunek 14: Plik testowy Po uko«czeniu poprawnej symulacji zostanie uruchomiony program ISim umo»liwiaj cy zapoznanie si z wynikami symulacji. (rysunek 15). Interfejs programu ISim jest intuicyjny. 12
Rysunek 15: program ISim 4 Implementacja W celu dokonania syntezy ukªadu, nale»y w pierwszej kolejno±ci doda plik ogranicze«implementacji (rysunek 16). Rysunek 16: Plik ogranicze«implementacji W tym pliku zdeniowane s logiczne wi zy pomi dzy schematem a - 13
zycznym ukªadem we/wy FPGA. Plik ten nale»y uzupeªni zgodnie z rysunkiem 17. Rysunek 17: Deniowanie pliku ogranicze«implementacji Po wypeªnieniu tego pliku mo»na uruchomi narz dzie syntezy ukªadu poprzez dwukrotne klikni cie Generate Programmin File (rysunek 18) Rysunek 18: Deniowanie pliku ogranicze«implementacji Wynikiem procesu syntezy jest plik.bit, który nale»y przesªa do ukªadu FPGA. W tym celu nale»y klikn dwukrotnie Manage Conguration Project 14
(impact). Spowoduje to uruchomienie programu impact umo»liwiaj cego przesªanie pliku do urz dzenia docelowego. Najwygodniej posªu»y si gotowym wizardem (rysunek 19) Rysunek 19: wizard programu impact Proces wgrywania pliku.bit do ukªadu zademonstrowany jest pogl dowo poni»ej i zostanie omówiony na zaj ciach. 15
Rysunek 20: wizard programu impact 16
Rysunek 21: wizard programu impact Rysunek 22: wizard programu impact 17
Rysunek 23: wizard programu impact 18
Rysunek 24: wizard programu impact 5 Zaj cia laboratoryjne Do zaj laboratoryjnych dopuszczeni s studenci zapisani na kurs Techniki Cyfrowej i którzy podpisali list BHP. Ocena z zaj laboratoryjnych wystawiana jest na podstawie pracy w trakcie zaj, udokumentowanej w protokole i kartkówki na wst pie. Zakres kartkówki obejmuje: Znajomo± tablic prawdy dla pojedynczych bramek logicznych, umiej tno± projektowania ukªadów kombinacyjnych dowoln metod (algebra Boole'a, siatki Karnaugh), prawa De Morgana, wiedza teoretyczna przedstawiona w niniejszej instrukcji. 19