16. Cel przedmiotu - Platforma Zdalnej Edukacji
Transkrypt
16. Cel przedmiotu - Platforma Zdalnej Edukacji
Z1-PU7 WYDANIE N1 Strona 1 z 3 KARTA PRZEDMIOTU (pieczęć wydziału) 1. Nazwa przedmiotu: PROGRAMOWALNE UKŁADY CYFROWE 2. Kod przedmiotu:PrUC 3. Karta przedmiotu ważna od roku akademickiego:2015/2016 4. Forma kształcenia: studia drugiego stopnia 5. Forma studiów: studia stacjonarne 6. Kierunek studiów: ELEKTRONIKA I TELEKOMUNIKACJA (WYDZIAŁ AEiI) 7. Profil studiów: ogólnoakademicki 8. Specjalność: 9. Semestr: 1 10. Jednostka prowadząca przedmiot: Instytut Elektroniki, RAu3 11. Prowadzący przedmiot: prof. dr hab. inż. Dariusz Kania 12. Przynależność do grupy przedmiotów: przedmioty wspólne 13. Status przedmiotu: obowiązkowy 14. Język prowadzenia zajęć: polski 15. Przedmioty wprowadzające oraz wymagania wstępne: PTC, PUC 16. Cel przedmiotu: Celem wykładów jest przedstawienie architektur układów programowalnych oraz podstawowych elementów procesu projektowania układów cyfrowych realizowanych w strukturach programowalnych. Na zajęciach projektowych studenci nabywają umiejętność posługiwania się narzędziami wspomagającymi projektowanie układów cyfrowych realizowanych w strukturach programowalnych. 17. Efekty kształcenia:1 Nr Opis efektu kształcenia W1 Metoda sprawdzenia efektu kształcenia Zna charakterystyczne cechy podstawowych egzamin architektur układów programowalnych W2 Ma podstawową wiedzę dotyczącą syntezy logicznej egzamin i procesu odwzorowania technologicznego układów cyfrowych w strukturach programowalnych U1 Potrafi opisać moduł układu cyfrowego w języku Wykonanie zadania opisu sprzętu projektowego U2 Potrafi zaprojektować (opisać, zweryfikować Wykonanie zadania poprawność działania itp.) układ zrealizowany w projektowego strukturze FPGA U3 Potrafi korzystać ze specjalistycznego Wykonanie zadania oprogramowania wspomagającego projektowanie projektowego układów w strukturach programowalnych 18. Formy zajęć dydaktycznych i ich wymiar (liczba godzin) W.30 1 P.15 należy wskazać ok. 5 – 8 efektów kształcenia Forma prowadzenia zajęć wykład wykład Projekt Projekt Projekt Odniesienie do efektów dla kierunku studiów K2_W07 K2_W11 K2_W07 K2_W11 K2_U12 K2_U13 K2_U12 K2_U13 K2_U12 K2_U13 Z1-PU7 WYDANIE N1 Strona 2 z 3 19. Treści kształcenia: Wykład: 1. Różnorodne formy implementacji układów cyfrowych; układy ASIC: full-custom, Gate Array, Standard Cells, PLD; różnice, zakres zastosowań. 2. Klasyfikacja układów programowalnych pod kątem ich struktury wewnętrznej: • podstawowe konfiguracje matryc AND-OR; (PLE, PAL, PLA), architektura Folded NOR, Folded NAND, • sprzętowe rozwiązania stosowane w prostych układach programowalnych - podstawa rozwoju złożonych struktur programowalnych, • architektura złożonych układów programowalnych CPLD i FPGA - podobieństwa, istotne różnice, zastosowania, • programowalne systemy na chip'ie (pSoC) - zasoby sprzętowe, zasoby programowe, specyfika projektowania układów w oparciu o wirtualne komponenty, 3. Klasyfikacja układów programowalnych pod kątem technologii i sposobu wykonywania programowalnych połączeń (IFL Integrated Fuse Logic, EPLD –Erasable PLD, EEPLD –Electically Erasable PLD, SRAM-based PLD, ispPLD). 4. Etapy syntezy układów cyfrowych realizowanych w oparciu o struktury programowalne: sposoby opisu projektowanych układów, problemy związane z minimalizacją: wpływ sposobu minimalizacji na efektywne wykorzystanie zasobów struktur programowalnych o określonej architekturze bazowej, metoda minimalizacji Quine-McCluskey’a, heurystyczne metody minimalizacji, strategie minimalizacji dedykowana dla układów typu PAL, wykorzystanie specyficznych właściwości struktur programowalnych; bramki XOR, linia komplementarna, bufory trójstanowe, przykłady opisu i minimalizacji prostych układów kombinacyjnych przeprowadzonych dla różnych architektur układów programowalnych, problemy związane z podziałem projektowanego układu na poszczególne układy programowalne lub bloki logiczne zawarte wewnątrz układów CPLD lub FPGA: dobór odpowiedniej struktury programowalnej, metody ekspansji liczby wejść, wyjść oraz iloczynów, podstawowe problemy związane z odwzorowaniem technologicznym projektowanego układu (technology mapping) podstawowe modele dekompozycji funkcji logicznych: dekompozycja funkcji słabo określonych, dekompozycje złożone pojedynczych funkcji i zespołów funkcji logicznych, dekompozycja rozłączna/nierozłączna funkcji logicznych, strategie poszukiwania dekompozycji funkcji (metoda Maghouta, szybkie algorytmy kolorowania wierzchołków grafu niekompatybilności kolumn matrycy podziałów, funkcja pokrycia - algorytmy rozwiązywania problemów pokrycia), przykłady prostych projektów wskazujących na znaczenie dekompozycji w syntezie logicznej prowadzonej dla różnych rodzin układów programowalnych synteza automatów sekwencyjnych: wpływ sposobu opisu układu sekwencyjnego na efektywność syntezy, kodowanie stanów wewnętrznych automatów sekwencyjnych, wpływ typu wyjścia układu programowalnego na efektywność kodowania, korekcja niewłaściwych cykli pracy automatów synchronicznych, przykłady opisu i syntezy prostych układów sekwencyjnych, 5. Metodyka projektowania układów z wykorzystaniem narzędzi wspomagających projektowanie układów cyfrowych na bazie struktur programowalnych - przykłady prostych projektów. Projekt Studenci wykonując zadanie projektowe zapoznają się z cyklem projektowym układów cyfrowych realizowanych w strukturach programowalnych. Każdy projekt kończy się praktyczną weryfikacją. Projekty weryfikowane są w opracowanych do tego celu modelach laboratoryjnych zawierających układy firmy Altera lub Xilinx. Studenci otrzymują schematy modułów laboratoryjnych oraz ich zasobów. Zadanie projektowe sprowadza się do zrealizowania odpowiedniego układu (zadanego przez prowadzącego) i zaprezentowania jego działania z użyciem dostosowanego do zadania modelu laboratoryjnego. 20. Egzamin: tak Z1-PU7 WYDANIE N1 Strona 3 z 3 21. Literatura podstawowa: Wykład: 1. Materiały podstawowe - wykład + materiały na platformie zdalnej edukacji 2. D. Kania, Układy logiki programowalnej, metody syntezy i sposoby odwzorowania technologicznego, PWN 2012 3. T. Łuba, Synteza układów cyfrowych, WKiŁ, 2003 Projekt: 1. Materiały podstawowe - platforma zdalnej edukacji 2. Pasierbiński J., Zbysiński P., Układy programowalne w praktyce, WKŁ, 2002 3. Kalisz J. (red.), Język VHDL w praktyce, WKŁ, 2002 4. Skahill K., Język VHDL. Projektowanie programowalnych układów logicznych, WNT, 2001 5. M Zwoliński, Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, WKŁ 2007 22. Literatura uzupełniająca: 1. Giovanni De Michelli.: Synteza i optymalizacja układów cyfrowych, WNT 1998 2. Perry D.: VHDL: Programming by Example, McGraw-Hill, Inc., 2002. 3. Palnitkar S., Verilog HDL. A Guide to Digital Design and Synthesis, Prentice Hall, 2003 4. Lee W.F., Verilog Coding for Logic Synthesis, John Wiley & Sons Inc., 2003 5. Lee J.M., Verilog Quickstart: A Practical Guide to Simulation and Synthesis in Verilog, Kluwer Academic Publishers, 2002 6. Peter J. Ashenden, The VHDL Cookbook, First Edition. July, 1990 23. Nakład pracy studenta potrzebny do osiągnięcia efektów kształcenia Lp. Forma zajęć Liczba godzin kontaktowych / pracy studenta 30/10 1 Wykład 2 Ćwiczenia / 3 Laboratorium / 4 Projekt 5 Seminarium 6 Inne 5/15 Suma godzin 50/40 15/15 / 24. Suma wszystkich godzin: 90 25. Liczba punktów ECTS:2 3 26. Liczba punktów ECTS uzyskanych na zajęciach z bezpośrednim udziałem nauczyciela akademickiego 2 27. Liczba punktów ECTS uzyskanych na zajęciach o charakterze praktycznym (laboratoria, projekty) 1 26. Uwagi: Zatwierdzono: ……………………………. ………………………………………………… (data i podpis prowadzącego) (data i podpis dyrektora instytutu/kierownika katedry/ Dyrektora Kolegium Języków Obcych/kierownika lub dyrektora jednostki międzywydziałowej) 2 1 punkt ECTS – 25-30 godzin.