Bachelor's Thesis

Support for compressor-based multipliers in the ArithsGen arithmetic circuit generator

Final Thesis 4.74 MB

Author of thesis: Bc. Andrej Mikuš

Acad. year: 2025/2026

Supervisor: Ing. Jan Klhůfek

Reviewer: doc. Ing. Vojtěch Mrázek, Ph.D.

Abstract:

This thesis focuses on the design and analysis of approximate multipliers using compressors for partial product matrix reduction. The main objective of the thesis was to implement approximate compressor-based multipliers in the ArithsGen tool. In addition to baseline architectures adopted from the literature, new variants based on modified allocation of approximate compressors are proposed. The implemented circuits were generated in Verilog, synthesized, and subsequently evaluated in terms of hardware characteristics, performance parameters, and error metrics.

Keywords:

aproximate circuits, compressor multipliers, compressor trees, error-tolerant computing, hardware efficiency

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl 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í studenta na položené otázky rozhodla práci hodnotit stupněm C.

Topics for thesis defence

  1. Je možné škálovat získané násobičky i pro větší bitovou šířku?
  2. Jaké jste během práce identifikoval slabiny knihovny ArithsGen? Jaká další rozšíření či úpravy doporučujete?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Lukáš Sekanina, Ph.D. (předseda)
doc. Ing. Ondřej Lengál, Ph.D. (místopředseda)
Ing. Marta Jaroš, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. Tomáš Milet, Ph.D. (člen)

Supervisor’s report
Ing. Jan Klhůfek

Student z mého pohledu své zadání splnil, navržené implementace fungují, což dokazuje i jejich srovnání s obvody z knihovny EvoApproxLib. I přes dokončování práce na poslední chvíli, což oslabilo některé její části, jsem byl se studentovou aktivitou spokojený a proto navrhuji souhrnné hodnocení stupněm  C - dobře.

Evaluation criteria Verbal classification
Information about assignment

Zadání hodnotím jako průměrně obtížné. Cílem bakalářské práce bylo nastudovat a implementovat existující obvody násobiček využívající kompresory do prostředí generátoru aritmetických obvodů ArithsGen. Student tyto obvody úspěšně integroval do prostředí nástroje a navrhl vlastní úpravy pro generování nových variant obvodů. Hlavní cíl práce se dle mého úsudku podařil splnit.

Work with literature

Student si nejprve nastudoval dodanou literaturu a nadále byl schopen si sám aktivně dohledat další důležité zdroje.

Activity during solution, consultations, communication

Student po celou dobu práce aktivně komunikoval, na domluvené konzultace se vždy dostavil a jakékoliv nejasnosti se mnou řešil. Menší útlum v aktivitě nastal během dubna, kdy se patrně nakupilo více povinností. Celkově však studentův přístup hodnotím kladně.

Activity during completion

Práce byla dokončována na poslední chvíli, měl jsem však možnost vznést připomínky, které student zohlednil a zapracoval. Některé části by se dalo posílit, přesto se domnívám, že finální stav práce je dostatečně ucelený.

Publication activity, awards

Není známa, navržená řešení však mohou posloužit pro další výzkum v oblasti aproximačních obvodů.

Points proposed by supervisor: 75

Grade proposed by supervisor: C

Autor ve své práci úspěšně navrhl sadu kompresorových násobiček a tyto násobičky vyhodnotil. Tato sada je využitelná a vytváří základ pro další práci. Proto i přes mírné nedostatky v oblasti prezentační úrovně práce, kvality vyhodnocení výsledků a zejména rešeršní části bodu zadání 1 navrhuji souhrnné hodnocení stupněm D - uspokojivě.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání hodnotím jako průměrně obtížné, jelikož se jedná o nastudování existujících implementací z literatury a jejich reimplementace v knihovně ArithsGen.

Presentation level of the technical report

Organizace textu práce by mohla být lepší. Ve druhé kapitole zaměřující se na přesné násobičky autor představuje i aproximované varianty (např. broken-array multiplier), přičemž vlastní technika aproximace je definována až v následující kapitole. V kapitole 3 vlastní dělení podtémat není přehledné a dobře strukturované. Podobně při vyhodnocení výsledků chybí specifikace metodologie získání výsledků.

58
Formal preparation of a technical report

Po jazykové stránce je technická zpráva v pořádku. Objevují se mírné typografické chyby např. při vytváření grafů, kde dochází k překryvům (např. 6.3) či ztrátě přehlednosti (např. 6.1).

70
Realisation output

Samotný výstup a realizace kompresorových násobiček je dobrá a autor splnil vše, co bylo zadáním definováno. Tyto obvody jsou jednoduše použitelné a mohly by sloužit jako základ dalších výzkumných prací.

Vyhodnocení je provedeno na 8bitových násobičkách. Metodologicky je provedeno správně, pouze autor mohl lépe popsat, jak se výsledky získaly. Stejně tak i analýza získaných řešení mohla být lepší. To, že se v závěru ukazuje, že v rámci zkoumaných metrik jsou obvody horší než jiná řešení z knihovny EvoApproxLib (obr. 6.4) nepovažuji vůbec za problém, ale naopak jeden z klíčových výsledků práce.

Jako nevyužitý potenciál vidím však to, že autor nezkusil škálovat výsledky na větší bitovou šířku. Samozřejmě argument s problémem plné evaluace chyby (232 kombinací pro 16bitovou násobičku) je relevantní, ale s využitím jiných technik evaluace (např. Monte-Carlo) mohl vyjít zajímavý výsledek. Samotné navržené předpisy pro generování toto škálování umožňují, pouze to nebylo vyhodnoceno.

75
Usability of results

Tato práce vytváří knihovnu existujících implementací kompresorových aproximačních násobiček, které mohou sloužit jako referenční implementace pro porovnávání či jako startovací bod pro další optimalizace ve výzkumu v oblasti approximate computing.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled with minor reservations

Student nastudoval existující implementace aproximačních kompresorových násobiček, ty implementoval a vyhodnotil. Z mého pohledu však bod 1 zadání byl v textu vynechán, jelikož textová část neobsahuje žádnou rešerši na toto téma. Student však pro implementaci musel tato témata nastudovat a evidentně je nastudoval, jelikož je jeho realizační výstup v pořádku.

Druhým drobným nedostatkem je to, že nedošlo k žádnému rozšíření knihovny ArithsGen z pohledu jejího jádra (s cílem identifikovat jeho omezení, zvýšení robustnosti nástroje atd, jak je v bodu 4).

Z mého pohledu však student rozšířil tuto knihovnu o podporu kompresorových násobiček (byť samotnou knihovnu nevylepšil), a proto mohu konstatovat, že zadání bylo splněno s drobnými výhradami.

Extent of the technical report

Evaluation level: is within the usual extent

Work with literature

Autor ve své práci vychází z 28 relevantních zdrojů, převážně konferenčních a časopiseckých vědeckých publikací. Literatura je řádně odkazována.

90
Topics for thesis defence:
  1. Je možné škálovat získané násobičky i pro větší bitovou šířku?
  2. Jaké jste během práce identifikoval slabiny knihovny ArithsGen? Jaká další rozšíření či úpravy doporučujete?
Points proposed by reviewer: 62

Grade proposed by reviewer: D

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