- Nazwa przedmiotu:
- Układy logiczne
- Koordynator przedmiotu:
- Tadeusz ŁUBA
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Telekomunikacja
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- ULOG
- Semestr nominalny:
- 1 / rok ak. 2015/2016
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 118
- 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:
- 1
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia15h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Matematyka na poziomie szkoły średniej
- Limit liczby studentów:
- 150
- Cel przedmiotu:
- - ukształtowanie wśród studentów opinii o ogromnym znaczeniu syntezy logicznej w projektowaniu układów cyfrowych i eksploracji danych
- zapoznanie studentów z procedurami syntezy logicznej istotnymi dla współczesnych technologii realizacji układów cyfrowych
- ukształtowanie umiejętności stosowania zaawansowanych procedur syntezy logicznej
- Treści kształcenia:
- Informacje ogólne (1g): Aspekty elektroniczne i technologiczne układów logicznych. Układy specjalizowane ASIC. Układy PLD/FPGA. Rola i znaczenie syntezy logicznej.
Pojęcia podstawowe (4g): Podstawowe algorytmy teorio-grafowe. Algebra Boole’a. Przekształcanie wyrażeń boolowskich. Funktory logiczne (AND, OR, NAND, NOR, EXOR). Układy kombinacyjne. Synteza dwupoziomowa. Minimalizacja funkcji boolowskich (mapa Karnaugha, pojęcie implikantu). Realizacje bramkowe i w strukturach FPGA.
Komputerowe metody minimalizacji funkcji boolowskich (3g): Metoda Espresso. Pojęcie kostki. Procedura ekspansji. Macierz blokująca. Pokrycie kolumnowe. Metody obliczania pokrycia kolumnowego. Tablica implikantów prostych. Kofaktor. Procedury Espresso.
Redukcja argumentów (2g): Redukty funkcji boolowskich. Pojęcie zmiennej niezbędnej. Macierz porównań i funkcja wyróżniająca.
Synteza wielopoziomowa (2g): Dekompozycja funkcji boolowskich. Metoda klasyczna. Tablica dekompozycji. Relacja zgodności. Maksymalne klasy zgodne. Graf zgodności i niezgodności. Związki z kolorowaniem grafu. Synteza logiczna dla struktur FPGA.
Dekompozycja metodą rachunku podziałów(4g): Ogólne twierdzenie o dekompozycji. Obliczanie podziałów reprezentujących składowe dekompozycji. Metoda systematyczna. Relacja zgodności na zbiorze bloków podziału. Klasy zgodności. Pojęcie r-przydatności. Dekompozycja nierozłączna. Obliczanie zbioru wspólnego. Wyznaczanie zbioru wolnego i związanego. Zastosowania w syntezie układów z pamięciami.
Układy sekwencyjne (4g): Pojęcie automatu skończonego. Synteza abstrakcyjna, strukturalna i kombinacyjna. Minimalizacja liczby stanów. Algorytmy minimalizacji: algorytmy maksymalnych klas zgodności i ich związek z kolorowaniem grafów. Synchroniczne układy sekwencyjne. Automaty elementarne (przerzutniki). Obliczanie funkcji wzbudzeń. Kodowanie stanów wewnętrznych.
Układy asynchroniczne (1g): Metody syntezy. Zjawiska fizyczne: wyścigi i hazardy. Bezpieczne kodowanie stanów. Zabezpieczanie automatu przed wyścigami krytycznymi.
Układy sekwencyjne z pamięciami (2g): Kodowanie wstępne. Kodowanie wtórne. Synteza układu modyfikacji adresu. Obliczanie adresowania i zawartości pamięci mikroprogramu.
Układy cyfrowe (2g): Cyfrowe bloki funkcjonalne. Podstawowe układy kombinacyjne: kodery, dekodery, multipleksery, demultipleksery, sumatory. Bloki sekwencyjne: rejestry, liczniki. Pamięci ROM. Bloki wykonawcze i sterujące. Przykład syntezy strukturalnej.
Algorytmiczne maszyny stanów (2g): Sieć działań. Mikroinstrukcje. Mikroprogramowane układy sterujące.
Synteza logiczna układów cyfrowych (1g): Odwzorowanie technologiczne. Problemy implementacji komputerowej. Wady systemów komercyjnych. Struktury bramkowe. Struktury komórkowe. Synteza logiczna, strukturalna i behawioralna.
Metody syntezy logicznej w algorytmach eksploracji danych (2g): Redukcja atrybutów. Redukty tablic danych. Generacja reguł decyzyjnych metodą ekspansji. Zastosowania.
- Metody oceny:
- Egzamin pisemny i ustny, kolokwia, konkursy, prace domowe
- Egzamin:
- tak
- Literatura:
- 1. T. Łuba, Synteza układów logicznych. Oficyna Wydawnicza Politechniki Warszawskiej, 2005.
2. T. Łuba, D. Ojrzeńska-Wójter, Układy logiczne w zadaniach. Oficyna Wydawnicza Politechniki Warszawskiej, 2011.
3. T. Łuba (red.). Programowalne układy przetwarzania sygnałów i informacji, Wydawnictwa Komunikacji i Łączności, Warszawa, 2008.
4. U. Stańczyk, K. Cyran, B. Pochopień. Theory of logic circuits – volume 1 Fundamental issues. Publishers of the Silesian University of Technology, Gliwice 2007.
5. J. Astola, R. Stanković. Fundamentals of Switching Theory and Logic Design. Dordrecht: Springer, 2006.
6. S. Yanushkevich, V. Shmerko. Introduction to Logic Design. CRC Press, 2008.
7. C. Zieliński, Podstawy projektowania układów cyfrowych. PWN, Warszawa 2003.
8. T. Sasao. Switching Theory for Logic Synthesis. Kluwer Academic Publishers, 1999.
9. S. Hassoun, T. Sasao, R. Brayton (ed.), Logic Synthesis and Verification, Kluwer Academic Publishers, 2002.
10. G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York, 1994. Również tłumaczenie polskie, Synteza i optymalizacja układów cyfrowych. Wydawnictwa Naukowo-Techniczne, Warszawa 1998.
- Witryna www przedmiotu:
- http://www.zpt.tele.pw.edu.pl/didactics.html
- Uwagi:
- Realizacja co semestr.
Istotą przedmiotu jest wskazanie (niedocenianej w Polsce) roli i znaczenia syntezy logicznej w projektowaniu układów cyfrowych w nowoczesnych technologiach ze szczególnym uwzględnieniem układów programowalnych. Ponadto wykład wskazuje na istotne związki układów logicznych z niektórymi zagadnieniami informatyki takimi jak maszynowe uczenie, eksploracja danych oraz odkrywanie wiedzy.
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt ULOG_W01
- Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_W06
Powiązane efekty obszarowe:
T1A_W03, T1A_W04
- Efekt ULOG_W02
- Zna zasady algebry Boole’a i algorytmy teorio-grafowe w podstawowych zadaniach optymalizacji układów logicznych
Weryfikacja: kolokwium
Powiązane efekty kierunkowe:
K_W01
Powiązane efekty obszarowe:
T1A_W01, T1A_W02
- Efekt ULOG_W03
- Zna procedury syntezy logicznej stosowane w komercyjnych systemach komputerowego projektowania układów cyfrowych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_W04
Powiązane efekty obszarowe:
T1A_W02
- Efekt ULOG_W04
- Zna podstawowe bloki funkcjonalne układów logicznych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_W06
Powiązane efekty obszarowe:
T1A_W03, T1A_W04
Profil ogólnoakademicki - umiejętności
- Efekt ULOG_U01
- Potrafi dobrać procedury syntezy logicznej stosownie do docelowych technologii realizacyjnych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U09
Powiązane efekty obszarowe:
T1A_U05, T1A_U07, T1A_U09, T1A_U13
- Efekt ULOG_U02
- Potrafi stosować zasady algebry Boole’a i algorytmy teorio-grafowe w podstawowych zadaniach optymalizacji układów logicznych
Weryfikacja: Kolokwium
Powiązane efekty kierunkowe:
K_U06
Powiązane efekty obszarowe:
T1A_U07, T1A_U09
- Efekt ULOG_U03
- Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U01
Powiązane efekty obszarowe:
T1A_U01, T1A_U03, T1A_U04
- Efekt ULOG_U04
- Potrafi wskazać ograniczenia klasycznych metod syntezy logicznej
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U05
Powiązane efekty obszarowe:
T1A_U02, T1A_U07
- Efekt ULOG_U05
- Potrafi wskazać ograniczenia procedur syntezy logicznej w komercyjnych systemach komputerowego projektowania układów cyfrowych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U05
Powiązane efekty obszarowe:
T1A_U02, T1A_U07
- Efekt ULOG_U06
- Potrafi stosować zaawansowane procedury syntezy dwupoziomowej (ekspansja, redukcja argumentów i atrybutów, generacja reguł decyzyjnych)
Weryfikacja: kolokwium, egz. cz. pisemna
Powiązane efekty kierunkowe:
K_U16
Powiązane efekty obszarowe:
T1A_U08, T1A_U16
- Efekt ULOG_U07
- Potrafi stosować zaawansowane procedury syntezy wielopoziomowej (dekompozycja, modyfikacja adresu)
Weryfikacja: kolokwium, egz. cz. pisemna
Powiązane efekty kierunkowe:
K_U16
Powiązane efekty obszarowe:
T1A_U08, T1A_U16
- Efekt ULOG_U08
- Potrafi projektować algorytmiczne maszyny stanów i mikroprogramowane układy sterujące
Weryfikacja: egz. cz. pisemna
Powiązane efekty kierunkowe:
K_U16
Powiązane efekty obszarowe:
T1A_U08, T1A_U16
- Efekt ULOG_U09
- Potrafi stosować metody minimalizacji automatów
Weryfikacja: kolokwium
Powiązane efekty kierunkowe:
K_U06
Powiązane efekty obszarowe:
T1A_U07, T1A_U09
- Efekt ULOG_U10
- Potrafi opisać podstawowe bloki funkcjonalne układów logicznych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U16
Powiązane efekty obszarowe:
T1A_U08, T1A_U16
- Efekt ULOG_U11
- Potrafi wskazać związki syntezy logicznej z zagadnieniami eksploracji danych
Weryfikacja: egz. cz. ustna
Powiązane efekty kierunkowe:
K_U05
Powiązane efekty obszarowe:
T1A_U02, T1A_U07