---
tags: computer-arch
---
# Computer Architecture 2025: Term Project
> :notebook: You must provide the materials and demonstrate to the instructor before ==Jan 20, 2026==
## Deliverables (all in English, public to all)
* A development log and accompanying report
* Complete source code sufficient for full reproduction
* An illustrated video of at least 15 minutes.
* The presentation must use your own recorded voice, without any text-to-speech or voice-generation tools.
* All group members must appear in the final video, and each member's individual contribution must be clearly presented as part of the evaluation.
## Term project listing
> * Send email to `<jserv.tw@gmail.com>` to confirm the details and expectations.
> * Numbers denote the expected sizes of the teams, and you should replace them with your name(s) if you are about to take the task.
> * If you cannot propose a specific topic, the instructor will assign an improvement task related to [MyCPU](https://github.com/sysprog21/ca2025-mycpu) as your final project.
> * Reference: [Terms projects for 2024](https://hackmd.io/@sysprog/arch2024-projects), [Terms projects for 2023](https://hackmd.io/@sysprog/arch2023-projects), [Terms projects for 2022](https://hackmd.io/@sysprog/arch2022-projects), [Terms projects for 2021](https://hackmd.io/@sysprog/arch2021-projects)
| Group | Topic | HackMD note |
|:-------------------------- | ----- | --------------- |
| 邱繼寬 | Fast usermode x86-64 emulator for RISC-V | [box64](https://hackmd.io/@sysprog/ryZfQVCN1l) |
| 張暐俊, 林濤 | Simple Multi-tasking Operating System Kernel | [linmo](https://hackmd.io/@sysprog/r12LeHzWWe) |
| 劉孟劭, 何學禮 | Re-implement [TPU](https://github.com/BaoAh/tpu_project) in Chisel | [tpu](https://hackmd.io/@sysprog/BJxeVPSZZl) |
| 朱丞瀚 | Implement a parameterizable scatter-gather DMA controller for MyCPU | [dma](https://hackmd.io/@sysprog/rJt_7FaZbx) |
| 謝宜宏, 張家瑋, 林佳輝 | Adapt [BNRV](https://github.com/HKUSTGZ-MICS-LYU/BNRV) Accelerator for MyCPU<br>Lightweight BitNet Acceleration on RISC-V via Custom Insturctions<br>[Reference](https://github.com/redoop/riscv-ai-accelerator) | [bnrv](https://hackmd.io/@sysprog/rkPssRpbbx) |
| 吳承晉 | Rework [Raster I](https://github.com/raster-gpu/raster-i) as a compact and efficient GPU in Chisel | [gpu](https://hackmd.io/@sysprog/Hk6hP5wZWl) |
| 林劭恩 | Hardware Generator for JPEG Compression, improving on the [2024 work](https://hackmd.io/@sysprog/rkK8O1fLkg) | [jpeg](https://hackmd.io/@sysprog/SkXaZFvbZx) |
| 陳冠銘 | Matrix Multiplication Accelerator implemented with Chisel.<br>[Reference](https://hackmd.io/@sysprog/BkIuQE0E1g) | [matmul](https://hackmd.io/@sysprog/ryBjm9DWbe) |
| 楊承叡 | Accelerate TinyML Convolution | [accel](https://hackmd.io/@sysprog/SJ50qPjZZl) |
| 楊芷安 | Port xv6-riscv to 32-bit RV32I core<br>[Reference](https://hackmd.io/@sysprog/BJPdjVCNJe) | [xv6](https://hackmd.io/@sysprog/HJlO8trZWx) |
| 陳昶安, 郭瀚文 | Convolutional Neural Network Accelerator implemented in Chisel, improving on the [2024 work](https://hackmd.io/@sysprog/ByIdVr04ye) | [nn-accel](https://hackmd.io/@sysprog/SyyGbH9W-l) |
| 廖國佑, 蘇翊荃 | High-Performance Pipelined AES-GCM Accelerator | [aes](https://hackmd.io/@sysprog/SJQ8oOsZZx) |
| 黃國豪 | Implement "M" and "B" extensions for MyCPU | [ext](https://hackmd.io/@sysprog/rJyWtqOZZl) |
| 江冠緯 | Implement A (atomic) extension for MyCPU | [atomic](https://hackmd.io/@sysprog/HyE7RcuWbl) |
| 陳麒為, 秦沐恩 | Execution visualization for rv32emu, improving on the [2024 work](https://hackmd.io/@sysprog/Syi8MmPrke) | [visualize](https://hackmd.io/@sysprog/H11vkA5-Wl) |
| 簡誌加 | Multi-threading on top of 'Operating System in 1,000 Lines', improving on the [2024 work](https://hackmd.io/@sysprog/BJBqnuPBye) and [another](https://hackmd.io/@sysprog/BkK6FkzPJl) | [threading](https://hackmd.io/@sysprog/BJgswc_--l) |
| 黃彥軒 | Implement Vector extension for rv32emu, improving on the [2024 work](https://hackmd.io/@sysprog/ByZpIYiHJg) and [PR #545](https://github.com/sysprog21/rv32emu/pull/545) | [rvv](https://hackmd.io/@sysprog/S1ZZlKaZZg) |
| 黃柏盛 | Build RISC-V Instruction Set Simulator from scratch, improving on the [2024 work](https://hackmd.io/@sysprog/HyoeCOcr1e) | [simulator](https://hackmd.io/@sysprog/r1Zl-oB-be) |
| 陳沁妤 | Pixel-art scaling Accelerator in Chisel<br>Reference: [2024 work](https://hackmd.io/@sysprog/r1cybDhSye) | [pixel-art](https://hackmd.io/@sysprog/HyEjGq_-bg) |
| 戴仁杰, 吳家豪, 胡竣凱 | Branch prediction for 5-stage pipelined RISC-V, improving on the [2024 work](https://hackmd.io/@sysprog/SJTSoPl8yx) | [branch-predict](https://hackmd.io/@sysprog/B1woKODWZe) |
| 梁菁芸 | Hardware Ray Tracer Datapath, improving on the [2024 work](https://hackmd.io/@sysprog/SyPS6yGIyx) | [raytracer](https://hackmd.io/@sysprog/r1C4-YoWWg) |
| 陳馳原 | Implement sector cache for MyCPU | [sector-cache](https://hackmd.io/@sysprog/ry_OQ1i-Ze) |
| 徐曉汎, 陳婕寧 | Implement cache for MyCPU | [cache](https://hackmd.io/@sysprog/H1rtJ1jbbg) |
| 古孝正 | Implement MMU (Sv32) for MyCPU | [mmu](https://hackmd.io/@sysprog/SyCApAcWWg) |
| 林志祐, 羅彥博 | Heterogeneous Linux and RTOS Software Architecture for RISC-V Cores | [amp](https://hackmd.io/@sysprog/H1KAZ3o--g) |
| 賴韋辰 | Port [Eclipse ThreadX RTOS](https://github.com/eclipse-threadx/threadx) to RV32 and make open source contributions | [threadx](https://hackmd.io/@sysprog/rk15UvnWbe) |
| Van Nguyen Thi Thao, Alexandre Amedro, Ngo Chan Phong | Run FreeRTOS and multitasking on MyCPU<br>[Reference-1](https://hackmd.io/@oscarshiang/freertos_on_riscv), [Reference-2](https://hackmd.io/@chiangkd/FreeRTOS-on-VexRiscv) | [freertos](https://hackmd.io/@sysprog/S1BdQcq--x) |
| 呂金寶 | Custom RISC-V instructions to Accelerate LLM Inference<br>[Reference](https://hackmd.io/@sysprog/Bym6n6X8kx) | [custom-simd](https://hackmd.io/@sysprog/BySEI9BW-e) |
| 王崇恩 | Custom MyCPU Instructions for Offloading Transformer Non-Linear Operations | [offload](https://hackmd.io/@sysprog/H1z3SDjZbx) |
| 呂文隆 | Contribute to Ripes: pick up pending issues, work on them, and finally send pull request(s) for reviewing.<br>[Reference](https://hackmd.io/@NeedSleep/CA_Final) | [ripes](https://hackmd.io/@sysprog/BJfO-cB-Ze) |
| 周安 | Optimize QR code generation programs for MyCPU<br>[Reference](https://hackmd.io/@KXkA4u0LQuyNTwOorDw2RA/Skg-yOGua) | [qrcode](https://hackmd.io/@sysprog/SyCpcKBZ-x) |
| 黃政毅, 謝易叡 | Implement Doom-like game and optimize for MyCPU | [raycast](https://hackmd.io/@sysprog/B13jG4pWbl) |
| 賴莨橙, 陳彥伯 | Run [DOOM](https://github.com/sysprog21/rv32emu/blob/master/docs/demo.md) on MyCPU | [doom](https://hackmd.io/@sysprog/HyLF9Ea-Zx) |
| 黃育笙 | Implement minimalist window system (like [Mado](https://github.com/sysprog21/mado)) for MyCPU, consolidting display and input peripherals | [winsys](https://hackmd.io/@sysprog/SJQfgwjb-l) |
| 劉冠頡, 鄭宇峻 | Port non-trivial games (such as [trex](https://github.com/jserv/trex) and [auto-tetris](https://github.com/jserv/auto-tetris)) to MyCPU | [games](https://hackmd.io/@sysprog/ryFsl25bbl) |
| 王鼎森 | [Bad Apple](https://github.com/cnlohr/badderapple) challenge: smaller footprint on MyCPU for both video and audio | [badapple](https://hackmd.io/@sysprog/SkNhGiiWZl) |
| 邱昱晴 | GEMM Acceleration on a Custom RISC-V SIMD Extension | [gemm](https://hackmd.io/@sysprog/H1SOcZ3WZg) |
| 唐萱, 萬宸維 | Web-based RISC-V Instruction Set Simulation and Debugger | [web](https://hackmd.io/@sysprog/S1t4EjCZ-e) |
| 黃薇庭 | Evaluate Zephyr RTOS on [WB2-12F development board](https://docs.zephyrproject.org/latest/boards/aithinker/ai_wb2_12f/doc/index.html) | ? |
| 2+ | Improve out-of-order superscalar RISC-V core<br>Reference: [rsd](https://github.com/rsd-devel/rsd), [LOROF](https://github.com/zlagpacan/LOROF), [Qu](https://github.com/kagandikmen/Qu) | ? |
| 2+ | Consolidate superscalar RISC-V processor, capable of running Linux kernel<br>[Reference](https://github.com/LoveLonelyTime/Bergamot) | ? |
| 2+ | Rework [Coral NPU](https://github.com/google-coral/coralnpu) as standalone RV32IMF_Zve32x RISC-V core | ? |
| 1 | Build a hardware-accelerated [MIDI synthesiser](https://github.com/sysprog21/picosynth) for MyCPU | ? |
| 1+ | Refine system emulation for rv32emu, improving on the [2024 work](https://hackmd.io/@sysprog/rkiothUSJl) | ? |
| 2+ | Implement RV32F/RV32D, improving on the [2024 work](https://hackmd.io/@sysprog/HkkE0ueL1x) | ? |
| 1 | Annotate Quiz 1 to Quiz 4 | ? |
| 1 | Annotate Quiz 5 to 7, consolidating the concurrent programs and minimal OS kernel described in problem set | ? |
| 1 | Refine subtitles for all video recordings included in the lecture materials | ? |