Master's Thesis

Design of external serial NOR FLASH memory controller

Final Thesis 5.12 MB Appendix 6.19 MB

Author of thesis: Bc. Radek Kučera

Acad. year: 2025/2026

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

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

Abstract:

This master's thesis describes the design, implementation, verification, and performance evaluation of a configurable controller for external serial NOR flash memories. The controller is implemented as a synthesizable IP block with an APB configuration interface, an AHB-Lite Execute-in-Place read path, a programmable SPI transaction engine, and a parameterized prefetch/cache subsystem. The thesis analyzes NOR flash technology, SPI/xSPI protocol variants, AMBA-based integration, and cache behavior relevant to instruction fetches from external memory. Verification uses a UVM environment with behavioral flash profiles, protocol monitors, scoreboards, SystemVerilog Assertions, and generated specification-to-verification-item traceability. The performance evaluation combines synthetic access patterns, a QEMU-derived Cortex-M0 CoreMark instruction-fetch trace, and direct Cortex-M0 CoreMark/Dhrystone runs to select candidate XIP cache configurations. The result is a documented controller architecture with traceable verification status, benchmark interpretation, FPGA bring-up evidence, and exploratory PPA interpretation.

Keywords:

NOR flash memory, xSPI, SPI controller, XIP, prefetch, FPGA, Verilog, APB, AHB, JEDEC, AMBA

Date of defence

09.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é diplomové práce a zodpověděl otázky a připomínky oponenta. Dále odpověděl na otázky komise: Otázka: Jsou naměřené výsledky v souladu s teorií Překvapivě ano Připomínky na anglické termíny v slovním projevu

Language of thesis

English

Faculty

Department

Study programme

Microelectronics (MPC-MEL)

Composition of Committee

doc. Ing. Jiří Háze, Ph.D. (předseda)
doc. Ing. Aleš Chvála, Ph.D. (místopředseda)
prof. Ing. et Ing. Fabian Khateb, Ph.D. et Ph.D. (člen)
Ing. Vojtěch Dvořák, Ph.D. (člen)
Ing. Alexandr Otáhal, Ph.D. (člen)
Ing. Jan Brodský, 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. Marka Havla ze společnosti Renesas, které je uvedeno v příloze. Se zněním tohoto posudku se plně ztotožňuji. Points proposed by supervisor: 94

Grade proposed by supervisor: A

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

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

Student Bc. Radek Kučera vypracoval diplomovou práci na téma Návrh řadiče externí sériové NOR FLASH paměti. Cílem práce bylo navrhnout programovatelný IP blok, který bude použitelný pro více profilů sériových FLASH pamětí, a bude podporovat režim XIP (Execute-In-Place) pro čtení instrukcí procesorem.
Práce je logicky členěna na teoretickou a praktickou část. V úvodní teoretické části je čtenář nejprve seznámen se strukturou pamětí FLASH, jsou identifikovány typické parametry rozhraní externích pamětí a stanoveny nejhorší případy jako vstupní požadavky pro návrh samotného řadiče. Závěr teoretického úvodu je věnován teorii cache pamětí jako základ pro implementaci XIP režimu.
Praktická část diplomové práce je velmi obsáhlá a zahrnuje popis řadiče, jeho verifikaci na úrovni simulací a testování v obvodu FPGA včetně benchmarkingu režimu XIP. Popis řadiče byl pojat z pohledu programátora, který bude tento řadič používat v systému. Osobně bych v této kapitole ocenil i více obvodářský pohled, tedy více blokových schémat a popis zapojení dílčích bloků. V kapitole věnující se verifikaci řadiče je popsán celý její postup včetně jednotlivých testů, vyhodnocení výsledků a představena struktura testbenche s využitím metodiky UVM. Studentovi se podařilo ověřit splnění požadavků ve vybraných režimech, avšak plného funkčního pokrytí ani pokrytí kódu nebylo dosaženo. Testování v obvodu bylo provedeno na SoC Zynq-7000 s dvojicí externích FLASH pamětí.
Po formální stránce nemám k textu práce vážnějších připomínek. Práce je psána v anglickém jazyce, s minimem překlepů a gramatických chyb. Text je také vhodně doplněn obrázky a ukázky kódu, což usnadňuje pochopení představené problematiky.
Celkově práci považuji za velmi kvalitní, zadání práce za splněné a navrhuji hodnocené A/99 bodů. Topics for thesis defence:
  1. V čem se liší benchmarky použité v práci? Stručně popište jejich hlavní vlastnosti a teoretické rozdíly.
Points proposed by reviewer: 99

Grade proposed by reviewer: A

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