User Tools

Site Tools


project:proj_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
project:proj_list [2014/03/06 14:13]
xkubalik [Available works]
project:proj_list [2023/02/07 15:08]
xkubalik [Current projects]
Line 1: Line 1:
 ====== All projects ====== ====== All projects ======
-===== Actual works =====+===== Current projects ​=====
  
-  * **Malé procesory AVR pro FPGA obvody ​(Small soft processors AVR for FPGA circuits)** (BP Haken Lukáš) - Prostudujte ​existující řešení ​procesorů popsaných v jazyce VHDL. Zaměřte se hlavně na procesory AVR firmy AtmelSrovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvoduProveďte ​tyto úkoly+  * **Programovatelná elektronická zátěž ​(Programmable electronic load)** (BP - Pánek Miloš) 
-    * Vyberte vhodný procesor s ohledem ​na minimální spotřebu zdrojů FPGA a možnost využití stávajících nástrojů firmy Atmel umožňující programování v jazyce C+    ​Prozkoumejte ​existující řešení ​programovatelné elektronické zátěže. 
-    ​* K procesoru vytvořte několik rozhraní umožňujících komunikaci ​periferiemi desky XILINX Spartan 3E+    - Analyzujte problémy současných ​řešení a navrhněte vlastní řešení. 
-    ​* Vytvořte knihovnu ​jazyce C pro ovládání základních periferií+    - Navržené řešení bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon a stálé napě. 
-    ​* Analyzujte ​možnosti rozšíření ​paměti tohoto procesoru+    - Programovatelná zátěž bude splňovat ​tyto požadavky
-    ​* Pro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny.+      - nastavení všech parametru zátěže přes rozhraní ​na samotném zařízení, 
 +      - komunikace s PC aplikací přes bluetooth, USB wifi, 
 +      - záznam naměřených dat lokálně na SD kartu, 
 +      - jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu
 +    ​- Pro PC navrhněte a naprogramujte aplikaci v jazyce c++ grafickým rozhraním
 +    ​- Aplikace v PC bude umožňovat nastavit všechny parametry zátěže, včetně průběžného sledování naměřených hodnot a jejich zobrazení přímo ​aplikaci.  
 +    ​- Parametry zátěže bude možné v průběhu měření ​měnit podle předem nastavených hodnot
 +    ​- Navržené ​řešení zrealizujte a řádně otestujte.
  
  
-  * **Procesory ​pro FPGA obvod (Soft processors ​for FPGA circuits)** (BP Filip Matouš) - Prostudujte ​existující řešení ​procesorů popsaných v jazyce VHDL. Srovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvodu. ​Proveďte tyto úkoly: +  * **Zařízení ​pro ovládání základních periferií připojených k FPGA obvodu ​(Device ​for controlling basic peripherals connected to the FPGA circuit)** (BP - Šebek Michal) 
-    ​* Vyberte vhodný procesor s ohledem ​na minimální spotřebu zdrojů FPGA a možnost programování v jazyce C+    ​Prozkoumejte ​existující řešení ​ovládání periferií z FPGA obvodu ​firmy XILINX
-    ​* Vytvořte knihovnu ​pro ovládání ​základních ​periferií. +    ​- Zaměřte se zejména ​na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody
-    ​* Rozšiřte základní paměť zvoleného procesoru+    ​- Navrhněte vlastní ​knihovnu ​zaměřenou na ovládání periferií ​zejména přes sběrnici I2C
-    ​Pro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny.+    ​- Navrženou knihovnu zrealizujte a řádně otestujte
 +    ​Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7. 
 +    - Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. 
 +    - Výsledné řešení řádně otestujte
  
  
-  * **Konstrukce vícerotorového dronu pro průzkum terénu ​(Quadrocopter for terrain survey)** (DP Halák Jakub) - Prozkoumejte existující ​řešeníNavrhněte a zrealizujte vlastní létající ​zařízení. ​Zařízení by mělo být schopno komunikovat s Raspberry PI.  Zařízení ​bude využívat 4 motory, gyroskop, akcelerometr,​ GPS, magnetometr,​ barometr a sonarPostup prací: ​ +  * **Multiplatformní nástroj ​pro odposlech dat z rádiového přenosu pomocí SDR (A multi-platform wireless data sniffing tool using SDR)** (DP - Šimůnek Martin) 
-    ​* Navrhněte a sestavte mechanickou konstrukci+    ​Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení. 
-    ​* Navrhněte a zrealizujte základní řídicí desku s mikrořadičem ​pro ovládání všech dostupných periferií+    - Zaměřte se zejména na zařízení ​pracující v pásmu 433MHz a 868MHz. 
-    ​* Vytvořte knihovnu pro mikrořadič umožňující komunikaci s periferiemi. Napište základní program pro létání+    - Prozkoumejte existující ​řešení pro odchytávání a analýzu těchto zařízení. 
-    ​* Vytvořte demo aplikaci ​ověření funkčnosti celého zařízení ​jeho periferií.+    ​- Využijte SDR a navrhněte nástroj pro odposlech dat přenášených rádiovým signálem v pásmu 433MHz ​868 MHz
 +    ​- Nástroj by měl být tvořen knihovnou a grafickým rozhraním ​pro odposlech a zpracování naměřených dat
 +    ​- Podporována budou zejména zařízení typu: bezdrátový teplotní senzor, bezdrátové senzory v automobilu a bezdrátové měřiče tepla v domácnostech.  
 +    - Nastroj bude umožňovat analyzovat přenos, a to jak nešifrovaný, tak i šifrovaný
 +    ​- Pokud bude dispozici klíč pro dešifrování,​ bude nástroj umožňovat i dešifrování,​ a to zejména pro bezdrátové měřiče tepla v domácnostech. 
 +    - Navržené ​řešení zrealizujte ​řádně otestujte.
  
-  * **Mobilní robot schopný pohybu ve venkovním prostředí (Mobile outdoor robot)** (DP Horák Radim) ​Navrhněte a zrealizujte konstrukci mobilního robota, který bude bezdrátově ovládán ​pomocí RC vysílačkyRobot bude obsahovat měřič vzdálenosti,​ gyroskop, akcelerometr,​ magnetometr,​ GPS, čidlo teploty a vlhkosti. Nižší vrstva řízení robota ​bude realizována ​mikrořadičem.  Zařízení ​bude podporovat připojení procesoru RaspberryPI pro realizaci složitějších příkazů. Postup prací: +  * **Zařízení pro ovládání aplikace Adobe Lightroom s pomocí hardwarového ovladače ​(A device to control Adobe Lightroom using a hardware driver)** (BP Macháček Vitězslav) 
-    ​* Navrhněte a zrealizujte ​konstrukci šestikolového robota. +    - Prozkoumejte existující řešení umožňující ovládání aplikace Adobe Lightroom ​hardwarového ovladače. 
-    * Navrhněte ​zrealizujte řídicí desku pro ovládání všech periferií+    - Navrhněte vlastní zařízení fungující jako samostatný ovladač splňující tyto požadavky: 
-    ​Pro použitý mikrořadič vytvořte knihovny pro ovládání periferií+      - komunikace s aplikací ​bude realizována ​přes USB a Bluetooth,​ 
-    ​* Pro robota napište testovací demo aplikaci využívající všechna periférie+      - ovladač bude umožňovat čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    ​* Proveďte testy k otestování správné funkce robota pro různá prostředí.+      - ovladač bude napájen z baterie
 +    ​- Navržený ovladač ​zrealizujte a naprogramujte
 +    ​Pro PC vytvořte vlastní aplikaci umožňující zpracování dat z ovladače a jejich přenos do aplikace Adobe Lightroom Classic
 +    ​- Aplikace v PC bude dále umožňovat nastavení chování ovladače a nastavenou konfiguraci ukládat lokálně
 +    ​- Výsledné ​řešení řádně otestujte.
  
-  * **Aplikace ​pro zkoušení slovní zásoby ​na platformě ​Android ​(Vocabulary testing application ​for OS Android)** (BP Mayerová Eva) - Proveďte rešerší existujících aplikacíZaměřte se hlavně na anglické jazykové slovníky. Navrhněte ​aplikací pro zkoušení anglické slovní zásobya to tak, aby splňovala základní požadavky kladené na tento typ slovníku. Aplikace ​bude umožňovat ​přidávání slovíček ​jejich zkoušeníVýsledek zkoušení ​bude zaznamenán ​graficky zpracován. Do slovníku bude možné přidávat slovíčka a frázeAplikace ​bude umožňovat import textového popisu slovíček ze souboru. Aplikace bude umožňovat rozpracovat ​kolik skupin slovní zásobyKaždá skupina bude reprezentována vlastním souborem obsahujícím aktuální stav rozpracovanosti zkoušení/​učení. Postup prací: +  * **Přenosné zařízení ​pro odposlech NFC komunikace pomocí SDR založené ​na platformě ​Raspberry Pi (Portable device ​for sniffing NFC communication using SDR based on the Raspberry Pi platform)** (DP Balko Martin) 
-    ​* Proveďte rešerši existujících ​řešení, popište výhody a nevýhody. +    ​Prozkoumejte existující nástroje určené k analýze NFC komunikace. 
-    * Navrhněte grafickou stránku aplikace+    - Analyzujte technologií SDR (softwarově definovaného rádia). 
-    ​* Vytvořte samotnou ​aplikaci ​tak, aby umožňovala učení a zkoušení slovní zásoby aspoň třemi způsoby+    - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou a NFC kartou (MIFARE Classic, MIFARE DESFire, MIFARE Plus). 
-    ​* Navrženou aplikaci otestuje a vytvořte několik vzorových souborů s anglickými slovíčky+    - Analyzujte a navrhněte způsob pro odposlech NFC komunikace pomoci SDR. 
 +    - Navrhněte ​přenosné zařízeníkteré ​bude umožňovat ​odposlech, záznam ​prvotní analýzu NFC komunikace. 
 +    - Zařízení ​bude schopné odchytit UID karty komunikaci směrem od čtečkyPokud bude signál dostatečně silný, zaznamená i komunikaci směrem od karty
 +    ​- Navržené ​řešení ​zrealizujte na platformě Raspberry Pi
 +    ​- Pro výsledné zařízení napište v jazyce Python obslužnou ​aplikaci. 
 +    ​- Výsledné zařízení ​řádně otestujte.
  
-  ​* **Softwarové řešení pro quadrokoptéru s řídicí jednotkou Raspberry Pi (Software library for quadcopter based on Raspberry Pi)** (BP Kukačka Jiří) - Prostudujte existující řešení. Vyberte vhodný realtimový operační systém pro ovládání quadrokoptéry na platformě Raspberry Pi. Vytvořte knihovnu funkcí v programovacím jazyce C pro ovládání jednotlivých periferií potřebných pro chod quadrokoptéry. Postup prací: +  ​ 
-    * Vyberte vhodný operační systém, porovnejte RTOS vs GPOS. +===== Available projects ​FIT =====
-    * Navrhněte schéma propojení periferií k řídící jednotce, schéma komunikace s periferií a struktury řídicího programu. +
-    * Vytvořte jádro řídicího programu. +
-    * Vytvořte knihovnu pro ovládání specifických periferií potřebných pro správné fungování quadrokoptéry. +
-    * Analyzujte možnosti využití algoritmů pro řízení a navigaci v prostoru. +
-    * Vytvořte praktickou ukázku běhu programu využívající všechny dostupné periférie potřebné pro řízení quadrokoptéry.+
  
-  * **Rozšíření síťového simulátoru o ipojení do reálné sítě (Network simulation module used to connect to real network)** (BP - Mach Václav) - Prostudujte existující simulátor počítačové sítě [1, 2]. Pro tento simulátor napište modul v jazyce Java, který bude umožňovat propojení simulátoru s reálnou sítí za použití existujícího ethernetového rozhraní. Postup prací: +  ​1. Arduino HW/SW 
-    * Prostudujte existující řešení [1, 2]. +    ​GPS ijímač a jeho aplikace 
-    * Prozkoumejte možnosti řešení pro OS Linux OS Microsoft Windows. +    * Meteo stanice 
-    * Navrhněte ​napište modul pro připojení simulátoru do reálné sítě a to tak, že modul bude komunikovat na linkové úrovni. +    * GSM modém ​jeho aplikace 
-    * Vytvořené řešení začleňte do již existujícího simulátoru [12]+    * NFC bezkontaktní karty 
-    * Napište návod ​pro použití simulátoru a to včetně vytvořeného modulu. +    * univerzální desky s různými periferiemi 
-    * Vytvořte příklad použití vytvořeného modulu. +    * řízení modelu auta 
-    * Výsledné řešení včetně návodu otestujte. +    * generator analogových průbě 
-    * [1] Pitřinec, T.,.: „Síťový simulátor ​pro výukové účely na bázi prvků OS Linux“, DP – 2012, ČVUT FIT. +    * přípravky pro desku digilent CMOD A7/S7 (displej, tlačítkaswitche, atd.) 
-    * [2] Švihlík, M.,:​“Vizualizace virtuální počítačové sítě“, DP-2012, ČVUT FIT.+    * návrh hardware ​pro desku digilent CMOD A7/S7 
 +    * vlastní zadání 
 +    * Wifi a ESP32/​ESP2866 
 +    * zařízení ​pro ochranu baterie před vybitím
  
-  ​* **Rozšíření síťového simulátoru o možnost použití konfiguračních souborů pro konfiguraci síťových prvků (Network simulation module used to extend simulator property with configuration file)** (BP - Michal Horáček) - Prostudujte existující simulátor počítačové sítě [1, 2, 3]. Pro tento simulátor napište modul v jazyce Java, který bude umožňovat použití konfiguračního souboru pro konfigurací vlastností síťového prvkuPostup prací: +  2. Wolfram Mathematica 
-    * Prostudujte existující řešení [1, 2, 3]. +    * bezpečnostní kódy 
-    * Prozkoumejte možnosti konfigurace sítě na systémech Debian/​Ubuntu. +    * kódy pro kryptografií 
-    * Navrhněte a vytvořte modul pro možnost konfigurace síťového rozhraní, DHCP serveru a DNS serveru s pomocí konfiguračních souborů. +    * matematické funkce realizované v HW 
-    * Vytvořené řešení začleňte do již existujícího simulátoru [1, 2, 3]. +    * aritmetický procesor v GF(2^2^n) 
-    * Napište návod ​pro použití simulátoru a to včetně vytvořeného modulu. +    * efiktivita protokolů ​pro předmět BI-PSI 
-    * Vytvořte ​íklad použití vytvořeného modulu. +    * vlastní zadání
-    * Výsledné řešení včetně návodu otestujte. +
-    * [1] Pitřinec, T.,.: „Síťový simulátor pro výukové účely na bázi prvků OS Linux“, DP – 2012, ČVUT FIT. +
-    * [2] Švihlík, M.,:​“Vizualizace virtuální počítačové sítě“, DP-2012, ČVUT FIT. +
-    * [3] Lukáš, M.,:“ Podpůrné komponenty simulátoru počítačové sítě“, DP-2012, ČVUT FIT.+
  
 +  3. Visual C++/C#
 +    * aplikace pro komunikaci s periferiemi v PC
 +    * aplikace pro komunikaci s procesorem Zynq
 +    * aplikace pro správu projektu ve VHDL
 +    * překladače
 +    * grafické aplikace pro výuku
 +    * vlastní zadání
  
-===== Available works =====+  4. Jazyk VHDL / desky FPGA 
 +    * návrh hardware pro bezpečnostní kódy 
 +    * generátor průběhů (sinusovka, obdelník, trojuhelník) 
 +    * osciloskop 
 +    * návrh hardware pro realizaci matematických funkcí 
 +    * implementace procesoru/​periferié procesoru (ARM, Z80, AVR, ...) 
 +    * HW podpora SoC (Zynq) 
 +    * aritmetický procesor v GF(2^2^n) 
 +    * Hry pro FPGA 
 +    * vlastní zadání
  
-  ​* **Generátor referencí na základě dat uložených ve formátu XML** - Proveďte rešerší existujících řešeníNavrhněte a zrealizujte aplikaci pro generování seznamu referencí na základě dat uložených v XML souboru a šablony pro generování referencí. Reference bude možné vytvářet i hierarchicky. Výstupní formát bude možné konfigurovat ​pomocí konfiguračního souboru. Aplikace bude umožňovat editovat jednotlivé záznamy uložené v souboru XML a vytvářet vazby mezi referencemi,​ jako je například tento článek byl citovat v těchto publikacích. BP - doba práce 2 semestry (volné) (100% SW)+  ​5Plošné spoje 
 +    * návrh zařízení ​porcesorem atmel + drobné periferié 
 +    * zařízení s nízkou spotřebou 
 +    * vlastní zadání
  
-  * **Linuxové jádro pro vestavěný procesor** - Proveďte rešerši existujících linuxových jader pro vestavěné procesory ​najděte vhodné řešení pro procesor ARM osazený na desce beagleboard. Pro tuto desku s pomocí linuxového jádra rozchoďte všechny periférie a napište demo aplikaci. BP, DP - doba práce 2-4 semestry (volné) (100% SW)+  ​6. Raspberry PI / Raspberry PI Pico 
 +    ​ovládání jednoduchých periferií 
 +    ​chytré síť, ovládání periferií přes ethernet 
 +    ​vzdálená správa sítí 
 +    ​SDR(Software Defined Radio) aplikace ​sledování ​analýza provozu 
 +    * vlastní zadání
  
-  * **Programovatelný softwarový generátor všech typů paketů** BP - doba práce 2 semestry (volné) ​(100% SW)+  ​7. Android 
 +    ​aplikace pro práci s hardware ​(raspberry PI, Arduino a jiné)
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP - doba práce 2-4 semestry (volné) (80% SW, 20% HW)+  ​8. Python 
 +    ​aplikace pro zpracování a generování dat podle šablon
  
-  * **Jednoduchý překladač z jazyka c do mikroprogramu - Simple translator from C to microcode description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného ​v jazyce ​VHDL. Prozkoumejte existující řešení. Jazyk bude podporovat vybrané celočíselné ​binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz goto. Implementace bude s ohledem na multiplatformnost provedena ​jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+  ​9. Neuronové sítě 
 +    ​Model neuronové sítě ve Wolfram Mathematice 
 +    ​Model neuronové sítě v jazyce c++ 
 +    * Implementace neuronu ​neuronové sítě v hardware 
 +    * Implementace neuronové sítě v SoC
  
-  * **Jednoduchý překladač z jazyka c do automatového popisu  ​Simple translator from C to automata description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného v jazyce VHDL. Prozkoumejte existující řešení. Jazyk c bude podporovat vybrané celočíselné a binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz goto. Implementace bude s ohledem na multiplatformnost provedena v jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+===== Available projects HW external =====
  
-    * **Šifrování dat na pevném SATA disku připojeném ​přes ethernetové rozhraní** - Prostudujte existující hardwarová řešení šifrování dat na pevném disku. ​Navrhněte a zrealizujte ​vlastní ​řešení napsané v jazyce VHDL. Pro návrh použijte existující ethernetové jádro napsané v jazyce VHDL(DP) - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  1. Malý grafický displej do výšky 1U s rotačním enkodérem ovládaný ​přes SPI 
 +    ​* Navrhněte a zrealizujte ​grafický TFT displej ovládaný pomocí sběrnice SPI. 
 +    * Displej by měl obsahovat možnost zadávání příkazů (tlačítka,​ rotační encoder,​…).  
 +    * Výška displeje musí splňovat normu 1U 
 +    * Pro vytvořený displej naprogramujte framework, který usnadní práci s displejem.
  
-  * **Sada nástrojů pro On-Line diagnostiku** (Set of tools for On-Line test) - Naprogramujte sadu nástrojů ​pro On-Line diagnostikuNástroje budou založeny ​na již existujícím nástroji pro práci s obvody. Tento nástroj zmodifikujte takaby umožňoval použít libovolnou techniku pro On-Line testování založenou na bezpečnostních kódech (sudá paritazdvojení, Berger kód, Hamming kód, atp.). Výsledné řešení bude umožňovat načtení vstupního obvodu, jeho modifikaci na samočinně zabezpečený obvod a jeho konverzi do příslušných VHDL kódů. Aplikace ​bude podporovat i rozsáhlejší návrh složený z více částíBP, DP - doba práce 2-4 semestry (volné) (100% SW)+  ​2. OSD displej v FPGA 
 +    ​Navrhněte a zrealizujte ​On-Screen displej v obvodu FPGA pro video stream 
 +    * OSD displej by měl fungovat ​na formátech od 720p do 4Kjak progressivetak interlaced 
 +    * Požadavkem je minimální využití zdrojů v FPGA 
 +    * OSD se bude ovládat pomocí sběrnice AXI4-Lite.
  
-  ​* **Rychlý osciloskop postavený s pomocí ​FPGA** (High speed scope based on FPGA) - Navrhněte a zrealizujte ​levný 1 kanálový 50 Mhz osciloskop postavený s pomocí desky Starter board s obvodem Spartan3e. Jako základ použijte modul tvořený analogovým vstupem s A/D převodníkem. Tento modul upravte tak, aby splňoval požadavky kladené na vstupní části osciloskopu takovýchto ​parametrů. Pro desku Spartan 3E napište aplikaci pro zpracování dat získaných s A/D převodníkuZískaná data zobrazte. ​ BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  ​3. Konfigurovatelný filtr ethernetoveho rámce v FPGA 
 +    ​* Navrhněte a zrealizujte ​konfigurovatelný filtr ethernetového rámce umožňující filtrovat pakety podle zadaných ​parametrů ​(MAC, IP…) do více streamů, nebo jednoho streamu označeného identifikátorem 
 +    * Pro vstupní a výstupní interface bude použit AXI4 Stream pro zajištění kompatibility.
  
-  * **JTAG SPI USB programátor pro ATMEL** - Navrhněte ​programátor ​etně programovatelné redukce pro programování mikrořadičů AtmelBP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  ​4. Zpracování I2S signálu s integraci do AXI Stream 
 +    ​* Navrhněte ​a zrealizujte konverzní modul FPGA ze standartního interface I2S na interface AXI4 Stream a opačně.  
 +    * Modul by měl zvládat konverzi různé datové šířky audio samplu a multiplexování více audio streamu do jednoho I2S interfacu.
  
-  * **Vysoce spolehlivý systém železničního zabezpečovacího zařízení založeného na dvou FPGA obvodech** - Prostudujte stávající zrealizované HW zařízení. Prostudujte knihovnu prvků realizujících jednotlivé částí zabezpečovacího systému železnice. Pro toto zařízení napište firmware pro mikrořadič ​spolehlivý řídicí systém popsaný v jazyce VHDL to tak, aby docházelo k vzájemné kontrole obou FPGA obvodů. Řídicí systém musí využívat samočinně testované obvody pro zajištění detekce poruch. Celý systém musí umožňovat vložení poruchy. Návrh ověřte ​na příkladu zabezpečení železniční staniceSystém v případě detekce poruchy provede rekonfiguraci špatného FPGA obvodu. BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  ​5. Efektivní (de)interlacing 12G SDI videa 
 +    ​Navrhněte a zrealizujte (de)interlacer 6G 12G SDI videa do progressive formátu.  
 +    * Modul může pracovat jak nad SDI formátem, tak na Native video formátem.
  
-  ​* **Programovatelný stmívač světel pro domácí zvířata*Navrhněte ​zařízení pro stmívání světel řízené mikrořadičemZařízení bude umožňovat stmívat 2 žárovky. Pro zadání průběhu stmívání napište aplikaci. Zařízení bude možné připojit k PC s pomocí USB rozhraníUpřesňující pokyny zadavatele (kanárek domácí: pí píp - pí - píp pí pí píp) BP - doba práce 2 semestry (volné) (50% SW, 50% HW)+  ​6. Embedded audio konvertor na AXi4 Stream a zpě
 +    ​* Navrhněte ​a zrealizujte konverzní modul v FPGA z SDI Embedded audia na interface AXI4 Stream a opačně.  
 +    * Modul by měl zvládat konverzi různé datové ​šířky audio samplu.
  
-  ​* **Univerzální řadič displejů** - Prozkoumejte existující řešení. ​Navrhněte a zrealizujte ​řadič displeje umožňující jednoduchou komunikaci ​se znakovým displejem. Komunikace bude probíhat po sériové linceBP, - doba práce 2 semestry (volné) (60% HW, 40% SW )+  ​7. Nízkolatenční komprese v FPGA s využitím vlnové transformace 
 +    ​* Navrhněte a zrealizujte ​nízkolatenční video kodek v FPGA založený na vlnkové transformaci.  
 +    * Latence kodeku by se měla pohybovat v jednotkách řádků videa.
  
-  * **Zařízení pro přenos lokálních informací do internetu s pomocí existujících wifi routeru** ​Prostudujte existující řešení úpravy wifi routerů za účelem modifikace a vylepšení jejich funkcí. Upravte linuxové jádro wifi routeru tak, aby bylo možné nahrávat a ukládat vlastní přeložený kód. K wifi routeru připojte jednoduché zařízení (RFID čtečka, teploměr, apod). BP, DP - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+===== Available projects SW external =====
  
-  ​* **Implementace USB rozhraní FPGA obvodem** ​Seznamte se problematikou USB rozhraní realizovaného FPGA obvody. Prostudujte stávající způsoby realizace tohoto USB rozhraní. Navrhněte realizujte funkční zařízení, které bude umožňovat přenos dat pomocí USB rozhraní realizované FPGA obvodemProstudujte existující řešení USB ovladačů. Na základě získaných informací vytvořte vlastní USB ovladač podporující navržené řešeníNa jednoduché aplikaci demonstrujte funkci vytvořeného řešení. Při návrhu se zaměřte na co možná nejjednodušší ​řešení, které bude umožňovat ​enášet jen jednoduché informace. BP, DP - doba práce 2-4 semestry (volné) (50% HW, 50% SW )+  ​1. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře ​spolupráce ​průmyslem 
 +    * využití AoT kompilace a minimalizace start-up času 
 +    * výběr vhodného JVM analýza jeho výhod pro minimální náročnost na prostředky (např. GraalVM) 
 +    * využití vhodného frameworku a analýza jeho výhod (např. Quarkus) 
 +    * analýza ​možností využití pro serverless architekturu (např. Knative) 
 +    * využití komunikace ​es gRPC 
 +    * podpora feature flagů pro release management 
 +    * vlastní zadání
  
-  * **Síťový simulátor pro výukové účely na bázi prvků OS Linux CISCO směrovačů ​(Network simulator based on Linux OS component and CISCO routers)*Prostudujte existující ​řešeníDoplňte některé další síťové prvky do již existujícího simulátoru. BP, DP doba práce 2 semestry ​(volné) (100% SW)+  ​2. Virtualizace a izolace aplikačních prostředí - spolupráce s průmyslem 
 +    ​využití OCI kontejnerů jako způsob doručování aplikací 
 +    ​analýza bezpečnostních chyb využívané technologie docker ​možnosti jejich eliminace 
 +    * porovnání s jinými přístupy ​(např. podman, buildah apod.) 
 +    ​lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (např. docker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů ​(např. OverlayFS) 
 +    * bezpečné ​(rootlessspuštění více kontejnerů uvnitř kontejneru
  
-  ​* **Zařízení pro sledování objektu ​nízkou spotřebou** - Prostudujte existující řešení. Navrhněte vlastní zařízení umožňující pořízení a odeslání fotografie přes internet z okolí sledovaného objektukterý není připojen trvale k internetu ani k elektrické sítíDůraz bude kladen na velmi nízkou spotřebu a co nejmenší pořizovací cenu. Sledovací zařízení bude umožňovat získání fotografie okolí s různou kvalitouBPDP - doba práce 2 semestry (volné) (10% HW90% SW)+  ​3. Orchestrace kontejnerů v distribuovaném on-premise prostředí - spolupráce ​průmyslem 
 +    ​porovnání vlastností využívaných pro jako container runtime (containerd vs docker vs CRI-O) 
 +    * kubernetes vs jeho komerční distribuce (openshift, tanzu) 
 +    * helm vs yaml manifesty (+ možnosti jejich úpravnapř. kustomize) 
 +    * realizace ingress load balancerů v lokálním on-premise prosředí 
 +    * vytvoření persistence v distribuovaném prostředí (např. CephRook, GlusterFS apod.) 
 +    * správa citlivých údajů ​(šifrování kubernetes secretsPAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání)
  
-  ​* **Generátor samoopravných kódů: HammingRSBCHLDPC** - Prostudujte existující ​ření. Navrhněte vlastní generátor samoopravných kódů. Zadávat bude možné libovolný generující polynom, popřípadě bude možné specifikovat vlastnosti kódu. Zvolte vhodný výstupní formátBP, DP - doba práce 2-4 semestry ​(volné) (100% SW)+  ​4. Podpora vývoje a administrace prostředí prostřednictvím automatizace - spolupráce s průmyslem 
 +    * analýza praktik DevOps přístupu, GitOpsSecOpsChatOpsAIOps 
 +    ​analýza a představení SRE (Site reliability engineering) praktik 
 +    ​vytvoření ​a nasazení prostředí pro kompletní podporu ​životního cyklu aplikace naplňující znaky GitOps a IaaC (infrastructure as a code) 
 +    * zabezpečení SVC repozitářů přes GPG klíče 
 +    * podpora IaaC nástrojů (ansible, chef+puppet,​ cloud vendor proprietární nástroje, terraform) 
 +    * využití CI nástroje s dynamickým vytěžováním zdrojů dle aktuální zátěže (návrh tzvCI farmy) 
 +    * podpora deklarativního popisu činností ​(pipelines) 
 +    * porovnání známých CI nástrojů ​(jenkins, jenkins-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů
  
-  * **Simulátor procesoru DOP** - Prostudujte existující řešeníV programovacím jazyku Java implementujte simulátor výukového procesoru DOP-v3. Simulátor musí obsahovat editor a překladač zdrojových mikroprogramů (mikroassembler). Syntaxe zdrojového mikroprogramu musí být stejná jako u stávajícího simulátoru používaného pro výuku (SimDOP)Simulátor musí umožňovat krokování mikroprogramu po jednotlivých mikroinstrukcích i spouštění úseku k zadanému bodu zastaveníBP, DP - doba práce 2-4 semestry (volné) (100% SW)+  ​5. Projekty zadané externím zadavatelem 
 +    ​seznam zadavatelů níže 
 + 
 +**Pokud máte o téma zájem, napište mi emailRezervace v systému bpm nemá žádnou váhuPokud se Vám nelíbí ​žádné z nabízených témat, koukněte do archívu dostupných zadání.** 
 + 
 + 
 +  *[[project:​2018:​proj_archiv|Návrhy zadání dostupných projektů]] 
 + 
 + 
 +===== Projekty zadané externím zadavatelem ===== 
 + 
 +  * [[project:​eaton:​proj_eaton|EATON HW/SW]]
  
-  * **Generátor obvodů pro předmět ČAO** - Prozkoumejte existující řešení pro kreslení elektrických obvodů. Vytvořte aplikaci, která bude umožňovat na základě zadaných parametrů vytvářet obvody. BP, DP - doba práce 2-4 semestry (volné) (100% SW) 
  
-  * **Procesory pro FPGA obvody (Soft processors for FPGA circuits)** - Prostudujte existující řešení procesorů popsaných v jazyce VHDL. Srovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvodu. Vyberte vhodný procesor s ohledem na dostupnost překladačů jazyka C do ASM.  Zaměřte se zejména na hotové implementace procesoru AVR. Vytvořte knihovnu pro ovládání základních periferií. Pro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny. BP, DP - doba práce 2-4 semestry (volné) (80% SW, 20% HW) 
  
-  * **Rychlé ethernetové jádro (High speed ethernet core)** - Prostudujte stávající řešení ethernetového jádra pracujícího na rychlostech 1G, 100M napsané v jazyce Verilog dostupné na stránce www.opencores.org a VHDL dostupné jako diplomová práce. Navrhněte a zrealizujte vlastní řešení 1G, 100M ethernetového jádra napsaného v jazyce VHDL a to tak, aby bylo možné využít pouze jednu hodinovou doménu. Pro jednotlivé částí i pro celé jádro proveďte verifikaci. Pro výsledné jádro napište testovací aplikaci demonstrující funkci jádra na všech realizovaných rychlostech. Pro realizaci použijte vývojovou desku Xilinx. (BP, DP 2-4 semestry) 
  
-  * **Modul pro správu projektů s VHDL soubory** - Prostudujte stávající řešení vývojového nástroje pro správu VHDL projektů. Do již existujícího řešení implementujte modul, který bude umožňovat přidat do souboru libovolný signál a přenést ho do vyšších úrovní zdrojových VHDL kódů. Vylepšete stávající řešení pro kontrolu konzistence VHDL souborů. V případě potřeby navrhněte nové vývojové prostředí. Otestujte generátor VHDL kódu na základě zadaných parametrů uživatele. Jako programovací jazyk zvolte Javu (BP, DP 2-4 semestry, možnost práce více studentů najednou jako tým) 
  
-  * **Portace operačního systému android na vývojovou desku s procesorem ARM** - Prostudujte existující řešení. Analyzujte možnosti portace operačního systému pro vývojovou desku Raspberry pi a BeagleBone Black. Na jednu z těchto desek proveďte portaci a vytvořte knihovny pro obsluhu periferií. Pro vytvořenou knihovnu vytvořte demo aplikaci. (BP, DP 2-4 semestry) 
 ===== All defended works ===== ===== All defended works =====
  
-**BP a DP defended works on CTU in Prague FEL/FIT:** [[http://dip.felk.cvut.cz|BP a DP]]+**BP a DP defended works on CTU in Prague FEL/FIT:** [[https://dspace.cvut.cz|BP a DP]]
  
-===== All projects archives 2004 - 2013 =====+===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2022:​proj_2022|Realized projects 2022]]
 +  *[[project:​2021:​proj_2021|Realized projects 2021]]
 +  *[[project:​2020:​proj_2020|Realized projects 2020]]
 +  *[[project:​2019:​proj_2019|Realized projects 2019]]
 +  *[[project:​2018:​proj_2018|Realized projects 2018]]
 +  *[[project:​2017:​proj_2017|Realized projects 2017]]
 +  *[[project:​2016:​proj_2016|Realized projects 2016]]
 +  *[[project:​2015:​proj_2015|Realized projects 2015]]
 +  *[[project:​2014:​proj_2014|Realized projects 2014]]
   *[[project:​2013:​proj_2013|Realized projects 2013]]   *[[project:​2013:​proj_2013|Realized projects 2013]]
   *[[project:​2012:​proj_2012|Realized projects 2012]]   *[[project:​2012:​proj_2012|Realized projects 2012]]
Line 139: Line 250:
  
   * [[:​start|Pavel Kubalík'​s Home Page]]   * [[:​start|Pavel Kubalík'​s Home Page]]
- 
  
  
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik