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: I.P6S_UW, III.P6S_UW.1.o
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