URBAN, J. Inovace laboratorních úloh v BLOS [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2019.

Posudky

Posudek vedoucího

Holek, Radovan

Bc. Jakub Urban vypracoval diplomovou práci na téma "Inovace laboratorních úloh v BLOS" pro druhý ročník bakalářského studijního programu. Bakalář se měl seznámit s dostupnými periferiemi PMOD a zvolit vhodné periferie pro realizace nových laboratorních úloh. Pro řešení si zvolil periferie PMOD klávesnici a zobrazovací modul OLED. Bakalář pracoval samostatně, dostavoval se na předem dohodnuté konzultace s vedoucím. Na konzultacích projevoval malou aktivitu při řešení zadání, nevznášel případné dotazy. Připomínky vedoucího k řešení úloh se snažil zapracovat do práce, ale s malým vlastním přínosem. Pro řešení použil referenční příklady od výrobce vývojového kitu, které částečně upravil a rozšířil o potřebnou funkcionalitu. Výsledkem práce diplomanta je dvojice úloh s variantami řešení pro zvolené PMOD periferie. Při variantním řešení úloh neprovedl porovnání použitých variant a zhodnocení jejich výhod či nedostatků. Také použití jednotlivých komponent pro řešení nebylo zvoleno s ohledem na možnosti hradlového pole, práci s hierarchickým návrhem, využitím knihoven a ostatních možností jazyka VHDL efektivně. Zdrojové kódy jsou jen skromně okomentované, což snižuje pochopení jejich významu a vzájemných souvislostí. Vytvořená zadávací dokumentace k jednotlivým úlohám je na úrovni, která by studentům při řešení dané problematiky mnoho nepomohla. I přes uvedené nedostatky musel při řešení diplomové práce student prokázat širší znalosti, než získal v předmětu, pro který jsou úlohy určené. Tyto nabyté znalosti jsou ale v diplomové práci prezentované způsobem, který neodpovídá množství odvedené práce na projektu.

Navrhovaná známka
E
Body
56

Posudek oponenta

Valach, Soběslav

Předložená diplomová práce se zabývá rozšířením laboratorních úloh předmětu Logické systémy zařazeného do druhého ročníku bakalářského studijního programu. Vlastní text práce je rozdělen do šesti kapitol. Názvy kapitol jsou nevhodně zvoleny a neodpovídají formátu a logice diplomové práce. Autor má o řešené problematice prakticky nulové povědomí. První kapitola s názvem Teoretická část popisuje vlastnosti a funkcionality vývojové desky, bez zjevné návaznosti na řešenou problematiku. V této části by měl být diskutován přínos nově vzniklých úloh, formát a struktura zdrojových kódů, výběr použitých technologii a v neposlední řadě design flow. Celý text působí nekonzistentně, autor používá netechnické a slangové výrazy, včetně chybných formulací (1.1. „Podporováno je několik CAD programů firmy Xilinx jako jsou EDK, Chipscope a WebPack“, nejedná se o CAD, slova typu: counter, našeho counteru, shift registru, statusového registru…). V textu se nadměrně vyskytuje zdrojový kód (pan Urban není jeho autorem), který jednoznačně patří do přílohy k DP. Jazyková úroveň práce je nízká, k čemuž pravděpodobně přispívá i využití strojového překladu z AJ do ČJ. Náročnost diplomové práce nelze přímo posoudit, neboť spíše zaleží na autorovi, jakou cestu zvolí. Pan Bc. Urban využil referenčních příkladů dodávaných výrobcem vývojového kitu, drobně je upravil a okomentoval. Výsledkem je 5 upravených projektu, ve kterých se vyskytují stejné soubory se stejnou funkcionalitou opakovaně. Mnohem vhodnějším přístupem by bylo vytvořit společný adresář pro zdrojové kódy a knihovny, které by následně byly připojený odkazem ke všem projektům. Obdobné dělení by si zasloužil i zbývající zdrojové kódy, které by měly být odděleny od ostatních generovaných částí projektu a binárních výstupů. Je tedy možné konstatovat, že k práci přistoupil s minimální invencí, tudíž lze vypracovanou diplomovou práci řadit k méně obtížným. Nevhodně jsou zvoleny knihovny resp. packages STD_LOGIC_UNSIGNED / SIGNED, ARITH. Jednoznačně by měl být využit package numeric_std. Obdobně tomu u konstrukcí if clk'event and clk = '1'…, sclk = "00011000011010100000", kde by vývojář očekával čitelnou formu zápisu v dekadickém nebo hexadecimálním tvaru. Další koncepční chybou je přepisování ucf souboru na nové porty. Zde by byl správný prostup vytvořit wrapper a vněm mapovat jednotlivé funkcionality na piny. Zajímavé je konstatování, že „Výsledkem syntézy je soubor .bit“, což není pravda. V předložených kódech nejsou řešeny metastabilní stavy u externích asynchronních vstupů, filtrace zákmitů klávesnice, není řešena detekce více stisknutých tlačítek… Problematika OLED displeje je řešena dvěma způsoby. Kdy v prvním případě je pro komunikaci využíváno soft jádro PIC a ve druhém případě stavový automat pro inicializaci a komunikaci. Významným nedostatkem je absence popisu jádra PIC, jeho začlenění do systému, tvorba a sestavení kódu a včetně jeho ladění (použito bez komentáře z ref. designu). Inovativní přístup je aplikován ve druhém případě, kdy pro inicializaci a komunikaci jsou využita dvě SPI IP jádra. Podle funkce se do řadiče displeje multiplexují jejich výstupy, což je nevhodné, nekoncepční, riskantní a zdrojově náročné. Logické řešení je využít pouze jedno jádro a vše řešit stavovým automatem na jeho vstupu. Simulační část projektu je nedostatečná, ukazuje pouze krátkou simulaci, modulu klávesnice – stimulus má 5 řádků a LED displeje na deseti řádcích. Jako celek není simulována jediná úloha. Závěrem lze konstatovat, že vytvořené úlohy a příklady by neměly sloužit studentům jako reference, ale spíše jako ukázka toho, jakým praktikám se vyhnout. (Dvě úlohy z přílohy není možné přeložit z důvodu syntaktické chyby). Na práci lze objevit snad jediný pozitivní bod a to, že student byl schopen provádět drobné modifikace kódu v jazyku VHDL bez větších potíží. Diplomová práce je na hranici obhajitelnosti. Všechny body zadání byly formálně splněny, byť kvalita výstupů je velmi nízká a v oblasti provedených simulací prakticky nulová.

Navrhovaná známka
E
Body
50

Otázky

eVSKP id 119284