--- 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 | ? |