Nazwa przedmiotu:
Programowalne układy cyfrowe
Koordynator przedmiotu:
mgr inż. Marcin ZIEMBICKI
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Elektronika i Telekomunikacja
Grupa przedmiotów:
Przedmioty kierunkowe
Kod przedmiotu:
PUCM
Semestr nominalny:
5 / rok ak. 2017/2018
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
15 h - udział w wykładach połączonych z ćwiczeniami 20 h - laboratoria 15 h - opanowanie materiału wykładowego 15 h - samodzielne przygotowanie do sprawdzianów i zajęć laboratoryjnych 25 h - przygotowanie projektu i sprawozdania 5 h - konsultacje z prowadzącym zajęcia projektowe 2 h - konsultacje z wykładowcą 2 h - konsultacje z prowadzącymi ćwiczenia laboratoryjne ŁĄCZNIE 99 h
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia0h
  • Laboratorium15h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Brak wymaganych przedmiotów poprzedzających; Realizacja materiału wymaga znajomości podstawowych zagadnień z dziedziny projektowania układów logicznych.
Limit liczby studentów:
30
Cel przedmiotu:
Podstawowym celem przedmiotu jest umożliwienie studentowi nabycia praktycznych umiejętności związanych z wykorzystaniem układów programowalnych, w tym: a) Metody projektowania prostych układów logicznych; b) Rodzaje dostępnych na rynku układów programowalnych (FPGA, CPLD), a także metody doboru układu do danego zastosowania; c) Podstawowe wiadomości z zakresu języków opisu sprzętu (VHDL); d) Implementacja układów w jednym ze środowisk programistycznych udostępnianych przez producentów układów programowalnych, obejmująca symulację funkcjonalną, symulację czasową oraz uruchomienie układu na zestawie uruchomieniowym; e) Testowanie układów (JTAG);
Treści kształcenia:
Wykład, ćwiczenia: - Wprowadzenie, przykłady zastosowań układów programowalnych; - Omówienie metod projektowania prostych układów logicznych (układy kombinacyjne, automaty synchroniczne, bloki funkcjonalne) - Wprowadzenie do języka VDHL na podstawie projektu przykładowego automatu, przystosowanego do implementacji na zestawie uruchomieniowym CPLD. Zadanie to jest rozbite na kilka wykładów, które obejmują: projekt układu na poziomie logicznym, identyfikację elementów zestawu uruchomieniowego niezbędnych do jego implementacji (w tym analiza kart katalogowych oraz schematów), omówienie opisu układu za pomocą języka VHDL (na poziomie RTL). Zagadnienia tematyczne podzielone są na układy kombinacyjne, przykłady stosowania hierarchicznego opisu układu, implementację automatów synchronicznych, przygotowanie bloczków testowych umożliwiających symulację funkcjonalną poszczególnych części implementowanego rozwiązania. - Wprowadzenie to testowania układów za pomocą JTAG (IEEE 1149.1) Laboratorium: - Ćwiczenie wprowadzające umożliwiające zaznajomienie się ze środowiskiem programistycznym dla układów programowalnych - Implementacja automatu omawianego na wykładzie, począwszy od utworzenia pustego projektu, poprzez utworzenie opisu w VHDL, symulację funkcjonalną poszczególnych elementów, symulację czasową układu oraz finalne uruchomienie całości na zestawie uruchomieniowym z układem CPLD. Projekt: - Zadania projektowe bazują na zadaniu wykonanym podczas ćwiczeń laboratoryjnych i obejmują modyfikację jego funkcjonalności stosowanie do otrzymanego tematu.
Metody oceny:
- Kolokwium końcowe (40 pkt) - zadania dot. umiejętności projektowania układów logicznych, sprawdzenie znajomości języka VHDL. - Laboratorium (40 pkt) - ocena implementacji poszczególnych bloków funkcjonalnych automatu omawianego na wykładzie. - Projekt (20 pkt) - ocena przedstawionego rozwiązania oraz dostarczonej dokumentacji. W przypadku trudniejszych zadań przewidziana jest dodatkowa premia uznaniowa od prowadzącego (+10 pkt).
Egzamin:
nie
Literatura:
M. Zwoliński "Projektowanie układów cyfrowych z wykorzystaniem języka VHDL", wyd. II, WKiŁ, 2009. C. Zieliński "Podstawy projektowania układów cyfrowych", Wydawnictwo Naukowe PWN, 2013. Doulos "The Designer's Guide to VHDL", http://www.doulos.com/knowhow/vhdl_designers_guide/ P. J. Ashenden "VHDL Tutorial", Elsevier Science (USA), 2004, http://www.cse.unsw.edu.au/~cs3211/refs/pa-vhdl-tute.pdf
Witryna www przedmiotu:
Uwagi:
- Warunkiem zaliczenia przedmiotu jest uzyskanie łącznie co najmniej 50 pkt., przy czym wymagane jest uzyskanie min. 20 pkt. z kolokwium i min. 20 pkt. z laboratorium. - Oceny wystawiane są według standardowej skali (pół stopnia co 10 pkt.). - Przyjęty system oceniania (wpływ premii uznaniowej za projekt) nie wyklucza możliwości otrzymania oceny większej niż 100 pkt.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka PUCM_W01
Ma wiedzę w zakresie podstawowych zastosowań układów programowalnych i metod ich projektowania
Weryfikacja: laboratorium oraz projekt
Powiązane charakterystyki kierunkowe: K_W05
Powiązane charakterystyki obszarowe:
Charakterystyka PUCM_W02
Ma uporządkowaną, podbudowaną teoretycznie wiedzę w zakresie zasad działania prostych układów logicznych (m.in.układów kombinacyjnych, automatów synchronicznych)
Weryfikacja: kolokwium końcowe i podczas zaliczenia projektu - student powinien potrafić wytłumaczyć, dlaczego przyjął przedstawiane przez siebie rozwiązanie.
Powiązane charakterystyki kierunkowe: K_W15
Powiązane charakterystyki obszarowe:
Charakterystyka PUCM_W03
Ma wiedzę w zakresie metodyki programowania z wykorzystaniem języka VHDL
Weryfikacja: Zaliczenie laboratorium (ocena implementacji zadanego automatu synchronicznego) oraz zaliczenie projektu
Powiązane charakterystyki kierunkowe: K_W19
Powiązane charakterystyki obszarowe:

Profil ogólnoakademicki - umiejętności

Charakterystyka PUCM_U02
Potrafi zaprojektować, zaimplementować w zestawie CPLD i przetestować proste układy cyfrowe
Weryfikacja: Kolokwium, zaliczenie projektu
Powiązane charakterystyki kierunkowe: K_U14
Powiązane charakterystyki obszarowe: