Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Alena Drlíčková
Acad. year: 2025/2026
Supervisor: doc. Ing. Vojtěch Mrázek, Ph.D.
Reviewer: Ing. Jan Klhůfek
This master's thesis presents the design and implementation of a hardware accelerator for convolutional neural networks. The proposed accelerator is based on a systolic array and supports inference of various CNN architectures without requiring any modification of the hardware design. The behavior of the accelerator is controlled by a simple instruction set generated by a software compiler according to the given network architecture. The compiler also performs post-training quantization of the network weights and converts them into a format suitable for the integer arithmetic used by the accelerator. The transformation of the convolution operation into matrix multiplication is performed directly in hardware by a memory management unit that carries out the im2col transformation on the fly. The accelerator was implemented in VHDL and synthesized for the XC7Z020 chip. The correctness of the computations was verified by simulation in Vivado XSim and by comparison with a reference software implementation of the quantized network. The functionality was demonstrated on the LeNet-5 architecture. Synthesis confirmed that the timing requirements are met at an operating frequency of 100 MHz, utilizing approximately 27\% of the available LUTs on the target chip.
Convolutional neural network, hardware acceleration, systolic array, inference, quantization, matrix multiplication, im2col, VHDL, FPGA
Date of defence
25.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm A.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Embedded Systems (NEMB)
Composition of Committee
doc. Ing. Zdeněk Vašíček, Ph.D. (předseda) doc. Ing. Michal Bidlo, Ph.D. (místopředseda) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) Ing. Marcela Zachariášová, Ph.D. (člen) doc. Dr. Ing. Otto Fučík (člen) Ing. Josef Strnadel, Ph.D. (člen)
Supervisor’s reportdoc. Ing. Vojtěch Mrázek, Ph.D.
Vzhledem k nadprůměrné aktivitě studentky, kvalitě zpracovaného řešení a obtížnosti zadání navrhuji souhrnné hodnocení stupněm A - výborně.
Zadání hodnotím jako velmi obtížné. Cílem práce bylo vytvořit jednoduchý akcelerátor neuronové sítě. Ačkoliv se jedná o jednoduchou konvoluční síť a známé principy akcelerace, k řešení bylo vyžadováno ladění celé řady skrytých detailů (jako je přeskládávání matic při opakovaném konvoluci pomocí GEMM, různé kroky a omezený prostor registrů a podobně). Způsob vyhodnocení v simulaci a na čipu Zynq v rámci syntézy a implementace odpovídá zadání.
Jádro práce a implementace byla dokončena včas, všechny části textu byly konzultovány a mé připomínky byly zaneseny.
Není známa, práce však může sloužit jako validační rozhraní pro další práce vyvíjené v rámci výzkumné skupiny EvoAI Hardware.
Studentka aktivně sama literaturu vyhledávala, mimo to pracovala s řadou online přednášek z výzkumného týmu MIT (prof. Sze).
Studentka byla během své práce aktivní, na pravidelných konzultacích prezentovala svůj postup a k nalezeným problémům vždy prezentovala i několik možných variant řešení.
Grade proposed by supervisor: A
Reviewer’s reportIng. Jan Klhůfek
Předložená diplomová práce je po technické a implementační stránce velmi zdařilá. Studentka prokázala schopnost vypořádat se s netriviálními problémy v průběhu řešení komplexního inženýrského úkolu. Vzhledem k velmi kvalitnímu zpracování navrhuji souhrnné hodnocení stupněm A – výborně.
Evaluation level: zadání splněno
Všech sedm bodů zadání bylo splněno. Práce zahrnuje studii, návrh i realizaci akcelerátoru na čipu včetně ověření funkcionality a analýzy výkonnosti různých konfigurací akcelerátoru.
Evaluation level: je v obvyklém rozmezí
Rozsah diplomové práce je v obvyklém rozmezí.
Práce je psána srozumitelně a logicky strukturována do kapitol a podkapitol s přirozenou návazností.
Dílčí připomínky:
Práce je psána v českém jazyce čtivou formou, s několika málo typografickými a jazykovými nedostatky. Vyskytují se ojedinělé překlepy (např. „bitvou šířkou"). Popisky obrázků a tabulek nejsou zakončeny konzistentně (část z nich tečku na konci obsahuje, jiné nikoliv). U obrázku 4.1 je jeden výstupní port chybně označen podruhé jako out_b namísto out_a.
Práce vychází z 29 zdrojů, které jsou s ohledem na praktickou povahu práce dostatečné a vhodně zvolené. Klíčovým zdrojem je mimo jiné článek [25] popisující im2col transformaci přímo v hardwaru, který studentka využila jako základ a dále jej adaptovala pro potřeby hardwarové realizace. Převzaté prvky jsou řádně odlišeny.
Implementace zahrnuje funkční VHDL akcelerátor realizovaný na vývojové desce PYNQ-Z2 (čip XC7Z020), Python kompilátor a sadu testbenchů. Validace je úplná, zahrnuje komponentní i systémové testbenche, referenční implementaci v NumPy a zachycené výsledky z běhu na FPGA. Instrukční sada se shoduje na straně hardwaru i softwaru a zachycený výstup akcelerátoru odpovídá referenčnímu modelu pro všechny vrstvy sítě. Návrh je parametrizovatelný a funkční napříč různými velikostmi systolického pole. Zdrojové soubory jsou detailně okomentovány.
Práce má realizační charakter. Výsledkem je funkční a parametrizovatelný akcelerátor pro inferenci CNN se sadou nástrojů, využitelný jako referenční implementace nebo výchozí bod pro další rozvoj. Díky dostupným naměřeným datům napříč variantami architektury může implementace dále sloužit jako hardwarová platforma pro validaci analytických modelů výkonnosti akcelerátorů neuronových sítí.
Evaluation level: obtížnější zadání
Jednalo se o obtížnější zadání. Práce vyžadovala nastudování problematiky hardwarové akcelerace inference neuronových sítí se zaměřením na systolická pole, návrh a implementaci akcelerátoru ve VHDL na cílovém FPGA a vytvoření softwarového kompilátoru převádějícího architekturu sítě na instrukce a obsah datové paměti akcelerátoru. V průběhu řešení vyvstaly netriviální problémy, které nebylo možné předem plně předvídat – zejména vznik řídkých váhových matic při přímočaré aplikaci im2col transformace. Tento problém studentka vyřešila implementací transformace přímo v hardware. Celkové řešení se ukázalo komplexnější, než může zadání na první pohled naznačovat.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová