Nazwa przedmiotu:
Układy logiczne
Koordynator przedmiotu:
Tadeusz ŁUBA
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Elektronika
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
ULOG
Semestr nominalny:
1 / rok ak. 2019/2020
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:
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
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:
160
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:
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. Więcej na ten temat: Tadeusz Łuba, Nauczanie Techniki Cyfrowej w zreformowanym programie studiów Makrokierunku Elektronika, Informatyka i Telekomunikacja, Biuletyn Wydziału EiTI Politechniki Warszawskiej, Nr. 3-4, (51/52), marzec/kwiecień 2010.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka ULOG_W02
Zna podstawowe bloki funkcjonalne układów logicznych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_W09
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_W04
Zna procedury syntezy logicznej stosowane w komercyjnych systemach komputerowego projektowania układów cyfrowych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_W13
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U09
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:
Charakterystyka ULOG_U13
Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_W09
Powiązane charakterystyki obszarowe:

Profil ogólnoakademicki - umiejętności

Charakterystyka ULOG_U09
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_U01
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U09
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_U02
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U09
Potrafi stosować zaawansowane procedury syntezy wielopoziomowej (dekompozycja, modyfikacja adresu)
Weryfikacja: kolokwium, egz. cz. pisemna
Powiązane charakterystyki kierunkowe: K_U02
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U16
Potrafi projektować algorytmiczne maszyny stanów i mikroprogramowane układy sterujące
Weryfikacja: egz. cz. pisemna
Powiązane charakterystyki kierunkowe: K_U02
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U09
Potrafi dobrać procedury syntezy logicznej stosownie do docelowych technologii realizacyjnych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U01
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U09
Potrafi stosować metody minimalizacji automatów
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe: K_U02
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U10
Potrafi wskazać ograniczenia klasycznych metod syntezy logicznej
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U04
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U10
Potrafi wskazać związki syntezy logicznej z zagadnieniami eksploracji danych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U01
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_U13
Potrafi opisać elementy logiczne heterogenicznych struktur CPLD/FPGA
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U04
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_W02
Potrafi opisać podstawowe bloki funkcjonalne układów logicznych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U04
Powiązane charakterystyki obszarowe:
Charakterystyka ULOG_W04
Potrafi wskazać ograniczenia procedur syntezy logicznej w komercyjnych systemach komputerowego projektowania układów cyfrowych
Weryfikacja: egz. cz. ustna
Powiązane charakterystyki kierunkowe: K_U02
Powiązane charakterystyki obszarowe:

Profil praktyczny - umiejętności

Charakterystyka Wpisz opis
Wpisz opis
Weryfikacja: Wpisz opis
Powiązane charakterystyki kierunkowe:
Powiązane charakterystyki obszarowe: