Module also offered within study programmes:
General information:
Name:
Technika cyfrowa i układy programowalne
Course of study:
2019/2020
Code:
IETP-1-308-n
Faculty of:
Computer Science, Electronics and Telecommunications
Study level:
First-cycle studies
Specialty:
-
Field of study:
Electronics and Telecommunications
Semester:
3
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Part-time studies
Responsible teacher:
dr inż. Dąbrowska-Boruch Agnieszka (adabrow@agh.edu.pl)
Module summary

W ramach modułu przekazywana jest wiedza z zakresu budowy, zasad działania i projektowania układów cyfrowych.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Student ma świadomość odpowiedzialności za pracę własną, potrafi podporządkować się zasadom pracy w zespole oraz ma świadomość odpowiedzialności za wspólnie realizowane zadania ETP1A_K04 Involvement in teamwork
Skills: he can
M_U001 Student potrafi opracować dokumentację dotyczącą realizacji zadania inżynierskiego i przygotować tekst zawierający omówienie wyników realizacji zadania ETP1A_U04 Execution of laboratory classes
M_U002 Potrafi wykorzystać poznane metody projektowania układów cyfrowych a także symulacje komputerowe do analizy i oceny działania cyfrowych układów elektronicznych ETP1A_U06 Execution of laboratory classes
M_U003 Potrafi sformułować specyfikację prostych systemów cyfrowych, porównać rozwiązania projektowe cyfrowych układów elektronicznych ze względu na zadane kryteria użytkowe i ekonomiczne (pobór mocy, szybkość działania, koszt) ETP1A_U12, ETP1A_U08 Execution of laboratory classes
M_U004 Student potrafi zaprojektować, przeprowadzić symulację podstawowych układów cyfrowych, zbudować, uruchomić i przetestować zaprojektowany układ cyfrowy ETP1A_U12, ETP1A_U09, ETP1A_U13 Execution of laboratory classes
Knowledge: he knows and understands
M_W001 Student ma podstawową wiedzę w zakresie zasady działania podstawowych funkcji logicznych oraz sposobu ich realizacji w układach cyfrowych ETP1A_W01, ETP1A_W08 Test,
Examination
M_W002 Student zna i rozumie zasadę działania złożonych układów cyfrowych takich jak pamięci czy też układy programowalne. ETP1A_W05 Test,
Examination
M_W003 Student ma podstawową wiedzę w zakresie propagacji sygnału cyfrowego w rzeczywistych układach, oraz w jaki sposób realizowana jest konwersja sygnału cyfrowego na analogowy lub analogowego na cyfrowy ETP1A_W05 Test,
Examination
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
36 22 0 14 0 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Student ma świadomość odpowiedzialności za pracę własną, potrafi podporządkować się zasadom pracy w zespole oraz ma świadomość odpowiedzialności za wspólnie realizowane zadania - - + - - - - - - - -
Skills
M_U001 Student potrafi opracować dokumentację dotyczącą realizacji zadania inżynierskiego i przygotować tekst zawierający omówienie wyników realizacji zadania - - + - - - - - - - -
M_U002 Potrafi wykorzystać poznane metody projektowania układów cyfrowych a także symulacje komputerowe do analizy i oceny działania cyfrowych układów elektronicznych - - + - - - - - - - -
M_U003 Potrafi sformułować specyfikację prostych systemów cyfrowych, porównać rozwiązania projektowe cyfrowych układów elektronicznych ze względu na zadane kryteria użytkowe i ekonomiczne (pobór mocy, szybkość działania, koszt) + - + - - - - - - - -
M_U004 Student potrafi zaprojektować, przeprowadzić symulację podstawowych układów cyfrowych, zbudować, uruchomić i przetestować zaprojektowany układ cyfrowy - - + - - - - - - - -
Knowledge
M_W001 Student ma podstawową wiedzę w zakresie zasady działania podstawowych funkcji logicznych oraz sposobu ich realizacji w układach cyfrowych + - + - - - - - - - -
M_W002 Student zna i rozumie zasadę działania złożonych układów cyfrowych takich jak pamięci czy też układy programowalne. + - + - - - - - - - -
M_W003 Student ma podstawową wiedzę w zakresie propagacji sygnału cyfrowego w rzeczywistych układach, oraz w jaki sposób realizowana jest konwersja sygnału cyfrowego na analogowy lub analogowego na cyfrowy + - + - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 156 h
Module ECTS credits 6 ECTS
Udział w zajęciach dydaktycznych/praktyka 36 h
Preparation for classes 32 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 18 h
Realization of independently performed tasks 69 h
Examination or Final test 1 h
Module content
Lectures (22h):

Zajęcia w ramach modułu prowadzone są w postaci wykładu, laboratorium.

Wykłady
1. Podstawowe zagadnienia techniki cyfrowej
Algebra Boole’a (aksjomaty, wybrane twierdzenia i definicje), funkcje logiczne, postacie kanoniczne funkcji, działania arytmetyczne, kody

2. Układy kombinacyjne
Definicja układu kombinacyjnego, funktory logiczne, fizyczna realizacja funktorów (rodzaje, technologia wykonania, parametry, charakterystyki), zasady łączenia układów wykonanych w różnych technologiach, minimalizacja funkcji logicznych (tablice Karnaugh, algorytm Quina-McMcuskey’a), hazardy w układach kombinacyjnych, rodzaje układów kombinacyjnych, multipleksery i demultipleksety.

3. Układy sekwencyjne
Definicja układu sekwencyjnego, rodzaje i parametry układów sekwencyjnych (przerzutniki, liczniki, rejestry), wyścigi logiczne, konwersja przerzutników, analiza układów sekwencyjnych, automaty Moore’a i Mealy’ego (definicja, synteza automatu, konwersja automatów), kodowanie stanów automatu, minimalizacja stanów wewnętrznych automatu, automaty asynchroniczne, pojęcie gonitwy krytycznej i niekrytycznej, realizacje prostych układów sekwencyjnych w języku opisu sprzętu, rejestry przesuwne.

4. Pamięci
Rodzaje pamięci, ich budowa i zasada działania: ROM/RAM, SRAM/DRAM. Typowy przebieg zapisu i odczytu pamięci asynchronicznej i synchronicznej. Pamięci dwuportowe. Pamięci specjalizowane FIFO (First-In First-Out, LUT (Look Up Table)).

5. Przetworniki Analogowo-Cyfrowe i Cyfrowo-Analogowe
Parametry przetworników analogowo-cyfrowych i cyfrowo-analogowych. Architektura i zasada działania podstawowych przetworników: z rezystorami wagowymi, drabinka R-2R (C-2C), łańcuchem rezystorów, Flash, z pojedynczym i podwójnym całkowaniem, kompensacyjny, PWM, sigma-delta.

6. Układy Programowalne
Budowa i zasada działania układów PAL/GAL oraz układów FPGA. Sposoby realizacji logiki kombinacyjnej oraz sekwencyjnej w układach FPGA. Podstawowe moduły wbudowane w układy FPGA: pamięci LUT, dedykowane moduły dodające i mnożące, różne rodzaje pamięci.

7. Propagacja sygnałów cyfrowych w linii długiej. Odpowiedz linii długiej na skok jednostkowy. Eliminacja odbić poprzez dopasowanie linii długiej i sposoby realizacji dopasowania w układach cyfrowych. Standard LVDS. Dystrybucja sygnałów zegarowych.

Laboratory classes (14h):

Laboratorium

1. Wprowadzenie do komputerowego projektowania
Edycja schematu układu cyfrowego: dodawanie elementów bramek, przerzutników i innych elementów bibliotecznych, łączenie elementów za pomocą pojedynczych linii i magistral. Edycja schematu hierarchicznego. Symulacja schematu, wprowadzanie wymuszeń, analiza wyników symulacji. Synteza i implementacja przykładowego projektu na konkretnej platformie sprzętowej.

2. Układy kombinacyjne
Projekt, symulacja i implementacja w układach FPGA wylosowanego układu kombinacyjnego lub arytmetycznego.

3. Rejestry
Projekt, symulacja i implementacja w układach FPGA wylosowanego układu rejestru lub multipleksera.

4. Liczniki
Projekt, symulacja i implementacja w układach FPGA wylosowanego układu licznika.

5. Automaty
Projekt, symulacja i implementacja w układach FPGA wylosowanego układu automatu (FSM).

6. Pamięci
Projekt, symulacja i implementacja w układach FPGA wylosowanego układu pamięci.

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Laboratory classes: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Wszystkie ćwiczenia laboratoryjne muszą zakończyć się oceną pozytywną. Poszczególe ćwiczenia laboratoryjne będą weryfikowane poprzez kolokwium, sprawozdanie lub projekt wykonywany w trakcie zajęć. Oceny negatywne należy poprawić w terminie ustalonym z prowadzącym.
Warunkiem dopuszczenia do egzaminu jest uzyskanie zaliczenia z ćwiczeń laboratoryjnych.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Method of calculating the final grade:

Warunkiem uzyskania pozytywnej oceny końcowej jest uzyskanie pozytywnej oceny z laboratorium oraz egzaminu.
Ocena końcowa jest średnią (śr) ocen z laboratorium (50%) oraz egzaminu (50%).
Ocena końcowa OK jest równa
OK= śr (jest zaokrąglana w górę do połowy stopnia) – pod warunkiem, że student uzyskał wszystkie zaliczenia w pierwszym terminie.
OK= śr (jest zaokrąglana w dół do połowy stopnia) – pod warunkiem, że student uzyskał zaliczenia w drugim terminie.
OK= 3.0 – pod warunkiem, że student uzyskał zaliczenie w trzecim terminie (do średniej wliczane są wtedy oceny niedostateczne z terminu 1 i 2 – w takim wypadku średnia ocena w najbardziej optymistycznym wariancie będzie mniejsza od oceny 3.5)

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Odrabianie zaległości odbywać się będzie w terminie ustalonym z prowadzącym.

Prerequisites and additional requirements:

Brak

Recommended literature and teaching resources:

Materiały zamieszczone na stronie www.fpga.agh.edu.pl/tc, www.wikipedia.org (szczególnie wersja angielska) i inne linki podane na wykładzie.
A. K. Maini, Digital Electronics, Principle, Devices and Applications, Wiley, Indie, 2007
F. Vahid Digital Design, USA, Wiley 2007
S. Sławiński – Technika impulsowa
S. Kuta, Elementy i układy elektroniczne. Cz. II
J. Kalisz, Podstawy elektroniki cyfrowej (wydanie trzecie)
M. Łakomy, J. Zabrodzki, Cyfrowe układy scalone

Scientific publications of module course instructors related to the topic of the module:

Architektury zaawansowanych układów arytmetycznych w sprzętowych systemach rekonfigurowalnych, Ernest JAMRO. — Kraków : Wydawnictwa AGH, 2013.

Energy efficient calculations of text similarity measure on FPGA-accelerated computing platforms / Michał KARWATOWSKI, Paweł RUSSEK, Maciej WIELGOSZ, Sebastian KORYCIAK, Kazimierz WIATR, Parallel Processing and Applied Mathematics : 11th international conference, PPAM 2015 : Krakow, Poland, September 6–9, 2015 (Lecture Notes in Computer Science) S. 31–40.

A custom co-processor for the discovery of low autocorrelation binary sequences, Paweł RUSSEK, Michał KARWATOWSKI, Ernest JAMRO, Kazimierz WIATR, Measurement, Automation, Monitoring, 2016 vol. 62 no. 5, s. 154–156.

Additional information:

Na wykładach student zachęcany jest do aktywnego uczestnictwa poprzez zadawanie pytań oraz udział w grywalizacji (aplikacja Kahoot – strona www.kahoot.com lub aplikacja na systemy Android i iOS).