Bachelor's Thesis

Design and verification of a specific DMA controller for the RISC-V CPU

Final Thesis 2.54 MB Appendix 602.89 kB

Author of thesis: Jáchym Kutík

Acad. year: 2025/2026

Supervisor: doc. Ing. Lukáš Fujcik, Ph.D.

Reviewer: Ing. Vojtěch Dvořák, Ph.D.

Abstract:

This bachelor’s thesis deals with the design and implementation of a Direct Memory
Access (DMA) controller compliant with the AMBA AHB-Lite bus protocol. The objec-
tive is to develop an efficient hardware module that offloads routine data transfer tasks
from the central processing unit (CPU), thereby increasing overall system throughput.
The DMA controller is designed with support for cycle stealing transfer mode, multi-
channel operation, and store-and-forward (S&F) mechanism. The design is implemented
in SystemVerilog and verified using a UVM-based framework testbench.

Keywords:

DMA, AHB-Lite, SystemVerilog, UVM, Verification, RTL

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student seznámil státní zkušební komisi s řešením své bakalářské práce. Zodpověděl otázky a připomínky oponenta. Dále odpověděl otázky komise:

Language of thesis

English

Faculty

Department

Study programme

Microelectronics and Technology (BPC-MET)

Composition of Committee

doc. Ing. et Ing. Pavel Šteffan, Ph.D. (předseda)
doc. Ing. Vítězslav Novák, Ph.D. (místopředseda)
Ing. Michal Pavlík, Ph.D. (člen)
Ing. Vojtěch Dvořák, Ph.D. (člen)
Ing. Michal Jelínek, Ph.D. (člen)

Supervisor’s report
doc. Ing. Lukáš Fujcik, Ph.D.

Posudek je založen na vyjádření externího konzultanta pana Ing. Jakuba Šťastného, Ph.D. ze společnosti ASICentrum. Se zněním tohoto posudku se plně ztotožňuji. Points proposed by supervisor: 100

Grade proposed by supervisor: A

File inserted by supervisor Size
Posudek vedoucího práce [.pdf] 265,11 kB

Reviewer’s report
Ing. Vojtěch Dvořák, Ph.D.

Student Jáchym Kutík vypracoval bakalářskou práci na téma Návrh a verifikace DMA řadiče pro RISC-V CPU. Cílem práce bylo navrhnout samostatný modul, který bude schopen autonomně provádět přesun dat mezi různými lokacemi v paměti či z paměti do periferie.
Text práce je logicky členěn a reprezentuje postup prací při řešení bakalářské práce. Čtenáři jsou nejprve stručně představeny základní pojmy týkající se této problematiky, následně student provádí analýzu jednotlivých možností a argumentuje, proč kterou možnost zvolil pro řešení práce. Teoretická část práce je zakončena systémovým pohledem, tedy jak bude vlastní DMA řadič zapojen v zamýšleném cílovém systému. Domnívám se, že celá teoretická část by mohla být obsáhlejší a rozšířena o některé stěžejní informace. Například představení sběrnice AHB-lite v teoretickém úvod je věnováno jen jeden a půl strany a chybí informace o jejich signálech či časové průběhy transakcí, přestože tyto informace jsou stěžejní pro další práci.
Praktická část práce začíná stanovením požadavků na DMA řadič, následuje popis architektury a dílčích komponent a představení verifikační strategie včetně detailního popisu testovacích procedur a shrnutí výsledků testů ve formě verifikační matice. K této části práce mám drobnou připomínku. Domnívám se, že samotná specifikace požadavků a detailní popis testů by měl být v příloze a v samotném textu práce jen jejich stručný popis s odkazem do přílohy.
Po odborné stránce je práce na velmi dobré úrovni. Student postupuje systematicky, navržené řešení je promyšlené a řádně ověřené, což je demonstrováno i vysokým pokrytím kódu z verifikačních testů. Přiložené zdrojové kódy jsou přehledné a bohatě okomentovány. Pár připomínek mám k formální stránce práce. Práce je psána v angličtině s minimem překlepů a gramatických chyb, avšak kvalita obrázků je místy horší (např. Obr. 3.1) a tyto obrázky jsou nedostatečně okomentovány v samotném textu.
Z předložené závěrečné práce jsem nabyl dojmu, že zadání práce je bezezbytku splněno a student se v dané problematice dobře orientuje. Zadání práce považuji na nadstandardně obtížné a technické řešení za nadstandardně kvalitní, a i přes drobné formální nedostatky a stručný teoretický úvod navrhuji hodnocení A/98 bodů. Topics for thesis defence:
  1. Jak je zajištěno, že při přenosu dat nedojde k blokaci sběrnice ze strany řadiče DMA, pokud slave neodpoví?
Points proposed by reviewer: 98

Grade proposed by reviewer: A

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