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

Systemy cyfrowe

Informacje ogólne

Kod przedmiotu: 103A-CBxxx-ISP-SYCY Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Systemy cyfrowe
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:

SYCY

Numer wersji:

1

Skrócony opis:

Głównym celem przedmiotu jest zaznajomienie studentów(ek) z podstawami projektowania i realizacji sprzętowych systemów cyfrowych. Omówione zostaną metodyki projektowania takich systemów, ich optymalizacji i weryfikacji. Przedstawione zostaną sposoby modelowania kombinacyjnych i sekwencyjnych układów cyfrowych z użyciem języka HDL. Zaprezentowane zostaną koncepcje dotyczące projektowania na poziomie RTL z użyciem metodyki ASM oraz projektowania hierarchicznego. Przedstawione zostaną zagadnienia dotyczące zastosowania systemów sprzętowych w cyberbezpieczeństwie oraz projektowania sprzętowych systemów cyfrowych z uwzględnieniem cyberbezpieczeństwa.

Pełny opis:

Głównym celem przedmiotu jest zaznajomienie studentów(ek) z podstawami projektowania i realizacji sprzętowych systemów cyfrowych. Omówione zostaną metodyki projektowania takich systemów, ich optymalizacji i weryfikacji. Przedstawione zostaną sposoby modelowania kombinacyjnych i sekwencyjnych układów cyfrowych z użyciem języka HDL. Zaprezentowane zostaną koncepcje dotyczące projektowania na poziomie RTL z użyciem metodyki ASM oraz projektowania hierarchicznego. Przedstawione zostaną zagadnienia dotyczące zastosowania systemów sprzętowych w cyberbezpieczeństwie oraz projektowania sprzętowych systemów cyfrowych z uwzględnieniem cyberbezpieczeństwa.


Istotnym elementem przedmiotu jest projekt, w ramach którego zespoły projektowe będą miały za zadanie zaprojektowanie, weryfikację i uruchomienie na platformie prototypowej wyposażonej w układ programowalny sprzętowego systemu cyfrowego. Projektowany system będzie łączył zagadnienia z obszar cyberbezpieczeństwa z zagadnieniami z takich obszarów, jak DSP (Digital Signal Processing), SDR (Software-Defined Radio), SDN (Software-Defined Networking), itp. Projekt realizowany będzie etapowo, każdy etap zaliczany będzie na podstawie raportu.



Treść wykładu

  1. Układy cyfrowe – klasyfikacja, technologie wytwarzania, specyfika projektowania (2 godz.)
    Klasyfikacja układów cyfrowych (układy katalogowe, układy specjalizowane ASIC, układy programowalne (FPLD). Etapy procesu projektowego. Style projektowania układów cyfrowych. Przykład syntezy układu cyfrowego realizującego prosty algorytm. Porównanie metodologii projektowania układu cyfrowego z projektowaniem oprogramowania. Komputerowe projektowanie. Narzędzia CAD. Architektury nowoczesnych systemów cyfrowych: System on a Chip (SoC), Multiprocessor System on a Chip (MPSoC), Network on Chip (NoC). Ogólne zagadnienia związane z cyberbezpieczeństwem w kontekście procesu projektowania i wytwarzania oraz podstawowe podatności sprzętu, czyli luki w zabezpieczeniach lub niepożądane funkcjonalności (backdoory).
  2. Modelowanie systemów cyfrowych (2 godz.)
    Sposoby reprezentacji liczb w zapisie binarnym (NKB, U2, zapis stałopozycyjny oraz zmiennopozycyjny). Podstawowe działania arytmetyczne na liczbach przedstawionych binarnie. Sposoby opisu i modelowania systemów cyfrowych. Diagram "Y". Cyfrowe kombinacyjne i sekwencyjne bloki funkcjonalne wykorzystywane w syntezie strukturalnej układów cyfrowych.
  3. Zasady specyfikacji układów cyfrowych – języki opisu sprzętu (2 godz.)
    Ograniczenia tradycyjnych języków programowania. Zastosowania języków HDL (Hardware Description Language). Cechy języków HDL. Podstawowe koncepcje na przykładzie języka VHDL. Opis strukturalny. Opis behawioralny. Testbench. Konfiguracja. Elementy języka VHDL. Różne sposobów opisu projektowanego systemu.
  4. Modelowanie logiki kombinacyjnej (2 godz.)
    Sposoby realizacji logiki kombinacyjnej z wykorzystaniem struktur języka VHDL. Sposoby implementacji podstawowych kombinacyjnych bloków funkcjonalnych, tj. multipleksery dekodery, moduły opisane tablicą prawdy i równaniami boolowskimi. Parametry czasowe układów kombinacyjnych. Pojęcie ścieżki krytycznej (topologicznej, rzeczywistej, fałszywej).
  5. Modelowanie logiki sekwencyjnej (2 godz.)
    Wykorzystanie elementów pamięciowych. Model układu sekwencyjnego. Sposoby opisu sekwencyjnych bloków funkcjonalnych. Liczniki. Sposoby realizacji logiki sekwencyjnej z wykorzystaniem struktur języka VHDL. Sposoby implementacji podstawowych sekwencyjnych bloków funkcjonalnych, tj. rejestry, automaty, liczniki. Rejestry przesuwające jako generatory pseudolosowe.
  6. Projektowanie hierarchiczne i zaawansowane zagadnienia syntezy układów cyfrowych (4 godz.)
    Przedstawienie metodologii projektowania hierarchicznego (bottom-up itop-down). Moduły parametryzowane. Wykorzystanie pakietów. Zaawansowane metody optymalizacji układów kombinacyjnych i sekwencyjnych FSM. Wpływ metod optymalizacji na parametry układu (wielkość zasobów, częstotliwość pracy, pobór mocy, itp). Podstawowe informacje o atakach wykorzystujące wiedzę o parametrach układu (side-channel attack) i metodach zapobiegania im.
  7. Projektowanie układów z wykorzystaniem FSM i ASM (4 godz.)
    Zastosowanie automatów FSM i diagramów ASM do projektowania synchronicznych układów cyfrowych. Pojęcia: ripple and/or gated clocks,clock skew, clock enable. Dystrybucja sygnału zegara. Sprzętowa realizacja protokołów komunikacyjnych na prostym przykładzie. Synchronizacja międzysymbolowa. Synchronizacja międzyramkowa. Generacja sekwencji. Sposoby współdziałania automatów w systemie cyfrowym. Obsługa portów dwukierunkowych. Wykorzystanie specjalizowanych bloków na przykładzie pamięci RAM. Domeny zegarowe i komunikacja między nimi.
  8. Sprzętowa realizacja wybranych algorytmów cyfrowego przetwarzania sygnałów i informacji (4 godz.)
    Sprzętowa realizacja operacji MAC. Wyznaczanie wartości wybranych funkcji arytmetycznych na przykładzie pierwiastka kwadratowego. Modulacja i demodulacja cyfrowa. Kody korekcyjne.
  9. Zaawansowane metody projektowania (4 godz.)
    Różne sposoby projektowania układów cyfrowych. Strukturalna realizacja przepływu danych. Rozwijanie pętli (loop unrolling). Układ sterujący -układ operacyjny. Diagramy ASM. Diagramy ASMD. Operacje RT realizowanew trybie Mealy'ego. Współdzielenie zasobów. Potokowanie. Synteza HLS (High-level synthesis). Kosynteza sprzętowo-programowa (Hardware/Software co-design).
  10. Sprzętowa realizacja funkcji kryptograficznych (4 godz.)
    Realizacja podstawowych przekształceń kryptograficznych (permutacja, podstawienie). Realizacja prostego szyfru strumieniowego z wykorzystaniem generatora RNG. Realizacja szyfru blokowego na podstawie algorytmu DES. Wpływ zaawansowanych metod projektowania na wydajność szyfrowania. Integracja rdzenia DES z procesorem typu SoftCore.



Zakres laboratorium

Zajęcia laboratoryjne są wprowadzeniem do projektu realizowanego w ramach przedmiotu. Mają one za zdanie zapoznanie studentów(ek) z procesem projektowym z wykorzystaniem specjalistycznych narzędzi CAD i platform do prototypowania wyposażonych w układy programowalne FPGA. Podzielono je na 3 części tematyczne:

  1. Zapoznanie z projektowaniem sprzętowych systemów cyfrowych z wykorzystaniem narzędzi CAD. Zaprojektowanie prostego układu cyfrowego, przeprowadzenie weryfikacji funkcjonalnej z użyciem symulatora i uruchomienie na platformie do prototypowania.
  2. Wykorzystanie metodyki ASM do sprzętowej realizacji algorytmów. Realizacja wybranego algorytmu z wykorzystaniem koncepcji ASMD. Realizacja układu sterującego, układu operacyjnego i ich integracja.
  3. Sprzętowa realizacja algorytmu jako Custom Instruction i jego integracja w systemie mikroprocesorowym opartym na procesorze typu SoftCore.



Zakres projektu

W ramach projektu zespół 2-3 osobowy będzie miał za zadanie opracować sprzętową realizację systemu łączącego zagadnienia z obszaru cyberbezpieczeństwa z zagadnieniami z takich obszarów, jak DSP (Digital Signal Processing), SDR (Software-Defined Radio), SDN (Software-Defined Networking), itp. Realizacja zadania będzie obejmowała 4 etapy: przeprowadzenie analizy literaturowej i opracowanie koncepcji rozwiązania, opracowanie modelu referencyjnego i modelu bit accurate, zaprojektowanie i weryfikację funkcjonalną modelu sprzętowego z analizą efektywności oraz realizację systemu z wykorzystaniem platformy sprzętowej wyposażonej w układ FPGA. Każdy etap zaliczany będzie na podstawie raportu. Istotne będzie prowadzenie dokumentacji projektu oraz przygotowanie prezentacji wyników projektu.

Literatura:

  • Slajdy do wykładu, materiały uzupełniające w postaci zadań interaktywnych oraz demonstracji obrazujących omawiane zagadnienia.


Książki:

  1. Pong P. Chu. (2006). RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press.
  2. Uwe Meyer-Baese. (2007). Digital Signal Processing with Field Programmable Gate Arrays. 10.1007/978-3-540-72613-5.
  3. Peter J. Ashenden. (2008) Digital Design: An Embedded Systems Approach Using Verilog. Elsevier Science.
  4. Richard S. Sandige. (2011). Fundamentals of Digital and Computer Design with VHDL. McGraw Hill Higher Education.


Internet.


Oprogramowanie:

  1. Oprogramowanie CAD do projektowania układów cyfrowych.
  2. Oprogramowanie do symulacji układów cyfrowych.
  3. Oprogramowanie do syntezy i optymalizacji.
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 raportu z realizacji projektu;
  • ocenę wiedzy i umiejętności wykazanych na sprawdzianie/sprawdzianach wykładowych.

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

Okres: 2021-02-20 - 2021-09-30
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: Mariusz Rawski
Prowadzący grup: Danuta Ojrzeńska-Wójter, Mariusz Rawski, Paweł Tomaszewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
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: Mariusz Rawski
Prowadzący grup: Danuta Ojrzeńska-Wójter, Mariusz Rawski, Paweł Tomaszewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
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.