Skip to content
View T410N's full-sized avatar

Organizations

@RISC-KC @Piveline

Block or report T410N

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
T410N/README.md

Hi, I'm Hyunwoo Kang πŸ‘‹

I design and evaluate RISC-V soft processors, from instruction-level datapaths to FPGA-based SoCs and RTOS execution.

My main interest is not only making a processor "work," but understanding why each microarchitectural choice changes timing, resource usage, and software behavior.

"μ •λ³΄λŠ” 경쟁λ ₯μ΄μ§€λ§Œ, ν•„μš”ν•΄ μ°Ύμ•„μ˜¨ μ΄λ“€μ—κ²Œ 값을 λ§€κ²¨μ„œλŠ” μ•ˆ λœλ‹€."


πŸ† Milestones

Year Achievement
2025 πŸ“„ ISOCC 2025 β€” "BASIC_RV32s: An Open-Source Microarchitectural Roadmap for RISC-V RV32I" (Oral Presentation, IEEE Xplore)
2025 🌟 Listed in the official riscv/learn repository as an advanced learning resource
2025 🎯 Achieved 1.09 DMIPS/MHz @ 50 MHz with 5-stage RV32I pipeline
2026 ⚑ Scaled to 100 MHz with 8-stage pipeline, RV64IM extension
2026 πŸ–₯️ Successfully ported FreeRTOS to custom RV64 SoC with HDMI & keyboard

🧠 What I Work On

RISC-V CPU Microarchitecture

  • RV32I / RV32IM / RV64I / RV64IM soft processor design
  • 5-stage to deeper 6/7/8-stage pipeline exploration
  • Hazard detection, forwarding, branch prediction, trap/exception handling
  • Machine-mode CSR implementation for bare-metal and RTOS support
  • Multiplier/divider integration and RV64 word-operation behavior

FPGA SoC Design

  • FPGA implementation using Vivado on Artix-7 XC7A200T (Digilent Nexys Video)
  • UART-based MMIO, instruction/data memory organization, timer interrupt logic
  • Timing closure experiments across different pipeline depths and clock targets
  • Practical debugging with simulation, waveform analysis, synthesis, and implementation reports

Embedded RTOS on Custom RISC-V Cores

  • FreeRTOS porting on custom RV32/RV64 soft processors
  • CLINT-style timer interrupt support (64-bit unified mtime/mtimecmp)
  • Context-switch path, trap-frame handling, and scheduler behavior analysis
  • RTOS latency benchmarking using Rhealstone-inspired microbenchmarks

Performance Evaluation

  • Dhrystone and CoreMark benchmarking on FPGA
  • DMIPS/MHz and CoreMark/MHz efficiency analysis
  • Resource and power comparison between RV32 and RV64 SoC configurations
  • Throughput vs. frequency vs. pipeline-depth trade-off studies

πŸš€ Featured Projects

A custom RISC-V soft processor project focused on running FreeRTOS on deeper pipelined RV32/RV64 cores, developed as a 5-person team at Sangmyung University.

Key topics:

  • 8-stage RISC-V pipeline with HDMI and keyboard peripherals
  • RV32 vs. RV64 RTOS behavior comparison
  • Machine-mode trap and interrupt handling
  • FreeRTOS context switching on custom hardware
  • Rhealstone-style latency evaluation

An open-source RISC-V processor design series for learning, experimentation, and reproducible microarchitectural evaluation. Built on two core projects:

  • basic_RV32s β€” A step-by-step RV32I processor roadmap from single-cycle to 5-stage pipeline with hazard forwarding, dynamic branch prediction, and exception handling. Achieved 1.09 DMIPS/MHz @ 50 MHz on Artix-7. Listed in the official riscv/learn repository and published at ISOCC 2025.
  • IMA_make_RV64 β€” Extension of basic_RV32S to RV64IM with deeper 6/7/8-stage pipelines targeting 100 MHz. Covers M-extension integration, 64-bit datapath conversion, synchronous BRAM-compatible memory design, and multi-level forwarding across extended pipeline stages.

Key topics:

  • Incremental processor design (single-cycle β†’ multi-cycle β†’ 5-stage β†’ 6/7/8-stage pipeline)
  • RV32I β†’ RV32IM β†’ RV64IM ISA extension scaling
  • FPGA timing closure, BRAM inference, and resource analysis
  • Bare-metal firmware and benchmark execution (Dhrystone, CoreMark)

A microarchitectural study on RISC-V ISA extension, datapath width, and pipeline depth trade-offs in FPGA-based soft processors β€” covering 10 variants targeting 100 MHz.

Key topics:

  • RV32I β†’ RV32IM β†’ RV64IM evolution across 5- to 8-stage pipelines
  • Pipeline depth scaling and timing closure methodology
  • Performance, resource, and power trade-off analysis
  • Dhrystone/CoreMark-based evaluation

πŸ› οΈ Tools & Technologies

RISC-V Verilog Vivado FreeRTOS C Ubuntu


🧩 Representative Research Themes

RISC-V ISA extension       RV32I β†’ RV32IM β†’ RV64IM
Pipeline scaling           5-stage β†’ 6-stage β†’ 7-stage β†’ 8-stage
FPGA implementation        Timing closure, BRAM inference, resource analysis
RTOS support               CLINT timer, trap handling, context switching
Benchmarking               Dhrystone, CoreMark, Rhealstone-style latency tests

🌱 Background

Started as a high school student who loved building computers β€” founded ν˜„μš°μ˜ 컴퓨터 곡방, a community that grew to ~1,300 members. That curiosity about hardware led to a deeper question: "Why doesn't Korea have its own CPU?"

Studied CPU architecture during military service, built my first RISC-V processor before discharge, and presented at ISOCC 2025 weeks after. Haven't stopped scaling since β€” from a 5-stage RV32I @ 50 MHz to an 8-stage RV64IM @ 100 MHz with FreeRTOS running on top.

Long-term goal: Founding a Korean General Purpose Processor design company.


πŸ“« Contact

Pinned Loading

  1. RISC-KC/basic_rv32s RISC-KC/basic_rv32s Public

    πŸŽ“ Instructional RISC-V processor design framework: single-cycle to 5-stage pipeline with FPGA verification and complete learning guidelines! A RISC-V CPU design guideline.

    Verilog 72 7

  2. RISC-KC/ima_make_rv64 RISC-KC/ima_make_rv64 Public

    I'ma make rv64 cpu.

    Verilog 3

  3. RV-IM100 RV-IM100 Public

    Design guidelines and performance analysis for 10 RISC-V 5- to 8-stage pipeline variants based on basic_RV32S and IMA_make_RV64, covering ISA extension scaling, pipeline-depth sweep, and 100 MHz(12…

    Verilog 3

  4. Piveline/rv-rtos8 Piveline/rv-rtos8 Public

    FreeRTOS porting on 8-stage pipelined RISC-V CPU with HDMI and keyboards

    Verilog 4