Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Podobne dokumenty
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Projektowanie układów na schemacie

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Bezpieczeństwo informacji oparte o kryptografię kwantową

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

Projektowanie Urządzeń Cyfrowych

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

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

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

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

Język opisu sprzętu VHDL

Elektronika samochodowa (Kod: ES1C )

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowania Układów Elektronicznych CAD Laboratorium

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

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

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

Magistrale na schematach

INSTRUKCJA LABORATORYJNA

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

MentorGraphics ModelSim

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

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

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Inżynieria Materiałowa i Konstrukcja Urządzeń - Projekt

Elektronika samochodowa (Kod: ES1C )

Bezpieczeństwo informacji oparte o kryptografię kwantową

INSTYTUT SYSTEMÓW ELEKTRONICZNYCH WEL WAT ZAKŁAD EKSPLOATACJI SYSTEMÓW ELEKTRONICZNYCH. Ćwiczenia nr 3: RYSUNEK ELEKTRYCZNY WSPOMAGANY KOMPUTEROWO

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

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

MODELOWANIE I SYMULACJA UKŁADÓW PNEUMATYCZNYCH, HYDRAULICZNYCH I ELEKTRYCZNYCH za pomocą programu komputerowego AUTOSIM 200

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

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

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

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

Krótkie wprowadzenie do ModelSim i Quartus2

PROGRAMOWALNE STEROWNIKI LOGICZNE

Programowanie w języku Python. Grażyna Koba

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Politechnika Białostocka

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Projektowanie układów VLSI-ASIC techniką od szczegółu do ogółu (bottom-up) przy użyciu pakietu CADENCE w technologii UMC 0.18µm

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Parametryzacja przetworników analogowocyfrowych

Projektowanie z użyciem procesora programowego Nios II

METODY REPREZENTACJI INFORMACJI

Scalone układy programowalne FPGA.

Delphi podstawy programowania. Środowisko Delphi

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Sposoby projektowania systemów w cyfrowych

ZL19PRG. Programator USB dla układów PLD firmy Altera

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Politechnika Białostocka

Kolory elementów. Kolory elementów

STEROWANIE URZĄDZENIAMI PRZEMYSŁOWYMI ĆWICZENIE 4 BLOKI FUNKCYJNE

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

Politechnika Białostocka

Wygląd okna aplikacji Project Navigator.

S P R A W O Z D A N I E T e m a t: Projektowanie układów realizujących złożone funkcje logiczne.

Instrukcja laboratoryjna cz.0

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Laboratorium Elektrycznych Systemów Inteligentnych

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4. Laboratorium z przedmiotu: Technika cyfrowa i mikroprocesorowa

Użycie Visual Basic for Applications ("VBA")

Zaliczenie przedmiotu:

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

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

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Programy dodatkowe (Plug-Ins)

Łukasz Januszkiewicz Technika antenowa

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

PROJEKTOWANIE UKŁADÓW PNEUMATYCZNYCH za pomocą programu komputerowego SMC-PneuDraw 2.8

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

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE ES1C420 300 Ćwiczenie Nr 9 REALIZACJA PROJEKTÓW HIERARCHICZNYCH W STRUKTURACH PROGRAMOWALNYCH Opracował: dr inż. Marian Gilewski dr inż. Walenty Owieczko BIAŁYSTOK 2017

Zawartość instrukcji 1. Informacje wstępne. 2. Nawigacja w strukturze hierarchicznej. 3. Komunikacja w strukturze hierarchicznej. 4. Zadania do realizacji. 5. Wymagania BHP 6. Sprawozdanie. 1. Informacje wstępne. Struktury hierarchiczne wiążą się z zagadnieniami syntezy wielopoziomowej i dekompozycji funkcjonalnej złożonych układów cyfrowych. Stosowany w laboratorium pakiet programowy umożliwia realizację projektów hierarchicznych. Realizacja takiego projektu łączy w sobie zagadnienia z zakresu: - syntezy elementu bibliotecznego użytkownika, - posługiwania się elementami bibliotecznymi systemu, - organizacji komunikacji pomiędzy różnymi elementami projektu na poszczególnych poziomach hierarchicznych, - dekompozycji funkcjonalnej zadania projektowego z uwzględnieniem specyfiki struktury programowalnej. Poglądową budowę struktury hierarchicznej przedstawiono na rysunku 1. Rys.1. Struktura hierarchiczna projektu W systemie projektowym na najwyższym poziomie struktury (top-level) znajduje się plik graficzny zawierający sieć połączeń elementów bibliotecznych lub symboli reprezentujących elementy funkcyjne zdefiniowane przez użytkownika. Symbole użytkownika powinny znajdować się w katalogu pliku top-level. Plik graficzny tego poziomu powinien posiadać tę

samą nawę własną jak projekt układu. Projektowi układu przypisywana jest konkretna struktura programowalna, której fizyczną reprezentację stanowią numery pinów układu scalonego przypisane portom zawartym w pliku graficznym poziomu "0". Kompilacja projektu odwołuje się do pliku top-level i zawartych w tam informacji. W wyniku kompilacji powstaje plik źródłowy programatora konkretnego układu scalonego. Dlatego powinna być zachowana zgodność nazw projektu i pliku poziomu "0" (rysunek poniżej). Rys.2. Poprawna relacja nazw: projektu i pliku top-level oraz symbolu użytkownika. Niespełnienie powyższego warunku prowadzi do kompilacji innego projektu i innego związanego z nim pliku top-level niż aktualnie edytowany. Może to powodować błędne wnioski dotyczące poprawności projektu. W szczególnym przypadku plik poziomu "0" może być plikiem tekstowym programu w języku AHDL, wówczas jednak w procesie kompilacje nie powstaje plik źródłowy programatora. Przypadek ten ma miejsce podczas sprawdzania poprawności funkcjonalnej części projektu lub tworzenia elementów bibliotecznych użytkownika. Innym często popełnianym błędem przez studentów, w początkowym etapie nauki obsługi systemu projektowego, jest próba umieszczenia w pliku poziomu "0" symbolu o takiej samej nazwie jak nazwa projektu. Symbol taki może reprezentować również plik graficzny, będący jego definicją. Niezrozumienie tej specyfiki powoduje zapętlenie systemu plików, skasowanie funkcji symbolu i w efekcie uszkodzenie projektu. Obowiązuje zasada: nazwa projektu nie może być identyczna z nazwami elementów bibliotecznych w nim stosowanych (Rys.2.). Elementy schematu poziomu "0" (L01, L02,..., L0n) mogą stanowić elementarne symbole biblioteczne lub użytkownika, zdefiniowane graficzną siecią połączeń lub programem AHDL, jak również mogą to być struktury zagnieżdżone niższych poziomów ((L-111, L-112,..., L-11m), itd.). Komunikacja pomiędzy poziomami hierarchicznymi odbywa się za pomocą portów oraz magistral. Szczególnym przypadkiem magistrali jednoelementowej jest pojedyńcza linia łącząca. Magistrala powinna posiadać identyczną etykietę i wymiar jak porty do niej

dołączone. Magistrala, która na schemacie nie podlega rozgałęzieniu (łączy bezpośrednio wyjście z wejściem/wejściami) może nie zawierać zdefiniowanej etykiety (wymiaru). Zaleca się stosowanie, zarówno w pliku graficznym jak i tekstowym języka AHDL, magistral i portów etykietowanych zgodnie z konwencją: nazwa[górny_indeks.. dolny_indeks] np. mbus[3..0] - oznacza magistralę zawierającą elementy: mbus3, mbus2, mbus1, mbus0. W takiej konwencji górny_indeks oznacza transmisję bitu MSB, zaś dolny_indeks transmisję bitu LSB. Taki zapis pozwala uniknąć niekonsekwencji w interpretacji zapisu danych i stosowania dodatkowych dyrektyw kompilatora w programach AHDL. Porty pliku top-level powinny być jednowymiarowe ze względu na konieczność przypisywania indywidualnych numerów pinów układu scalonego struktury programowalnej. 2. Nawigacja w strukturze hierarchicznej. Na rysunku 3 przedstawiono zawartość pliku graficznego top-level sumatora 4 bitowego zrealizowanego w strukturze hierarchicznej. Schemat zawiera element biblioteki użytkownika s4bit_pl, realizujący funkcję sumowania dwóch licz 4 bitowych A i B. Liczba A jest wartością stałą zadawaną parametrami bloku bibliotecznego LPM_CONSTANT. Liczba B wprowadzana jest za pośrednictwem portów wejściowych DataB0 DataB3. Sygnały z tych portów za pośrednictwem identycznie etykietowanych linii łączących wchodzą na magistralę o takiej samej nazwie własnej DataB[3..0]. Rys.3 Plik top-level projektu sumator. Warto zauważyć, iż etykieta magistrali i etykieta wejścia, do którego jest dołączona, mogą mieć różne nazwy własne, istotna jest jedynie zgodność wymiarów. W przypadku magistrali łączącej bezpośrednio wyjście elementu LPM_CONSTANT z wejściem elementu s4bit_pl nie zachodzi konieczność jej etykietowania. Porty wyjściowe Q0 Q4 wyprowadzają 5 bitowy wynik sumowania. Wskutek bezpośredniego połączenia, w tym przypadku nie zachodzi również konieczność etykietowania linii łączących. Z powyższym projektem związana jest (relacja nie jest widoczna na schemacie) struktura programowalna EPF10K70RC240-4. Proces przypisania zrealizowano funkcją z menu górnego systemu: Assign -> Device... -> FLEX10K -> EPF10K70RC240-4 - > OK.

Portom wejściowym i wyjściowym przypisano selektywnie piny układu scalonego struktury wykonując polecenia z menu podręcznego: Assign -> Pin/Location/Chip... -> Pin: -> numer_pinu -> Pin Type -> typ_pinu -> OK. Element s4bit_pl zawiera niższe poziomy hierarchiczne. Po dwukrotnym kliknięciu wskaźnikiem myszy na symbol graficzny elementu następuje przejście do niższego poziomu hierarchicznego -1 przedstawionego na poniższym rysunku. Rys.4. Poziom -1 hierarchii projektu sumator Zawiera on 4 identyczne bloki pełnych sumatorów jednobitowych s1bit_pl. Każdy z tych bloków może być zdefiniowany funkcyjnie w sposób graficzny przy pomocy schematu bądź kodem źródłowym np. języka AHDL. Opisy bloków odpowiadają najniższemu poziomowi w hierarchicznego projektu. W przypadku definicji graficznej (rysunek 5) opis zawiera elementarne Rys.5. Najniższy poziom hierarchiczny projektu sumator w postaci pliku graficznego.

funktory logiczne, które nie zawierają innych elementów bibliotecznych w swojej strukturze. Kod źródłowy (rysunek 6), opisujący sumator jednobitowy, reprezentuje również zwartą jednostkę funkcjonalną, która nie podlega dalszemu podziałowi w sensie funkcjonalnym. Rys.6. Najniższy poziom hierarchii projektu sumator w postaci kodu źródłowego AHDL. Przemieszczanie się w projekcie hierarchicznym w dół (na niższe poziomy) następuje poprzez dwukrotne kliknięcie wybranego elementu. Poruszanie się w górę odbywa się w wyniku zamykania okien kolejnych, otwartych poziomów hierarchicznych. Powrót do top-level z dowolnego poziomu następuje w wyniku wywołania funkcji Opens the top-level design file for the current project... ikony z górnego menu graficznego (rysunek 7). Rys.7. Funkcja powrotu do top-level z menu górnego. Nadanie nazwy projektowi następuje podczas inicjacji, realizacją funkcji górnego menu: File -> Project -> Name -> nazwa_projektu -> OK, lub później w trakcie realizacji elementów składowych projektu. Zalecana jest pierwsza technika nadawania nazwy, gdyż wpisuje się ona w naturalny ciąg kolejnych czynności projektowych: - otwarcie nowego projektu, - otwarcie nowego pliku graficznego top-level i przypisanie mu nazwy projektu, - edycja i weryfikacja plików składowych oraz elementów bibliotecznych,

- budowa struktury hierarchicznej, - kompilacja struktury, - symulacja, programowanie i uruchomienie układu. Drugi sposób następuje w późniejszych etapach procesu projektowego, gdy również możliwe jest nadanie lub zmiana nazwy projektu. Do tego celu służą dwie funkcje górnego menu graficznego wskazane na rysunkach 8 i 9. Rys.8. Funkcja zmiany nazwy projektu na taką samą nazwę, jak nazwa aktualnie obsługiwanego pliku graficznego lub pliku z kodem źródłowym AHDL. Rys.9. Funkcja nadania nowej nazwy projektu. Wyświetlanie i edycję struktury hierarchicznej projektu obsługuje funkcja ikony górnego menu graficznego wskazanej na rysunku 10. Na rysunku 11 przedstawiono przykładową strukturę hierarchiczną z interpretacją poszczególnych jej elementów. Rys.10. Funkcja wyświetlania i edycji struktury hierarchicznej projektu.

Rys.11. Widok przykładowej struktury hierarchicznej z interpretacją elementów. Widok struktury hierarchicznej projektu sumator przedstawiono na rysunku 12. Na najwyższym poziomie zawiera ona plik top_level sumator.gdf. z którym skojarzone są pliki pomocnicze : - sumator.rpt - plik raportowy procesu kompilacji, - sumator.fit - plik raportowy rozmieszczenia w strukturze programowalnej, - sumator.acf - plik przypisania zasobów dla kompilatora i symulatora, - sumator.pin - plik raportowy przypisania pinów układu scalonego. Rys.12. Widok struktury hierarchicznej projektu sumator. Na najwyższym poziomie hierarchicznym znajdują się: element biblioteczny lpm_constant zdefiniowany kodem źródłowym AHDL w pliku lpm_constant.tdf. Jest to element końcowy ścieżki hierarchicznej, nie zawiera składników na niższych poziomach. Element biblioteczny użytkownika w postaci pliku graficznego s4bit_pl.gdf jest drugim składnikiem top-level. Składa się on z 4 identycznych sumatorów jednobitowych s1bit_pl.tdf, w tym przypadku zdefiniowanych kodem źródłowym języka AHDL. Możliwa jest zmiana typu pliku definiującego element biblioteczny. W tym celu należy wskazać dany element (Rys.12) a następnie z menu podręcznego wykonać polecenie: Change file type ->.gdf lub.tdf -> OK wybierając właściwy rodzaj pliku, pod warunkiem, że zarówno plik graficzny jak i źródłowy AHDL znajdują się w katalogu projektu.

4. Zadania do realizacji. 4.1 Moduł DSP. a/ zaprojektować i zrealizować w strukturze FPGA moduł DSP przedstawiony na rysunku, jako strukturę hierarchiczną, b/ opcjonalnie rozważyć możliwość przetwarzania potokowego, c/ zbadać symulacyjnie czasy propagacji sygnałów od wejść do wyjść, d/ układ zoptymalizować w sensie szybkości działania, badając różne realizacje elementów składowych systemu i wybierając najkorzystniejszą. 4.2 Hierarchiczny układ arytmetyczny. a/ zaprojektować w strukturze FPGA układ wyznaczający wartość wielomianu 3 stopnia dla zadanych dodatnich współczynników i 4 bitowej zmiennej wejściowej, b/ układ zaprogramować i zbadać w modelu laboratoryjnym UP2. 5. Wymagania BHP Warunkiem przystąpienia do wykonywania ćwiczenia jest zapoznanie się z instrukcją stanowiskową BHP stosowaną w Laboratorium i ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje te powinny być przedstawione studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w Laboratorium. Tekst instrukcji stanowiskowej obowiązującej w Laboratorium został umieszczony na początku niniejszego opracowania. 6. Sprawozdanie. Sprawozdanie powinno zawierać: - stronę tytułową, zgodną ze standardami wymaganymi przez Dziekanat (szczegółowe informacje dostępne w Dziekanacie Wydziału Elektrycznego), - treści zadań projektowych, - schematy układów pomiarowych (zarówno aparaturowych jak i symulacyjnych), - komunikaty kompilatora poszczególnych projektów, - wyniki badań symulacyjnych i/lub aparaturowych projektów, - wydruk struktur hierarchicznych, - interpretację wyników i wnioski końcowe.

7. Literatura 1. L. Grodzki, W. Owieczko: Podstawy techniki cyfrowej, 2006 2. Barski M., Jędruch W.: Układy cyfrowe. Podstawy projektowania i opis w języku VHDL. PGd, Gdańsk 2007 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