Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej
Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów pierwszego stopnia na kierunku Informatyka Proponowana realizacja w semestrze 5
Wymagania wstępne Znajomość zagadnień z dziedziny techniki cyfrowej Znajomość podstaw programowania
Efekty kształcenia Celem przedmiotu jest poznanie przez studentów: komputerowego projektowania układów cyfrowych zasad projektowania urządzeń cyfrowych elementów oraz składni języka VHDL teorii układów cyfrowych w rozszerzonym zakresie współczesnej bazy technologicznej systemów cyfrowych (układy CPLD/FPGA)
Efekty kształcenia Student po zakończeniu zajęć powinien umieć: zaprojektować układ o średniej złożoności według zadanej specyfikacji z wykorzystaniem języka VHDL wykorzystywać systemy do projektowania systemów cyfrowych na bazie logiki programowalnej (Quartus II)
Treść wykładu (1) Wprowadzenie do przedmiotu. Ogólny model systemu cyfrowego. Etapy projektowania systemów cyfrowych. Modele systemów cyfrowych. Model architektury, logiczny i geometrii. Model behawioralny, strukturalny i fizyczny. Podstawy języka VHDL. Zalety i wady wykorzystywania języka VHDL. Deklaracje jednostki projektowej i architektur. Przykład prostego projektu.
Treść wykładu (2) Typy i obiekty w języku VHDL. Stałe, zmienne oraz sygnały. Typy danych : skalarne i wektorowe. Atrybuty (interfejsów, architektur, typów i sygnałów). Tworzenie modelu behawioralnego i strukturalnego w języku VHDL. Instrukcje współbieżne i sekwencyjne języka VHDL. Projektowanie typowych kombinacyjnych układów logicznych z wykorzystaniem VHDL. Bramki logiczne, multipleksery, kodery, dekodery itp.
Treść wykładu (3) Projektowanie typowych sekwencyjnych układów logicznych z wykorzystaniem VHDL. Liczniki, rejestry itp. Projektowanie automatów skończonych z użyciem języka VHDL. Opis automatu Moore a. Opis automatu Mealy ego. Projektowanie układów złożonych w języku VHDL. Hierarchia w złożonych projektach. Biblioteki, pakiety i komponenty. Funkcje i procedury.
Treść wykładu (4) Testowanie i weryfikacja modeli systemów cyfrowych w VHDL. Różne podejścia do problemu tworzenia pobudzeń testujących. Przykłady złożonych projektów zrealizowanych za pomocą języka VHDL. Typowe błędy popełniane przy projektowaniu systemów cyfrowych w języku VHDL. Współczesna baza technologiczna systemów cyfrowych. Układy ASIC. Technologia projektowania systemów cyfrowych na bazie układów CPLD/FPGA. Realizacja systemów cyfrowych w układach logiki programowalnej.
Treść wykładu (5) Układy SPLD, struktury PAL, PLA. Układy CPLD. Architektura układów CPLD MAX II firmy Altera oraz XC9500 firmy Xilinx Układy FPGA, Układy FPGA z rodziny Cyclone firmy Altera oraz z rodziny Spartan firmy Xilinx. Banki złożonych bloków funkcjonalnych IP (Intellectual Property). Projektowanie systemów cyfrowych z wykorzystaniem IP. Podsumowanie wykładu.
Pracownia specjalistyczna sprzęt i oprogramowanie Oprogramowanie Quartus II firmy Altera Płytka prototypowa UP3 firmy Altera
Pracownia specjalistyczna (1) Zapoznanie się z systemem Quatrus II oraz płytą prototypową UP3. Realizacja przykładowego projektu. (2h) Realizacja układów za pomocą edytora graficznego systemu Quartus II. Testowanie i weryfikacja projektu za pomocą narzędzi środowiska Quartus II. (2h) Projektowanie prostych układów kombinacyjnych w języku VHDL. Bramki logiczne, koder, dekoder, multiplekser. (2h)
Pracownia specjalistyczna (2) Projektowanie złożonych układów kombinacyjnych w języku VHDL. Układy hierarchiczne. (4h) Projektowanie prostych układów sekwencyjnych w języku VHDL. Liczniki, rejestry, dzielniki. (2h) Projektowanie złożonych układów sekwencyjnych. Implementacja różnych typów pamięci RAM.(4h)
Pracownia specjalistyczna (3) Testowanie i weryfikacja stworzonych modeli w języku VHDL. Tworzenie plików testowych (testbench). Weryfikacja wybranych wcześniej stworzonych układów (4h) Stworzenie modelu i projekt złożonego systemu cyfrowego. (8h) Obrona projektów i zaliczenie. (2h)
Literatura (1) W języku polskim: 1. Skahil K.: Język VHDL. Projektowanie programowalnych układów logicznych. WNT. Warszawa 2001. 2. Praca zbiorowa pod red. J. Kalisza: Język VHDL w praktyce,, WKŁ 2002. 3. Zwoliński M.: Projektowanie układów cyfrowych z wykorzystaniem języka VHDL,, WKŁ 2002 4. Łuba, T. Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych, WKŁ, Warszawa, 2000 5. Kalisz J.: Podstawy elektroniki cyfrowej. WKŁ, Warszawa 2002. 6. Zbysiński P., Pasierbiński J.: Układy programowalne - pierwsze kroki,, BTC, 2002
Literatura (2) w języku angielskim: 7. K.C. Chang.: Digital systems design with VHDL and synthesis: an integrated approach. Los Alamitos : IEEE Computer Society, 1999 7. P.J.Asheden.: The VHDL Cookbook. University of Adelaide, South Australia. 1990. 8. Vahid F., Lysecky R.: VHDL for Digital Design. Wiley, 2007 9. Dokumentacje techniczne układów programowalnych ze stron: www.altera.com, www.xilinx.com. 10. Dokumentacja płytki i opis systemu Quatrus II ze strony www.altera.com