- 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. 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:
- 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: