Z1-PU7 WYDANIE N1 Strona 1 z 3
(pieczęć wydziału) KARTA PRZEDMIOTU
1. Nazwa przedmiotu: PROGRAMOWALNE UKŁADY CYFROWE 2. Kod przedmiotu:PrUC 3. Karta przedmiotu ważna od roku akademickiego:2012/2013
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: dr hab. inż. Dariusz Kania, prof. Pol. Śl.
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 laboratoryjnych 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 Metoda sprawdzenia
efektu kształcenia
Forma prowadzenia
zajęć
Odniesienie do efektów dla kierunku
studiów W1 Zna charakterystyczne cechy podstawowych
architektur układów programowalnych
egzamin wykład K2_W07
K2_W11 W2 Ma podstawową wiedzę dotyczącą syntezy logicznej
i procesu odwzorowania technologicznego układów cyfrowych w strukturach programowalnych
egzamin wykład K2_W07
K2_W11 U1 Potrafi zaprojektować i zaprogramować prosty układ
realizowany w strukturze SPLD
Wykonanie zadania indywidualnego na laboratorium
Laboratorium K2_U12 K2_U13 U2 Potrafi zaprojektować (opisać, zweryfikować
poprawność działania itp.) układ zrealizowany w strukturze FPGA
Wykonanie zadania na laboratorium
Laboratorium K2_U12 K2_U13 U3 Potrafi korzystać ze specjalistycznego
oprogramowania wspomagającego projektowanie układów w strukturach programowalnych
Wykonanie zadania na laboratorium
Laboratorium K2_U12 K2_U13
18. Formy zajęć dydaktycznych i ich wymiar (liczba godzin) W.30 L.15
1 należy wskazać ok. 5 – 8 efektów kształcenia
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.
Laboratorium
Studenci wykonując różnorodne zadania zapoznają się z cyklem projektowym układów cyfrowych realizowanych w strukturach programowalnych. Każdy projekt kończy się praktyczną weryfikacją. W przypadku prostych układów programowalnych (Część I) Studenci programują układy w programatorze, po czym przenoszą je do kaset laboratoryjnych i testują prawidłowość ich działania za pomocą zadajników i wskaźników. Złożone projekty (Część IIa lub IIb) 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 studentów sprowadza się do zrealizowania odpowiedniego układu (zadanego przez prowadzącego) i zaprezentowania jego działanie z użyciem dostosowanego do zadania modelu laboratoryjnego. W ramach laboratorium Student realizuje dwa zadania: jedno w części I, a drugie w części IIa lub IIb.
Część I: Układy SPLD
• Projekt, realizacja, symulacja, programowanie, sprzętowa weryfikacja układów kombinacyjnych oraz układów sekwencyjnych realizowanych w prostych układach programowalnych 22V10 (kodery, dekodery, transkodery, liczniki, rejestry, proste układy asynchroniczne i synchroniczne)
Część IIa: Quartus (Altera)
• Projekt, realizacja, symulacja, programowanie i sprzętowa weryfikacja indywidualnych zadań projektowanych realizowanych w przygotowanych do tego celu modelach laboratoryjnych wykorzystujących układy FPGA (Cyclone, Stratix) firmy Altera.
Część IIb: ISE (Xilinx)
• Projekt, realizacja, symulacja, programowanie i sprzętowa weryfikacja indywidualnych zadań projektowanych realizowanych w przygotowanych do tego celu modelach laboratoryjnych wykorzystujących układy FPGA firmy Xilinx.
Z1-PU7 WYDANIE N1 Strona 3 z 3
20. Egzamin: tak
21. Literatura podstawowa:
Wykład:
1. Materiały podstawowe - wykład + materiały na platformie zdalnej edukacji
2. T. Łuba, B. Zwierzchowski, Komputerowe projektowanie układów cyfrowych, WKiŁ, 2000 3. T. Łuba, Synteza układów cyfrowych, WKiŁ, 2003
Laboratorium:
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
1 Wykład 30/5
2 Ćwiczenia /
3 Laboratorium 15/25
4 Projekt /
5 Seminarium /
6 Inne 5/10
Suma godzin 50/40
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 – 30 godzin.