Ogólnie

W swojej pracy naukowej zajmuję się zagadnieniami związanymi z projektowaniem i optymalizacją systemów cyfrowych. Głównym tematem mojej działalności jest projektowanie i realizacja specjalizowanych systemów cyfrowych w strukturach programowalnych z wykorzystaniem najnowszych narzędzi do komputerowego wspomagania projektowania CAD. Dla celów optymalizacji realizacji wykorzystuję także najnowsze narzędzia uniwersyteckie opracowane zarówno przeze mnie jak i przez innych projektantów. W swojej pracy zajmuję się także opracowywaniem algorytmów umożliwiających skuteczne i szybkie optymalizowanie systemów cyfrowych pod kątem zmniejszenia zasobów wymaganych do ich realizacji i zwiększenia szybkości ich działania. Ostatnio zająłem się także metodami syntezy układów odwracalnych dla celów obliczeń kwantowych i nanotechnologii.

Układy Cyfrowe

Przedmiot Układy cyfrowe ma za zadanie zapoznanie studentów z metodami projektowania i weryfikacji układów i systemów cyfrowych.  Przedstawione są podstawy posługiwania się językami opisu sprzętu HDL (Hardware Description Language) w komputerowych systemach projektowania układów cyfrowych.realizowanych w nowoczesnych strukturach FPLD/FPGA.

Na Układy cyfrowe składa się wykład  oraz laboratoria. Możliwa jest także realizacja projektu, który będzie brany pod uwagę przy ustalaniu oceny końcowej z przedmiotu.

Tematyka prac dyplomowych

Specjalizowane systemy cyfrowe typu System on a Chip (SoC) i Network on a Chip (NoC) w układach FPGA

Tematyka obejmuje zagadnienia związane z zaprojektowaniem, realizacją i weryfikacją systemów cyfrowych z obszarów m.in.:

  • wysokowydajnych obliczeń HPC (High-performance computing),
  • FPGA-as-a-Service dla obliczeń w chmurze (Cloud computing),
  • sieci definiowanych programowo SDN (Software-defined networking),
  • radia definiowanego programowo SDR (Software-defined radio),
  • kryptologii (realizacja funkcji kryptograficznych, systemów do kryptoanalizy, zabezpieczenia przed side-channel attack, itp),
  • sztucznej inteligencji (ANN, Deep learning, itp),
  • data mining oraz Big Data.

Tematy dotyczą realizacji systemów SoC/NoC, elementów systemów w postaci modułów sprzętowych albo modeli programowych dla celów realizacji sprzętowej.

Cyberbezpieczeństwo

Tematyka obejmuje zagadnienia związane opracowaniem mechanizmów, algorytmów i realizacji programowych albo dedykowanych realizacji sprzętowych, jak również rozwiązań mieszanych (hardware-software co-synthesis) z obszarów m.in.:

  • przetwarzania (zabezpieczanie, monitorowanie, wykrywanie anomalii) ruchu sieciowego (1 Gbit/s oraz multigigabitowego),
  • realizacja albo wykrywanie ukrytych kanałów komunikacyjnych na poziomie warstwy fizycznej (Ethernet, Wi-Fi, GSM, LTE, itp),
  • kryptografia Lightweight dla systemów wbudowanych i Internetu Rzeczy IoT,
  • zastosowanie technik Moving Target Defence do realizacji zabezpieczeń systemów cyfrowych oraz systemów informatycznych (w powiązaniu z technikami SDN i NFV).

 

Metody, algorytmy i narzędzia syntezy i optymalizacji systemów cyfrowych

Tematyka obejmuje zagadnienia związane z opracowaniem metod i algorytmów syntezy i optymalizacji systemów cyfrowych realizowanych w tradycyjnych technologiach (full/semi-custom, FPGA), jak też w logice odwracalnej (reversible logic) dla obliczeń kwantowych (quantum computing),

Przykładowe tematy pracowni

Specjalizowane systemy cyfrowe typu System on a Chip (SoC) i Network on a Chip (NoC) w układach FPGA

  1. Sprzętowa realizacja i porównanie efektywności funkcji kryptograficznych  Lightweight
    1. szyfry blokowe
    2. szyfry oparte na krzywych eliptycznych
    3. szyfry strumieniowe
    4. funkcje skrótu
  2. Opracowanie mechanizmów zdalnej częściowej rekonfiguracji układów FPGA dla zastosowań typu FPGA-as-a-Service w Cloud computing
    1. Opracowanie koncepcji, mechanizmów abstrakcji FPGA, realizacja serwera i klienta programowego
    2. Realizacja platformy typu FPGA-as-a-Service
  3. Sprzętowa akceleracja algorytmów wykorzystywanych w Data mining
  4. Sprzętowa akceleracja algorytmów wykorzystywanych w Big data
  5. Metodyka automatyzacji weryfikacji systemów cyfrowych z wykorzystaniem generatora wzoru cyfrowego i analizatora logicznego
  6. Sprzętowa akceleracja algorytmów wykorzystujących Deep learning
  7. Sprzętowa realizacja mechanizmów zarządzania pamięcią dla systemów przetwarzania ruchu mutigigabitowego
  8. Sprzętowy procesora DSP dla komunikacji opartej na OFDM
  9. Heterogeniczny system akceleracji obliczeń rozproszonych wykorzystujący platformy FPGA
    1. Opracowanie koncepcji, realizacja serwera i klienta programowego
    2. Realizacja klienta sprzętowego FPGA
    3. Realizacja klienta programowego wykorzystującego karty graficzne
  10. Framework do badania odporności na ataki funkcji skrótów wykorzystujący tęczowe tablice (rainbow tables)
  11. Opracowanie modelu Matlab systemu komunikacji opartego na OFDM

Cyberbezpieczeństwo

  1. Mechanizmy zabezpieczania sprzętowych realizacji szyfrów blokowych przed side-channel attack wykorzystaniem techniki Moving Target Defence
  2. System detekcji anomalii w ruchu Internetowym z wykorzystaniem rozszerzonego zbioru cech
  3. Ukryte kanały komunikacyjne w warstwie fizycznej systemów radiowych
  4. Wykorzystanie emulatorów sieci Internet do realizacji mechanizmów  Moving Target Defence
  5. Realizacja mechanizmów Moving Target Defence z wykorzystaniem SDN i NFV
  6. Opracowanie konfigurowalnego

 

Metody, algorytmy i narzędzia syntezy i optymalizacji systemów cyfrowych

  1. Synteza i optymalizacja układów kombinacyjnych dla struktur FPGA
  2. Synteza i optymalizacja układów sekwencyjnych dla struktur FPGA
  3. Synteza wielopoziomowa kombinacyjnych układów odwracalnych
  4. Synteza wielopoziomowa sekwencyjnych układów odwracalnych
  5. Dekompozycja sieci neuronowych

Koło Naukowe Układów Cyfrowych

6 lutego 2007r. na Wydziale Elektroniki i Technik Informacyjnych PW oficjalnie rozpoczęło swoją działalność Koło Naukowe Układów Cyfrowych DEMAIN, którego jestem opiekunem. Zainteresowania członków Koła obejmują najróżniejsze zastosowania układów FPGA – od kryptografii, poprzez obliczenia rozproszone, sieci definiowane programowo SDN i radio definiowane programowo SDR po cyfrowe systemy przetwarzanie sygnałów i informacji. Poznajemy najdrobniejsze niuanse języków opisu sprzętu. Łączymy hard z soft. Nie boimy się stawiać pytań i wytrwale poszukujemy na nie odpowiedzi. Projektujemy po to, by się bawić, a przy okazji uczyć – nie odwrotnie!

Jeśli czujesz, że układy cyfrowe są Twoją pasją – to znak, że jesteś gotów by wstąpić do Koła. Serdecznie zapraszamy.

Wyniki egzaminu UCyf

Szanowni Państwo,

miło mi zakomunikować, że są już dostępne informacje o ocenach z egzaminu!

Wszystkim, którzy zdali egzamin serdecznie gratuluję. Tych, których tematyka układów cyfrowych zainteresowała zapraszam do współpracy w ramach koła naukowego KN Układów Cyfrowych oraz pracowni dyplomowych. Polecam także przedmioty kontynuujące i rozszerzające tę tematykę, prowadzone w naszym Zakładzie: PRUS, RAOI i PZSC.

Będę wdzięczny, jeśli znajdą Państwo chwilę na wypełnienie ankiet dotyczących przedmiotu.

Pracę można obejrzeć w piątek (8-02-2019) podczas II terminu egzminu.

Mariusz Rawski

 

Informacje ogólne

W ramach projektu należy zaproponować rozwiązanie wybranego problemu, opracować algorytm i jego realizację w układach programowalnych. Preferowane są układy firmy Intel/Altera i Xilinx, gdyż do dyspozycji są zestawy laboratoryjne z układami tych firm. Do realizacji należy wykorzystać system Quartus Prime Design Software firmy Intel/Altera lub Vivado Design Suite firmy Xilinx, natomiast do weryfikacji funkcjonalnej narzędzie ModelSim. Do opisu algorytmu można wykorzystać języki opisu sprzętu VHDL lub Verilog. Dodatkowym sprawdzianem poprawności realizacji będzie uruchomienie zaprojektowanego układu na płytkach laboratoryjnych.

Czytaj dalej „Informacje ogólne”

Tematy projektów

Zmiennoprzecinkowa jednostka ALU

Jednostka realizująca  podstawowe operacje arytmetyczne na liczbach zmiennoprzecinkowych. Zespół: 1 – 2 osoby.

Modulacja i demodulacja z wykorzystaniem CORDIC

Moduł realizujący kilka rodzajów modulacji i demodulacji z wykorzystaniem algorytmu CORDIC (COordinate Rotation DIgital Computer). Zespół: 1 – 2 osoby.

Transformata Fouriera

Realizacja cyfrowej transformaty Fouriera różnymi metodami (DFT, FFT, Distributed arithmetic). Zespół: 1 – 2 osoby.

Mnożenie z wykorzystaniem transformaty Fouriera

Realizacja mnożenia dużych liczb (kilkaset, kilka tysięcy cyfr) z wykorzystaniem cyfrowej transformaty Fouriera lub transformaty NTT (Number-Theoretic Transform). Zespół: 1 – 2 osoby.

Koder/dekoder korekcyjnego kodu blokowego

Realizacja kodera i dekodera korekcyjnego kodu blokowego (np. BCH i Meggitt decoder). Zespół: 1 – 2 osoby.

Koder/dekoder korekcyjnego kodu splotowego

Realizacja kodera i dekodera korekcyjnego kodu splotowego (np. koder splotowy dekoder Viterbiego). Zespół: 1 – 2 osoby.

 

Realizacja sprzętowa systemów cyfrowych

Postęp technologiczny w dziedzinie układów reprogramowalnych FPGA (Field Programmable Gate Arrays) jaki nastąpił w ostatnim dziesięcioleciu otwiera nowe możliwości w dziedzinie implementacji algorytmów kryptograficznych. Struktury FPGA mogą być opisane jako macierz programowalnych komórek logicznych połączonych siecią programowalnych połączeń. Każda komórka logiczna umożliwia realizację prostej funkcji logicznej (ograniczonej liczby zmiennych) zdefiniowanej przez użytkownika za pomocą narzędzia komputerowego wspomagania projektowania CAD. Typowy układ programowalny składa się z dużej liczby (od 64 do ponad 1000000) takich komórek, które dzięki programowalnym połączeniom mogą zostać wykorzystane do budowy złożonych układów cyfrowych. Możliwość manipulowania logiką układu na poziomie komórek oznacza, że projektant może stworzyć specjalizowany procesor efektywnie realizujący zadany algorytm.

Czytaj dalej „Realizacja sprzętowa systemów cyfrowych”