- 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. 2018/2019
- 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
                    - Charakterystyka ULOG_W01
- Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_W06
 Powiązane charakterystyki obszarowe: 
                        I.P6S_WG
- Charakterystyka ULOG_W02
- Zna zasady algebry Boole’a i algorytmy teorio-grafowe w podstawowych zadaniach optymalizacji układów logicznych
 Weryfikacja: kolokwium
 Powiązane charakterystyki kierunkowe: 
                        K_W01
 Powiązane charakterystyki obszarowe: 
                        I.P6S_WG
- Charakterystyka ULOG_W03
- Zna procedury syntezy logicznej stosowane w komercyjnych systemach komputerowego projektowania układów cyfrowych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_W04
 Powiązane charakterystyki obszarowe: 
                        I.P6S_WG
- Charakterystyka ULOG_W04
- Zna podstawowe bloki funkcjonalne układów logicznych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_W06
 Powiązane charakterystyki obszarowe: 
                        I.P6S_WG
Profil ogólnoakademicki - umiejętności
                    - Charakterystyka ULOG_U01
- Potrafi dobrać procedury syntezy logicznej stosownie do docelowych technologii realizacyjnych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U09
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka ULOG_U02
- Potrafi stosować zasady algebry Boole’a i algorytmy teorio-grafowe w podstawowych zadaniach optymalizacji układów logicznych
 Weryfikacja: Kolokwium
 Powiązane charakterystyki kierunkowe: 
                        K_U06
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.1.o
- Charakterystyka ULOG_U03
- Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U01
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.2.o
- Charakterystyka ULOG_U04
- Potrafi wskazać ograniczenia klasycznych metod syntezy logicznej
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U05
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW
- Charakterystyka ULOG_U05
- Potrafi wskazać ograniczenia procedur syntezy logicznej w komercyjnych systemach komputerowego projektowania układów cyfrowych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U05
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW
- Charakterystyka 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 charakterystyki kierunkowe: 
                        K_U16
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka ULOG_U07
- Potrafi stosować zaawansowane procedury syntezy wielopoziomowej (dekompozycja, modyfikacja adresu)
 Weryfikacja: kolokwium, egz. cz. pisemna
 Powiązane charakterystyki kierunkowe: 
                        K_U16
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka ULOG_U08
- Potrafi projektować algorytmiczne maszyny stanów i mikroprogramowane układy sterujące
 Weryfikacja: egz. cz. pisemna
 Powiązane charakterystyki kierunkowe: 
                        K_U16
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka ULOG_U09
- Potrafi stosować metody minimalizacji automatów
 Weryfikacja: kolokwium
 Powiązane charakterystyki kierunkowe: 
                        K_U06
 Powiązane charakterystyki obszarowe: 
                        III.P6S_UW.1.o, I.P6S_UW
- Charakterystyka ULOG_U10
- Potrafi opisać podstawowe bloki funkcjonalne układów logicznych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U16
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka ULOG_U11
- Potrafi wskazać związki syntezy logicznej z zagadnieniami eksploracji danych
 Weryfikacja: egz. cz. ustna
 Powiązane charakterystyki kierunkowe: 
                        K_U05
 Powiązane charakterystyki obszarowe: 
                        I.P6S_UW