Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Podstawy techniki cyfrowej

Informacje ogólne

Kod przedmiotu: 103A-CBxxx-ISP-POTEC Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy techniki cyfrowej
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Informatyka techniczna )-Cyberbezpieczeństwo-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 5.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

POTEC

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest zdobycie umiejętności analizy i syntezy układów logicznych, specyfikacji układów na poziomie funkcjonalnym i binarnym, specyfikacji układów cyfrowych w języku HDL.

Pełny opis:

Celem przedmiotu jest zdobycie umiejętności analizy i syntezy układów logicznych, specyfikacji układów na poziomie funkcjonalnym i binarnym, specyfikacji układów cyfrowych w języku HDL.


W czasie wykładu omawiane są przykłady, które są realizowane w rzeczywistych układach. Na ćwiczeniach laboratoryjnych omawiane są przykłady zadań, pokazane kolejne etapy obliczeń i analiza wyników. Używając symulatorów i kompilatorów realizowane są układy kombinacyjne i sekwencyjne, kurs kończy się na zaprogramowaniu rzeczywistych układów cyfrowych. Praca obejmuje także analizę otrzymanych realizacji: podawanie przygotowanych testów i obserwacja odpowiedzi.



Treść wykładu

  1. Podstawy sygnałów cyfrowych – kwantyzacja, kodowanie, szum. Transmisja szeregowa a równoległa. Algebra Boolea i funkcje boolowskie. Układy kombinacyjne i sekwencyjne – definicje. Specyfikacja i implementacja systemu cyfrowego. Kody liczbowe: postawa 2,10,16; ze znakiem (ZM, U1, U2) i bez znaku (NKB, Graya); ułamki fixed point; dodawanie liczb, zmiana podstawy. (2 godz.)
  2. Reprezentacja danych. Kodowanie. Reprezentacja wektora. Definicja funkcji. Układ kombinacyjny – definicje, czarna skrzynka. Algebra Boolea – właściwości. Reprezentacja funkcji – równanie, tablica prawdy, sieć bramkowa, sieć bloków, zbiór mintermów i makstermów. (2 godz.)
  3. Minimalizacja - cele i metody. Rozwinięcie Shannona. Minimalizacja dwupoziomowa. Metoda dekompozycji. Koszt realizacji POS i SOP. (2 godz.)
  4. Reprezentacja funkcji dla przetwarzania komputerowego. Macierz kostek. Macierz blokująca. Pokrycie kolumnowe. (2 godz.)
  5. Dekompozycja funkcjonalna. Algorytm MKZ. Realizacja funkcji w układach programowalnych. Algorytmy kolorowania grafów. (2 godz.)
  6. Rozmiar sieci. Redukcja rozmiaru sieci. Koszt realizacji. Optymalizacja na przykładzie funkcji komparacji, funkcja XOR. Ścieżka krytyczna. Prosty układ kryptograficzny. (2 godz.)
  7. Układ sekwencyjny. Automat Moorea i Mealyego. Opis automatu za pomocą grafu, tablicy przejść-wyjść, sekwencji zdarzeń w czasie. Automat ze skończoną pamięcią – detektor. Automaty równoważne. Kodowanie stanów. Specyfikacja układu sekwencyjnego. Automat LFSR – generator pseudolosowy. (3 godz.)
  8. Forma kanoniczna automatu. Sygnał zegarowy. Parametry czasowe – maksymalna częstotliwość pracy, opóźnienia. Przerzutniki. Implementacja automatu. (2 godz.)
  9. Standardowe bloki kombinacyjne. Dekoder. Koder – binarny, priorytetowy. Multiplekser i demultiplekser. Sumator binarny. Blok przesuwający – shifter. Sieci bloków. (2 godz.)
  10. Sumator kaskadowy. Prosty moduł ALU. Sieć modułów ALU. Mnożenie kombinacyjne. Opóźnienia sieci. Przykład prostego systemu cyfrowego. (2 godz.)
  11. Standardowe bloki sekwencyjne. Rejestry – szeregowy, równoległy. Rejestr przesuwający. Sieć rejestrów. Użycie rejestrów – sumator, detektor, licznik. (2 godz.)
  12. Projekt prostego CPU: ścieżka sterująca, ścieżka danych, pamięć, operacje procesora. (4 godz.)
  13. Program dla CPU: mikrokod przykładowego algorytmu GCD, testy funkcjonalne. (2 godz.)
  14. Nowe technologie układów programowalnych, zastosowania. (1 godz.)



Zakres laboratorium

Wstęp teoretyczny

  1. Reprezentacja wartości w różnych systemach liczbowych, konwersja pomiędzy systemami. Reprezentacja liczb ze znakiem: Znak-Moduł, U1, U2. Reprezentacja ułamków o ustalonej długości bitowej. Dodawanie liczb binarnych bez i ze znakiem, całkowitych i ułamkowych.
  2. Minimalizacja funkcji z wykorzystaniem własności algebry Boolea, podziału Shannona. z wykorzystaniem tablic Karnaugha i metody ekspansji. Porównanie kosztów POS i SOP.
  3. Bloki funkcjonalne. Sieć bloków. ALU. Dekoder instrukcji.
  4. Specyfikacja i realizacja automatu synchronicznego.
  5. Specyfikacja układu arytmetycznego na poziomie: funkcjonalnym, strukturalnym, binarnym.

Zajęcia praktyczne

  1. Użycie programów komputerowych do realizacji funkcji boolowskich: w postaci sieci bramek i bloków, w postaci równań. Weryfikacja poprawności przekształceń. Użycie programu Logisim.
  2. Realizacja funkcji poddanej podziałowi Shannona, dekompozycji wielopoziomowej. Użycie programu Logisim.
  3. Realizacja zminimalizowanej funkcji dekodera 7segm na płytce laboratoryjnej. Użycie programu Quartus.
  4. Realizacja automatu. Generacja sygnału zegarowego. Weryfikacja poprawności działania. Użycie programu Logisim.
  5. Realizacja automatu na płytce laboratoryjnej. Generacja sygnału zegarowego. Weryfikacja poprawności działania. Użycie programu Quartus i ModelSim – elementy języka HDL.
  6. Realizacja układu arytmetycznego, wizualizacja wyników obliczeń. Weryfikacja poprawności działania. Użycie programu Logisim.
  7. Realizacja układu arytmetycznego na płytce laboratoryjnej, wizualizacja wyników obliczeń. Weryfikacja poprawności działania. Użycie programu Quartus i ModelSim – elementy języka HDL.



Zakres projektu

W ramach projektu zespół 2-3 osobowy ma za zadanie opracować prosty układ cyfrowy składający się z modułów. Realizacja zadania będzie obejmowała 4 etapy: przeprowadzenie analizy literaturowej i opracowanie koncepcji rozwiązania, opracowanie modelu referencyjnego, zaprojektowanie i weryfikację funkcjonalną modelu w symulatorze logicznym. Każdy etap zaliczany będzie na podstawie raportu. Istotne będzie prowadzenie dokumentacji projektu oraz przygotowanie prezentacji wyników projektu.

Literatura:

  • Introduction to Digital Systems, M.D. Ercegovac, T. Lang, J.H. Moreno, Wiley and Sons, 1998.
  • Digital Design and Computer Architecture, D.Harris, S.Harris, 2012.
  • Materiały do wykładu umieszczone na witrynie przedmiotu.
  • Układy logiczne w zadaniach, T. Łuba, D.Ojrzeńska-Wójter, OWPW, 2011.
  • Oprogramowanie Logisim http://www.cburch.com/logisim/ - wersja open source.
  • Oprogramowanie Intel Quartus Lite – wersja darmowa: https://www.intel.pl/content/www/pl/pl/software/programmable/quartus-prime/overview.html
Efekty kształcenia:
Metody i kryteria oceniania:

Sprawdzanie założonych efektów kształcenia realizowane jest przez:

  • ocenę wiedzy i umiejętności związanych z realizacją zadań laboratoryjnych – ocenę sprawozdań z realizacji zadań;
  • ocenę wiedzy i umiejętności związanych z realizacją zadań projektowych – ocenę prezentacji i raport;
  • ocenę wiedzy i umiejętności wykazanych na kolokwium o charakterze problemowym;
  • ocenę wiedzy i umiejętności wykazanych na egzaminie pisemnym o charakterze problemowym (na egzaminie student może korzystać tylko z własnoręcznie przygotowanych notatek) oraz – w przypadkach szczególnych – na egzaminie ustnym.

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (w trakcie)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin, 60 miejsc więcej informacji
Projekt, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Paweł Tomaszewicz
Prowadzący grup: Katarzyna Kamińska, Danuta Ojrzeńska-Wójter, Paweł Tomaszewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.