Master's Thesis

Návrh akcelerátoru konvolučních sítí

Final Thesis 1.56 MB

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

Abstract:

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.

Keywords:

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)

znamkaAznamka

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

  1. Akcelerátor využívá přibližně 27 % LUT prostředků FPGA s rezervou pro možná rozšíření funkcionality. Jak složité by bylo rozšířit stávající návrh o podporu více systolických polí pracujících paralelně (např. pro souběžné zpracování více hlav vícehlavé pozornosti v transformerech)?
  2. Systolické pole je navrženo jako output-stationary, přičemž volba datového toku přímo ovlivňuje paměťové nároky a výkon. Je stávající datový tok pevně daný architekturou procesního prvku, nebo by bylo možné stávající návrh rozšířit o podporu jiných datových toků (weight-stationary, input-stationary) pro srovnávací analýzu? Co by taková úprava obnášela?
  3. Jaká je výkonnost vytvořené sítě?
  4. Srovnávala jste řešení se softwarovým řešením?
  5.  

Language of thesis

Czech

Faculty

Department

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 report
doc. 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ě.

Evaluation criteria Verbal classification
Informace k zadání

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í.

Aktivita při dokončová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.

Publikační činnost, ocenění

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.

Práce s literaturou

Studentka aktivně sama literaturu vyhledávala, mimo to pracovala s řadou online přednášek z výzkumného týmu MIT (prof. Sze).

Aktivita během řešení, konzultace, komunikace

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í.

Points proposed by supervisor: 92

Grade proposed by supervisor: A

Reviewer’s report
Ing. 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 criteria Verbal classification Points
Rozsah splnění požadavků zadání

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.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah diplomové práce je v obvyklém rozmezí. 

Prezentační úroveň technické zprávy

Práce je psána srozumitelně a logicky strukturována do kapitol a podkapitol s přirozenou návazností.

Dílčí připomínky:

  • zkratky MAC a BRAM jsou použity před svou první definicí (MAC v sekci 2.5.1, definice až v 3.1.1; BRAM v sekci 5.2, definice až v 5.3.1)
  • v sekci 8.3 je využita Pareto fronta (obr. 8.5) bez vysvětlení principu Paretovy dominance a čtenář tak bez předchozí znalosti nemá oporu pro interpretaci grafu
  • nekonzistentní označení vrstvy v sekci 2.4 (F5 v nadpisu, C5 v textu)
90
Formální úprava technické zprávy

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.

85
Práce s literaturou

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.

100
Realizační výstup

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.

100
Využitelnost výsledků

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í.

Náročnost zadání

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.

Topics for thesis defence:
  1. Akcelerátor využívá přibližně 27 % LUT prostředků FPGA s rezervou pro možná rozšíření funkcionality. Jak složité by bylo rozšířit stávající návrh o podporu více systolických polí pracujících paralelně (např. pro souběžné zpracování více hlav vícehlavé pozornosti v transformerech)?
  2. Systolické pole je navrženo jako output-stationary, přičemž volba datového toku přímo ovlivňuje paměťové nároky a výkon. Je stávající datový tok pevně daný architekturou procesního prvku, nebo by bylo možné stávající návrh rozšířit o podporu jiných datových toků (weight-stationary, input-stationary) pro srovnávací analýzu? Co by taková úprava obnášela?
Points proposed by reviewer: 94

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová